
/* SLIM WEB — Трошково Светлое */
.ts-home{
  --ts-bg:#f5f7f3;
  --ts-card:#ffffff;
  --ts-text:#132019;
  --ts-muted:#66736c;
  --ts-accent:#2e6b46;
  --ts-accent2:#dcebdd;
  --ts-line:#dce4dd;
  color:var(--ts-text);
}
.ts-home a{text-underline-offset:3px}
.ts-hero{
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 28px 70px rgba(24,42,30,.18);
  margin-top:18px;
}
.ts-hero .wp-block-cover__background{
  background:linear-gradient(90deg,rgba(7,21,13,.78),rgba(7,21,13,.36) 56%,rgba(7,21,13,.18))!important;
}
.ts-hero-copy{
  max-width:690px!important;
  margin-left:0!important;
  margin-right:auto!important;
  padding:44px 30px;
}
.ts-eyebrow{
  margin:0 0 14px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.16em;
  color:#dcebdc;
}
.ts-title{
  margin:0 0 16px!important;
  font-size:clamp(3rem,7vw,5.8rem)!important;
  line-height:.95!important;
  letter-spacing:-.055em;
  color:#fff!important;
}
.ts-subtitle{
  max-width:620px;
  margin:0 0 26px!important;
  font-size:clamp(1.05rem,2vw,1.35rem);
  line-height:1.55;
  color:#eef7f0!important;
}
.ts-primary-button .wp-block-button__link{
  border-radius:999px;
  padding:14px 22px;
  background:#fff!important;
  color:#193322!important;
  font-weight:800;
}
.ts-intro,.ts-services,.ts-bottom-note{
  margin-top:64px!important;
  margin-bottom:0!important;
}
.ts-intro{
  padding:30px;
  border:1px solid var(--ts-line);
  border-radius:22px;
  background:var(--ts-bg);
}
.ts-intro h2,.ts-services>h2,.ts-bottom-note h2{
  margin-top:0!important;
  letter-spacing:-.035em;
}
.ts-chips{
  gap:10px!important;
  margin:20px 0 28px!important;
}
.ts-chips p{margin:0!important}
.ts-chips a{
  display:inline-block;
  padding:9px 13px;
  border:1px solid var(--ts-line);
  border-radius:999px;
  background:#fff;
  color:#284334;
  font-size:.9rem;
  font-weight:700;
  text-decoration:none;
}
.ts-chips a:hover{border-color:#7ea98a;background:#f5faf6}
.ts-services-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.ts-service-category{
  padding:22px!important;
  border:1px solid var(--ts-line);
  border-radius:24px;
  background:var(--ts-card);
  box-shadow:0 10px 28px rgba(25,50,34,.06);
}
.ts-icon{
  margin:0 0 10px!important;
  font-size:2rem;
}
.ts-service-category h3{
  margin:0 0 8px!important;
  font-size:1.35rem;
  letter-spacing:-.025em;
}
.ts-category-desc{
  min-height:70px;
  margin:0 0 18px!important;
  color:var(--ts-muted);
  font-size:.94rem;
}
.ts-contact-card{
  margin-top:12px!important;
  padding:15px!important;
  border:1px solid var(--ts-line);
  border-radius:17px;
  background:#f8faf8;
}
.ts-contact-card h4{
  margin:0 0 6px!important;
  font-size:1rem;
}
.ts-contact-card p{
  margin:5px 0!important;
  font-size:.88rem;
  line-height:1.45;
}
.ts-contact-name{font-weight:800}
.ts-phone{color:var(--ts-accent);font-weight:800}
.ts-note{color:var(--ts-muted);font-size:.8rem!important}
.ts-bottom-note{
  padding:30px!important;
  border-radius:24px;
  background:#173924;
  color:#fff;
}
.ts-bottom-note p{color:#d8eadf}
@media (max-width:1050px){
  .ts-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .ts-hero{border-radius:20px;min-height:480px!important}
  .ts-hero-copy{padding:32px 20px}
  .ts-title{font-size:clamp(2.8rem,15vw,4.5rem)!important}
  .ts-services-grid{grid-template-columns:1fr}
  .ts-category-desc{min-height:0}
  .ts-intro,.ts-services,.ts-bottom-note{margin-top:42px!important}
}


/* Astra / обычная тема: убираем служебный заголовок страницы
   и даём нашей странице нормальную ширину. */
body.slim-ts-layout .entry-header,
body.slim-ts-layout .entry-title,
body.slim-ts-layout .page-title {
  display:none!important;
}

body.slim-ts-layout .site-content .ast-container,
body.slim-ts-layout .site-content > .ast-container {
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
  display:block!important;
}

body.slim-ts-layout .content-area,
body.slim-ts-layout .site-main,
body.slim-ts-layout article.page,
body.slim-ts-layout .entry-content {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

body.slim-ts-layout .ts-home {
  padding:28px 24px 72px;
}

body.slim-ts-layout .ts-hero {
  margin-top:0!important;
}

@media (max-width:700px){
  body.slim-ts-layout .ts-home {
    padding:18px 14px 54px;
  }
}


/* ===== Версия 1.2: более спокойная сетка и чистый футер ===== */

/* Контент держим широким, но не растягиваем на весь монитор. */
body.slim-ts-layout .ts-home{
  width:100%;
  max-width:none;
  padding:34px 28px 72px;
}
body.slim-ts-layout .ts-home > .wp-block-cover,
body.slim-ts-layout .ts-home > .wp-block-group,
body.slim-ts-layout .ts-services,
body.slim-ts-layout .ts-intro,
body.slim-ts-layout .ts-bottom-note{
  width:min(1320px,100%)!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* На широком экране категории теперь в 2 колонки, а не в 3:
   карточкам контактов становится заметно просторнее. */
.ts-services-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
}

/* Внутри одной услуги два контакта идут рядом. */
.ts-service-category{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:12px;
  row-gap:0;
  align-content:start;
  padding:24px!important;
}
.ts-service-category > .ts-icon,
.ts-service-category > h3,
.ts-service-category > .ts-category-desc{
  grid-column:1 / -1;
}
.ts-category-desc{
  min-height:0!important;
  margin-bottom:14px!important;
}
.ts-contact-card{
  height:100%;
  margin-top:0!important;
}

/* Убираем стандартный футер Astra на нашей странице. */
body.slim-ts-layout .site-footer,
body.slim-ts-layout #colophon,
body.slim-ts-layout .ast-small-footer,
body.slim-ts-layout .site-below-footer-wrap,
body.slim-ts-layout .site-primary-footer-wrap,
body.slim-ts-layout .site-above-footer-wrap{
  display:none!important;
}

/* Наш минимальный футер. */
.slim-ts-footer{
  margin-top:0;
  border-top:1px solid #dbe4dc;
  background:#f7faf7;
  color:#46564c;
}
.slim-ts-footer__inner{
  width:min(1320px,calc(100% - 56px));
  margin:0 auto;
  padding:30px 0 34px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}
.slim-ts-footer__title{
  color:#18291f;
  font-size:1rem;
  font-weight:800;
}
.slim-ts-footer__text{
  margin-top:4px;
  font-size:.82rem;
  color:#7a877f;
}
.slim-ts-footer__developer{
  font-size:.82rem;
  white-space:nowrap;
}
.slim-ts-footer__developer a{
  color:#23613b;
  font-weight:800;
  text-decoration:none;
}
.slim-ts-footer__developer a:hover{
  text-decoration:underline;
}

/* Немного уменьшаем "воздух" между крупными разделами. */
.ts-intro,.ts-services,.ts-bottom-note{
  margin-top:48px!important;
}
.ts-bottom-note{
  margin-bottom:0!important;
}

@media (max-width:980px){
  .ts-services-grid{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:640px){
  body.slim-ts-layout .ts-home{
    padding:18px 14px 50px;
  }
  .ts-service-category{
    grid-template-columns:1fr;
  }
  .ts-service-category > *{
    grid-column:1!important;
  }
  .ts-contact-card + .ts-contact-card{
    margin-top:12px!important;
  }
  .slim-ts-footer__inner{
    width:calc(100% - 28px);
    padding:24px 0 28px;
    display:block;
  }
  .slim-ts-footer__developer{
    margin-top:14px;
    white-space:normal;
  }
}


/* ===== Версия 1.3: широкий макет 1600px + чистая сетка специалистов ===== */

:root{
  --slim-ts-max:1600px;
}

/* Убираем ограничения Twenty Twenty-Five / block themes на нашей странице */
body.slim-ts-layout .wp-site-blocks,
body.slim-ts-layout main,
body.slim-ts-layout .wp-block-post-content,
body.slim-ts-layout .entry-content,
body.slim-ts-layout .site-main,
body.slim-ts-layout article.page{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

body.slim-ts-layout main,
body.slim-ts-layout .wp-block-post-content{
  padding-left:0!important;
  padding-right:0!important;
}

/* Основной рабочий контейнер сайта — до 1600px */
body.slim-ts-layout .ts-home{
  width:min(var(--slim-ts-max), calc(100% - 48px))!important;
  max-width:var(--slim-ts-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:32px 0 72px!important;
}

body.slim-ts-layout .ts-home > .wp-block-cover,
body.slim-ts-layout .ts-home > .wp-block-group,
body.slim-ts-layout .ts-services,
body.slim-ts-layout .ts-intro,
body.slim-ts-layout .ts-bottom-note{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Список услуг — одна линия на больших экранах */
.ts-chips{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  padding-bottom:5px;
}
.ts-chips p{
  flex:0 0 auto;
}
.ts-chips a{
  white-space:nowrap;
  padding:8px 11px;
  font-size:.84rem;
}

/* Каждая услуга — отдельная широкая секция, не узкая карточка */
.ts-services-grid{
  display:block!important;
}
.ts-service-category{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(235px,1fr))!important;
  gap:14px!important;
  width:100%!important;
  margin:0 0 22px!important;
  padding:26px!important;
  border-radius:24px;
}
.ts-service-category > .ts-icon,
.ts-service-category > h3,
.ts-service-category > .ts-category-desc{
  grid-column:1 / -1!important;
}
.ts-service-category > .ts-icon{
  margin-bottom:0!important;
}
.ts-service-category > h3{
  margin-top:-4px!important;
}
.ts-service-category > .ts-category-desc{
  max-width:900px;
  margin-bottom:6px!important;
}

/* Карточка специалиста — одинаковая высота и аккуратная структура */
.ts-contact-card{
  min-width:0;
  height:100%;
  padding:16px!important;
  border-radius:16px;
  background:#f8faf8;
  box-shadow:none!important;
}
.ts-contact-card h4{
  margin-bottom:8px!important;
}
.ts-contact-card p{
  overflow-wrap:anywhere;
}

/* При ширине около 1600px обычно помещается 5 карточек,
   чуть уже — 4, затем 3/2/1 без некрасивых переносов. */
@media (min-width:1450px){
  .ts-service-category{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}
@media (min-width:1180px) and (max-width:1449px){
  .ts-service-category{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media (min-width:850px) and (max-width:1179px){
  .ts-service-category{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (min-width:620px) and (max-width:849px){
  .ts-service-category{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Полностью убираем стандартный footer активной темы (включая Twenty Twenty-Five). */
body.slim-ts-layout footer:not(.slim-ts-footer),
body.slim-ts-layout footer.wp-block-template-part,
body.slim-ts-layout .wp-site-blocks > footer,
body.slim-ts-layout .site-footer,
body.slim-ts-layout #colophon{
  display:none!important;
}

/* Наш футер остаётся и тоже работает в ширине 1600px. */
body.slim-ts-layout .slim-ts-footer{
  display:block!important;
}
.slim-ts-footer__inner{
  width:min(var(--slim-ts-max), calc(100% - 48px))!important;
  max-width:var(--slim-ts-max)!important;
}

/* Чуть чище вертикальный ритм */
.ts-intro,.ts-services,.ts-bottom-note{
  margin-top:42px!important;
}
.ts-service-category:last-child{
  margin-bottom:0!important;
}

@media (max-width:619px){
  body.slim-ts-layout .ts-home{
    width:calc(100% - 28px)!important;
    padding:18px 0 50px!important;
  }
  .ts-service-category{
    grid-template-columns:1fr!important;
    padding:20px!important;
  }
  .slim-ts-footer__inner{
    width:calc(100% - 28px)!important;
  }
}


/* ===== Версия 1.4: исправление Gutenberg constrained layout ===== */

/* Gutenberg ограничивал внутреннюю секцию услуг по ширине.
   Явно снимаем ограничение для всех вложенных блоков этой секции. */
body.slim-ts-layout .ts-services,
body.slim-ts-layout .ts-services > *,
body.slim-ts-layout .ts-services .ts-services-grid,
body.slim-ts-layout .ts-services .ts-chips {
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

body.slim-ts-layout .ts-services > h2{
  width:100%!important;
  max-width:none!important;
}

/* Категории услуг идут на всю ширину рабочей области. */
.ts-services-grid{
  width:100%!important;
  max-width:none!important;
  display:block!important;
}

.ts-service-category{
  width:100%!important;
  max-width:none!important;
  margin:0 0 22px!important;
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr))!important;
  gap:14px!important;
}

/* Заголовок категории всегда над карточками специалистов. */
.ts-service-category > .ts-icon,
.ts-service-category > h3,
.ts-service-category > .ts-category-desc{
  grid-column:1 / -1!important;
}

/* Карточки равномерно используют доступное место.
   Если сейчас 2 контакта — они становятся широкими.
   Если добавить 4–5 — они автоматически выстроятся в ряд. */
.ts-contact-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}

/* Список услуг сверху — одна линия, без некрасивого переноса. */
.ts-chips{
  justify-content:flex-start!important;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.ts-chips::-webkit-scrollbar{display:none}
.ts-chips p{flex:0 0 auto!important}

@media (max-width:1100px){
  .ts-service-category{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  }
}

@media (max-width:600px){
  .ts-service-category{
    grid-template-columns:1fr!important;
  }
}


/* ===== Версия 1.5: чистая главная + полезные ссылки ===== */

/* Сайт начинается сразу с обложки: скрываем шапку активной темы только на этой странице. */
body.slim-ts-layout .wp-site-blocks > header,
body.slim-ts-layout header.wp-block-template-part,
body.slim-ts-layout header.site-header,
body.slim-ts-layout #masthead,
body.slim-ts-layout .site-header{
  display:none!important;
}

body.slim-ts-layout .wp-site-blocks{
  padding-top:0!important;
}

/* Старый блок "Есть хороший специалист?" не показываем даже до миграции контента. */
body.slim-ts-layout .ts-bottom-note{
  display:none!important;
}

/* Полезные ссылки */
.ts-resources{
  width:100%!important;
  max-width:none!important;
  margin-top:34px!important;
}

.ts-resources > *,
.ts-land-resources > *{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

.ts-resources > h2,
.ts-land-resources > h2{
  margin-bottom:8px!important;
  font-size:clamp(1.65rem,2.3vw,2.25rem);
  letter-spacing:-.035em;
}

.ts-section-lead{
  max-width:980px!important;
  margin-top:0!important;
  margin-bottom:22px!important;
  color:#66736c;
  font-size:1rem;
  line-height:1.6;
}

.ts-resource-grid{
  display:grid!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
}

.ts-resource-grid-main{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.ts-resource-grid-land{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.ts-resource-card{
  display:flex!important;
  flex-direction:column;
  min-width:0;
  min-height:190px;
  padding:20px!important;
  border:1px solid #dce4dd;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 22px rgba(25,50,34,.045);
}

.ts-resource-card-wide{
  grid-column:span 2;
}

.ts-resource-card h3{
  margin:6px 0 8px!important;
  font-size:1.12rem;
  line-height:1.28;
  letter-spacing:-.02em;
}

.ts-resource-card p{
  margin:5px 0!important;
  color:#647168;
  line-height:1.5;
}

.ts-resource-kicker{
  color:#2e6b46!important;
  font-size:.72rem!important;
  font-weight:800;
  letter-spacing:.08em;
}

.ts-resource-action{
  margin-top:auto!important;
  padding-top:12px;
}

.ts-resource-action a{
  color:#23613b;
  font-weight:800;
  text-decoration:none;
}

.ts-resource-action a:hover{
  text-decoration:underline;
}

.ts-land-resources{
  margin-top:38px!important;
}

/* Предупреждение об ответственности — текст занимает всю доступную ширину. */
.ts-disclaimer{
  width:100%!important;
  max-width:none!important;
  margin:34px 0 0!important;
  padding:22px 24px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:start;
  border:1px solid #e0dfd4;
  border-radius:20px;
  background:#fbfaf4;
}

.ts-disclaimer-icon{
  margin:1px 0 0!important;
  font-size:1.35rem;
}

.ts-disclaimer-copy,
.ts-disclaimer-copy > *{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

.ts-disclaimer-copy h2{
  margin:0 0 6px!important;
  font-size:1.18rem;
  letter-spacing:-.02em;
}

.ts-disclaimer-copy p{
  margin:0!important;
  color:#5e635d;
  line-height:1.6;
}

/* Каталог исполнителей чуть ближе к предупреждению. */
.ts-services{
  margin-top:34px!important;
}

@media (max-width:1050px){
  .ts-resource-grid-main,
  .ts-resource-grid-land{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ts-resource-card-wide{
    grid-column:span 2;
  }
}

@media (max-width:680px){
  .ts-resource-grid-main,
  .ts-resource-grid-land{
    grid-template-columns:1fr;
  }
  .ts-resource-card-wide{
    grid-column:auto;
  }
  .ts-resource-card{
    min-height:0;
  }
  .ts-disclaimer{
    grid-template-columns:1fr;
    padding:18px!important;
  }
}


/* ===== Версия 1.6: реальные контакты + гарантированная структура ===== */

/* На v1.6 managed-секции всегда используют полную ширину 1600px контейнера. */
body.slim-ts-layout .ts-resources,
body.slim-ts-layout .ts-disclaimer,
body.slim-ts-layout .ts-services{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Пустые категории выглядят как аккуратные заглушки, а не как фальшивые контакты. */
.ts-empty{
  grid-column:1 / -1!important;
  margin:2px 0 0!important;
  padding:14px 16px;
  border:1px dashed #cdd8cf;
  border-radius:14px;
  background:#fafcf9;
  color:#879288;
  font-size:.88rem;
}

/* Телефоны и внешние ссылки хорошо читаются и кликаются. */
.ts-phone a{
  color:#23613b!important;
  font-weight:800;
  text-decoration:none;
}
.ts-phone a:hover{
  text-decoration:underline;
}

/* Категория с одним исполнителем не растягивает карточку на весь экран. */
.ts-service-category .ts-contact-card:only-of-type{
  max-width:520px!important;
}

/* На широком экране карточки остаются компактными: максимум 5 в ряд. */
@media (min-width:1450px){
  .ts-service-category{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
  .ts-service-category .ts-empty{
    grid-column:1 / -1!important;
  }
}


/* ===== Версия 1.7: fallback на случай старого содержимого ===== */

/* Если старая секция somehow осталась в содержимом, скрываем её визуально. */
body.slim-ts-layout .ts-intro{
  display:none!important;
}

/* Новый раздел документов и полезных ссылок всегда показываем полноширинно. */
body.slim-ts-layout .ts-resources,
body.slim-ts-layout .ts-land-resources{
  display:block!important;
  width:100%!important;
  max-width:none!important;
}


/* ===== Версия 1.8: компактные и одинаковые карточки ===== */

.ts-resource-grid{
  align-items:stretch!important;
  grid-auto-rows:1fr;
}
.ts-resource-grid > .ts-resource-card{
  margin:0!important;
  height:100%!important;
  min-height:0!important;
}

.ts-resource-grid-main{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.ts-resource-grid-main .ts-resource-card{
  padding:16px 18px!important;
  min-height:150px!important;
}

.ts-resource-grid-land{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:1fr;
}
.ts-resource-grid-land .ts-resource-card,
.ts-resource-grid-land .ts-resource-card-wide{
  grid-column:auto!important;
  min-height:165px!important;
  height:100%!important;
  padding:15px 16px!important;
}

.ts-resource-card h3{
  margin:4px 0 6px!important;
  font-size:1.02rem!important;
}
.ts-resource-card p{
  margin:3px 0!important;
  font-size:.88rem;
  line-height:1.42;
}
.ts-resource-kicker{
  font-size:.68rem!important;
}
.ts-resource-action{
  padding-top:8px!important;
}

.ts-service-category{
  padding:20px!important;
  gap:10px!important;
}
.ts-service-category > h3{
  font-size:1.18rem!important;
}
.ts-category-desc{
  font-size:.88rem!important;
  margin-bottom:4px!important;
}
.ts-contact-card{
  padding:12px 13px!important;
  border-radius:14px!important;
}
.ts-contact-card h4{
  font-size:.94rem!important;
  margin-bottom:5px!important;
}
.ts-contact-card p{
  margin:3px 0!important;
  font-size:.82rem!important;
  line-height:1.4!important;
}

.ts-service-category .ts-contact-card:only-of-type{
  max-width:360px!important;
}

@media (max-width:1250px){
  .ts-resource-grid-land{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:900px){
  .ts-resource-grid-main,
  .ts-resource-grid-land{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:620px){
  .ts-resource-grid-main,
  .ts-resource-grid-land{
    grid-template-columns:1fr!important;
  }
  .ts-resource-grid-main .ts-resource-card,
  .ts-resource-grid-land .ts-resource-card{
    min-height:0!important;
  }
}


/* ===== Версия 1.9: более заметный блок разработчика ===== */
.slim-ts-footer__developer{
  max-width:560px;
  text-align:right;
  white-space:normal!important;
}
.slim-ts-footer__developer-title{
  color:#18291f;
  font-size:.9rem;
  font-weight:700;
}
.slim-ts-footer__developer-title a{
  color:#23613b;
  font-weight:900;
  text-decoration:none;
}
.slim-ts-footer__developer-title a:hover{
  text-decoration:underline;
}
.slim-ts-footer__developer-text{
  margin-top:4px;
  color:#7a877f;
  font-size:.78rem;
  line-height:1.45;
}

@media (max-width:700px){
  .slim-ts-footer__developer{
    max-width:none;
    text-align:left;
  }
}


/* ===== Версия 2.0: компактные карточки услуг ===== */
.ts-service-category{
  padding:18px 18px 16px !important;
  border-radius:20px !important;
}

.ts-service-category .wp-block-heading{
  margin:0 !important;
}

.ts-service-category > .ts-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 !important;
  font-size:1.2rem !important;
  line-height:1 !important;
  vertical-align:middle;
}

.ts-service-category > .ts-icon + .wp-block-heading{
  display:inline-block;
  margin-left:8px !important;
  vertical-align:middle;
  font-size:1.15rem !important;
  line-height:1.25 !important;
}

.ts-service-category > .ts-category-desc{
  display:none !important;
}

.ts-service-category > .ts-empty{
  margin-top:10px !important;
  font-size:.92rem !important;
}

.ts-service-category .ts-contact-grid,
.ts-service-category .wp-block-group__inner-container{
  margin-top:12px !important;
}

.ts-contact-card{
  padding:12px 14px !important;
  border-radius:16px !important;
  min-height:auto !important;
}

.ts-contact-card h4{
  margin:0 0 6px !important;
  font-size:1rem !important;
  line-height:1.3 !important;
}

.ts-contact-card p{
  margin:0 0 6px !important;
  font-size:.88rem !important;
  line-height:1.45 !important;
}

.ts-contact-card .ts-phone{
  margin-bottom:0 !important;
  font-size:.94rem !important;
}

.ts-services-grid{
  gap:14px !important;
}

.ts-services-grid > *{
  min-width:0 !important;
}

@media (min-width: 1100px){
  .ts-services-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1099px) and (min-width: 780px){
  .ts-services-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 779px) and (min-width: 560px){
  .ts-services-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 559px){
  .ts-service-category{
    padding:16px 14px 14px !important;
  }

  .ts-service-category > .ts-icon{
    font-size:1.05rem !important;
  }

  .ts-service-category > .ts-icon + .wp-block-heading{
    font-size:1rem !important;
  }

  .ts-contact-card{
    padding:10px 12px !important;
  }

  .ts-contact-card h4{
    font-size:.96rem !important;
  }

  .ts-contact-card p,
  .ts-contact-card .ts-phone{
    font-size:.84rem !important;
  }
}


/* ===== 2.1: форма добавления контакта и модерация ===== */

.ts-submit-contact-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin:18px 0 20px;
  padding:17px 18px;
  border:1px solid #d6e2d8;
  border-radius:18px;
  background:#f6faf6;
}

.ts-submit-contact-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.ts-submit-contact-copy strong{
  color:#18291f;
  font-size:.98rem;
}

.ts-submit-contact-copy span{
  color:#6d7a71;
  font-size:.84rem;
}

.ts-open-specialist-form,
.ts-form-submit{
  appearance:none;
  border:0;
  border-radius:999px;
  background:#1f5c38;
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-weight:800;
  white-space:nowrap;
}

.ts-open-specialist-form{
  padding:11px 17px;
}

.ts-open-specialist-form:hover,
.ts-form-submit:hover{
  background:#17472b;
}

.ts-specialist-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.ts-specialist-modal.is-open{
  display:flex;
}

.ts-specialist-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,18,12,.62);
  backdrop-filter:blur(4px);
}

.ts-specialist-modal__dialog{
  position:relative;
  z-index:1;
  width:min(720px,100%);
  max-height:min(90vh,820px);
  overflow:auto;
  padding:28px;
  border-radius:24px;
  background:#fff;
  box-shadow:0 28px 80px rgba(0,0,0,.25);
}

.ts-specialist-modal__close{
  position:absolute;
  top:13px;
  right:15px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#f0f4f0;
  color:#203126;
  cursor:pointer;
  font-size:1.5rem;
  line-height:1;
}

.ts-specialist-modal__head{
  padding-right:42px;
  margin-bottom:20px;
}

.ts-specialist-modal__eyebrow{
  margin:0 0 8px;
  color:#2e6b46;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
}

.ts-specialist-modal__head h2{
  margin:0 0 7px;
  color:#15271c;
  font-size:clamp(1.6rem,4vw,2.2rem);
}

.ts-specialist-modal__head > p:last-child{
  margin:0;
  color:#69756d;
  line-height:1.55;
}

.ts-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.ts-form-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.ts-form-field-wide{
  grid-column:1 / -1;
}

.ts-form-field > span{
  color:#26392d;
  font-size:.82rem;
  font-weight:800;
}

.ts-form-field input,
.ts-form-field select,
.ts-form-field textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #ccd8cf;
  border-radius:12px;
  background:#fff;
  padding:11px 12px;
  color:#17241c;
  font:inherit;
  font-size:.92rem;
  outline:none;
}

.ts-form-field input:focus,
.ts-form-field select:focus,
.ts-form-field textarea:focus{
  border-color:#4c8660;
  box-shadow:0 0 0 3px rgba(76,134,96,.12);
}

.ts-form-consent{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:16px;
  color:#56645a;
  font-size:.82rem;
  line-height:1.45;
}

.ts-form-consent input{
  margin-top:3px;
}

.ts-form-security{
  margin:11px 0 0;
  color:#88928b;
  font-size:.76rem;
  line-height:1.45;
}

.ts-form-submit{
  margin-top:18px;
  padding:12px 20px;
}

.ts-honeypot{
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

.ts-form-toast{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:1000000;
  max-width:420px;
  padding:13px 16px;
  border-radius:14px;
  box-shadow:0 12px 35px rgba(0,0,0,.16);
  font-size:.9rem;
  font-weight:700;
}

.ts-form-toast-success{
  background:#e8f5eb;
  color:#1f5c38;
  border:1px solid #bcd9c4;
}

.ts-form-toast-error{
  background:#fff0ef;
  color:#8a2923;
  border:1px solid #ecc5c1;
}

.ts-submitted-card{
  border-style:dashed!important;
}

.ts-submitted-extra{
  margin-top:4px!important;
  font-size:.78rem!important;
}

.ts-submitted-extra a{
  color:#23613b;
  font-weight:700;
  text-decoration:none;
}

@media (max-width:680px){
  .ts-submit-contact-cta{
    align-items:flex-start;
    flex-direction:column;
  }

  .ts-open-specialist-form{
    width:100%;
  }

  .ts-specialist-modal{
    padding:10px;
  }

  .ts-specialist-modal__dialog{
    padding:22px 18px;
    border-radius:20px;
  }

  .ts-form-grid{
    grid-template-columns:1fr;
  }

  .ts-form-field-wide{
    grid-column:auto;
  }

  .ts-form-submit{
    width:100%;
  }
}


/* ===== 2.1.1: иконка раздела слева от названия ===== */
.ts-section-head{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
}

.ts-section-head .ts-icon{
  margin:0 !important;
  font-size:1.15rem !important;
  line-height:1;
  flex:0 0 auto;
}

.ts-section-head > .wp-block-heading{
  margin:0 !important;
}

/* Если JS ещё не отработал, старое поведение оставляем. */
.ts-service-category > .ts-section-head + .ts-category-desc{
  margin-top:0 !important;
}

@media (max-width: 559px){
  .ts-section-head{
    gap:8px;
    margin-bottom:8px;
  }
  .ts-section-head .ts-icon{
    font-size:1rem !important;
  }
}


/* ===== 2.2: форма — новый раздел, отдельные контакты, исправления ===== */
.ts-specialist-modal__close{
  top:18px !important;
  right:18px !important;
  width:36px !important;
  height:36px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
}

.ts-form-field select{
  min-height:48px !important;
  height:auto !important;
  line-height:1.25 !important;
  padding:11px 40px 11px 12px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

.ts-custom-category-field[hidden]{
  display:none !important;
}

.ts-form-contact-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.ts-form-contact-row .ts-form-field{
  min-width:0;
}

.ts-custom-category{
  margin-top:14px !important;
}

@media (max-width:760px){
  .ts-form-contact-row{
    grid-template-columns:1fr;
  }
}


/* ===== 2.3: иконки мессенджеров, одна CTA, компактные объединённые контакты ===== */
.ts-phone-label{
  font-weight:700;
  color:#435248;
}

.ts-inline-contact{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#23613b;
  font-weight:700;
  text-decoration:none;
}

.ts-inline-contact__text{
  overflow-wrap:anywhere;
}

.ts-inline-contact__icon{
  flex:0 0 auto;
  line-height:1;
}

.ts-inline-contact__ext{
  flex:0 0 auto;
  line-height:1;
}

.ts-submitted-extra .ts-inline-contact:hover{
  text-decoration:underline;
}

.ts-contact-card .ts-resource-action a{
  display:inline-flex;
  align-items:center;
  gap:6px;
}


/* ===== 2.4: компактная форма без прокрутки на обычном desktop + обратная связь ===== */

/* На типичном desktop-экране форма помещается целиком без внутренней прокрутки. */
@media (min-width:681px) and (min-height:760px){
  .ts-specialist-modal__dialog{
    max-height:calc(100vh - 24px)!important;
    overflow:hidden!important;
    padding:20px 26px!important;
  }

  .ts-specialist-modal__head{
    margin-bottom:12px!important;
  }

  .ts-specialist-modal__head h2{
    margin-bottom:4px!important;
  }

  .ts-specialist-modal__eyebrow{
    margin-bottom:5px!important;
  }

  .ts-form-grid{
    gap:10px!important;
  }

  .ts-form-field{
    gap:4px!important;
  }

  .ts-form-field input,
  .ts-form-field select,
  .ts-form-field textarea{
    padding:9px 11px!important;
  }

  .ts-form-field select{
    min-height:42px!important;
  }

  .ts-specialist-form textarea[name="description"]{
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    resize:none!important;
  }

  .ts-form-consent{
    margin-top:10px!important;
  }

  .ts-form-security{
    margin-top:6px!important;
  }

  .ts-form-submit{
    margin-top:10px!important;
    padding:10px 18px!important;
  }
}

/* На низких экранах сохраняем прокрутку, чтобы поля не обрезались. */
@media (max-height:759px){
  .ts-specialist-modal__dialog{
    overflow:auto!important;
  }
}

/* Обратная связь в подвале. */
.slim-ts-footer__inner{
  align-items:center!important;
}

.slim-ts-footer__feedback{
  max-width:480px;
}

.slim-ts-footer__feedback-title{
  color:#18291f;
  font-size:.9rem;
  font-weight:800;
}

.slim-ts-footer__feedback-text{
  margin-top:4px;
  color:#7a877f;
  font-size:.78rem;
  line-height:1.45;
}

.ts-open-feedback-form{
  margin-top:10px;
  padding:9px 14px;
  border:1px solid #b9cfbf;
  border-radius:999px;
  background:#fff;
  color:#23613b;
  cursor:pointer;
  font:inherit;
  font-size:.8rem;
  font-weight:800;
}

.ts-open-feedback-form:hover{
  background:#edf6ef;
  border-color:#8fb49a;
}

.ts-feedback-modal__dialog{
  width:min(680px,100%)!important;
}

.ts-feedback-modal textarea[name="feedback_message"]{
  min-height:105px;
}

@media (max-width:900px){
  .slim-ts-footer__inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    align-items:start!important;
  }
  .slim-ts-footer__developer{
    text-align:left!important;
    margin-top:0!important;
  }
}


/* ===== 2.5: полный список услуг + оригинальные логотипы мессенджеров ===== */

/* На широком экране показываем ВСЕ услуги: переносим на следующую строку,
   вместо того чтобы обрезать последний пункт. */
.ts-chips{
  flex-wrap:wrap!important;
  overflow:visible!important;
  padding-bottom:0!important;
  scrollbar-width:auto!important;
}

.ts-chips::-webkit-scrollbar{
  display:initial!important;
}

/* На телефоне/узком планшете оставляем удобную горизонтальную прокрутку. */
@media (max-width:760px){
  .ts-chips{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding-bottom:8px!important;
    scrollbar-width:thin!important;
    -webkit-overflow-scrolling:touch;
  }
  .ts-chips::-webkit-scrollbar{
    display:block!important;
    height:6px;
  }
}

.ts-brand-links,
.ts-brand-icons-only{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin-top:8px;
}

.ts-brand-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#23613b!important;
  font-weight:700;
  text-decoration:none!important;
}

.ts-brand-link:hover{
  text-decoration:underline!important;
}

.ts-brand-icon{
  display:block!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  object-fit:contain;
}

.ts-brand-icon-telegram{
  border-radius:50%;
}

.ts-brand-icon-max{
  border-radius:7px;
}

.ts-brand-icon-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border:1px solid #dce4dd;
  border-radius:9px;
  background:#fff;
}

.ts-brand-icon-wrap .ts-brand-icon{
  width:22px!important;
  height:22px!important;
}

.ts-phone-label{
  color:#445349;
  font-weight:700;
}


/* ===== 2.6: нейтральный пример в обращении + контраст кнопки ===== */
.ts-open-feedback-form,
.ts-open-feedback-form:visited{
  background:#ffffff !important;
  color:#23613b !important;
  border-color:#9fc2aa !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

.ts-open-feedback-form:hover,
.ts-open-feedback-form:focus,
.ts-open-feedback-form:focus-visible,
.ts-open-feedback-form:active{
  background:#23613b !important;
  color:#ffffff !important;
  border-color:#23613b !important;
  text-decoration:none !important;
  box-shadow:0 0 0 3px rgba(35,97,59,.12) !important;
  outline:none !important;
}


/* ===== 2.8: улучшения формы, mobile-fit, privacy ===== */
.ts-form-consent.is-error,
.ts-form-consent.is-error span,
.ts-form-consent.is-error a{
  color:#b42318 !important;
}

.ts-form-consent.is-error input{
  outline:2px solid #d92d20;
  outline-offset:2px;
}

.ts-form-toast{
  transition:opacity .25s ease, transform .25s ease;
}
.ts-form-toast.is-hiding{
  opacity:0;
  transform:translateY(8px);
}

.ts-specialist-modal__dialog,
.ts-feedback-modal__dialog{
  box-sizing:border-box !important;
  max-width:calc(100vw - 20px) !important;
  overflow-x:hidden !important;
}
.ts-specialist-form,
.ts-feedback-form,
.ts-form-grid,
.ts-form-contact-row,
.ts-form-field{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.ts-form-field input,
.ts-form-field select,
.ts-form-field textarea{
  min-width:0 !important;
  max-width:100% !important;
}

.slim-ts-footer__privacy{
  margin-top:8px;
  font-size:.78rem;
}
.slim-ts-footer__privacy a{
  color:#23613b;
  font-weight:700;
  text-decoration:none;
}
.slim-ts-footer__privacy a:hover{
  text-decoration:underline;
}

body.slim-ts-privacy-layout .site-header,
body.slim-ts-privacy-layout #masthead,
body.slim-ts-privacy-layout .site-footer,
body.slim-ts-privacy-layout #colophon{
  display:none !important;
}
body.slim-ts-privacy-layout .site-content .ast-container,
body.slim-ts-privacy-layout .site-content > .ast-container,
body.slim-ts-privacy-layout .content-area,
body.slim-ts-privacy-layout .site-main,
body.slim-ts-privacy-layout article.page,
body.slim-ts-privacy-layout .entry-content{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.slim-ts-privacy-layout .entry-header,
body.slim-ts-privacy-layout .entry-title{
  display:none !important;
}
.slim-ts-privacy{
  width:min(1000px,calc(100% - 40px)) !important;
  margin:36px auto 64px !important;
  padding:34px 36px !important;
  border:1px solid #dce4dd;
  border-radius:24px;
  background:#fff;
  color:#18291f;
  box-sizing:border-box;
}
.slim-ts-privacy h1{
  margin-top:0 !important;
  font-size:clamp(2rem,4vw,3.2rem) !important;
  line-height:1.08;
  letter-spacing:-.04em;
}
.slim-ts-privacy h2{
  margin-top:30px !important;
  margin-bottom:10px !important;
  font-size:1.3rem !important;
}
.slim-ts-privacy p,
.slim-ts-privacy li{
  color:#56645a;
  line-height:1.65;
}
.slim-ts-privacy__back a{
  color:#23613b;
  font-weight:800;
  text-decoration:none;
}

@media (max-width:680px){
  .ts-specialist-modal,
  .ts-feedback-modal{
    padding:6px !important;
  }
  .ts-specialist-modal__dialog,
  .ts-feedback-modal__dialog{
    width:calc(100vw - 12px) !important;
    max-width:calc(100vw - 12px) !important;
    padding:20px 14px !important;
    border-radius:18px !important;
  }
  .ts-form-contact-row{
    grid-template-columns:1fr !important;
  }
  .slim-ts-privacy{
    width:calc(100% - 20px) !important;
    margin:10px auto 34px !important;
    padding:22px 18px !important;
    border-radius:18px;
  }
}


/* ===== 2.9: одинаковые расстояния между разделами услуг ===== */
.ts-services-grid{
  display:flex !important;
  flex-direction:column !important;
  gap:22px !important;
}
.ts-services-grid > .ts-service-category{
  margin:0 !important;
}

/* Ссылка на политику должна быть заметна, но не конкурировать с CTA. */
.slim-ts-footer__privacy{
  margin-top:9px !important;
}
.slim-ts-footer__privacy a{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#23613b !important;
  font-weight:800 !important;
  text-decoration:underline !important;
  text-underline-offset:3px;
}


/* ===== 2.10: стабильная ширина обеих форм на телефоне ===== */

/*
 * iPhone/Safari автоматически увеличивает страницу при фокусе на input,
 * если размер текста поля меньше 16px. Визуально это выглядело так,
 * будто модальное окно становится шире экрана.
 */
@media (max-width: 680px){
  html,
  body{
    -webkit-text-size-adjust:100%;
  }

  .ts-specialist-modal,
  .ts-feedback-modal{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    padding:6px !important;
    overflow-x:hidden !important;
  }

  .ts-specialist-modal__dialog,
  .ts-feedback-modal__dialog{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    margin:0 !important;
    overflow-x:hidden !important;
  }

  .ts-specialist-form,
  .ts-feedback-form,
  .ts-form-grid,
  .ts-form-contact-row,
  .ts-form-field,
  .ts-form-field-wide{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .ts-form-field input,
  .ts-form-field select,
  .ts-form-field textarea,
  .ts-specialist-form input,
  .ts-specialist-form select,
  .ts-specialist-form textarea,
  .ts-feedback-form input,
  .ts-feedback-form select,
  .ts-feedback-form textarea{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    font-size:16px !important;
  }

  .ts-form-consent,
  .ts-form-security{
    max-width:100% !important;
    overflow-wrap:anywhere;
  }
}


/* ===== 2.11: тексты, иконки и порядок блоков ===== */
@media (min-width: 1280px){
  .ts-land-resources > .ts-section-lead{
    max-width:none !important;
    white-space:nowrap;
  }
}

.ts-disclaimer{
  grid-template-columns:52px minmax(0,1fr) !important;
  align-items:stretch !important;
}

.ts-disclaimer-icon{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  align-self:stretch !important;
  margin:0 !important;
  font-size:46px !important;
  line-height:1 !important;
  font-weight:800 !important;
  color:#d92d20 !important;
}

.ts-brand-link .ts-brand-icon-wrap{
  flex:0 0 auto;
}

.ts-brand-link.ts-brand-link-icon{
  gap:8px;
}

.ts-services-grid > .ts-service-category{
  margin:0 !important;
}


/* ===== 2.12: бесплатность, предупреждение и favicon-ready ===== */

.ts-free-notice{
  width:100%!important;
  max-width:none!important;
  margin:22px 0 0!important;
  padding:16px 18px!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  align-items:center;
  border:1px solid #cfe0d2;
  border-radius:18px;
  background:#f4faf5;
}

.ts-free-notice-icon{
  width:32px;
  height:32px;
  margin:0!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#23613b;
  color:#fff!important;
  font-size:1rem!important;
  font-weight:900!important;
}

.ts-free-notice-copy,
.ts-free-notice-copy > *{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

.ts-free-notice-copy h3{
  margin:0 0 3px!important;
  font-size:1rem!important;
}

.ts-free-notice-copy p{
  margin:0!important;
  color:#5f6d63;
  font-size:.9rem;
  line-height:1.5;
}

.slim-ts-footer__free{
  max-width:460px;
  margin-top:8px;
  color:#66736c;
  font-size:.76rem;
  line-height:1.45;
}

/* Восклицательный знак — отдельная высокая колонка строго слева от текста. */
.ts-disclaimer{
  grid-template-columns:46px minmax(0,1fr) !important;
  align-items:stretch !important;
}

.ts-disclaimer-icon{
  height:100% !important;
  min-height:100% !important;
  align-self:stretch !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#d92d20 !important;
  font-size:54px !important;
  font-weight:900 !important;
  line-height:.8 !important;
}

@media (max-width:700px){
  .ts-free-notice{
    grid-template-columns:32px minmax(0,1fr);
    padding:14px!important;
  }

  .ts-disclaimer{
    grid-template-columns:36px minmax(0,1fr) !important;
  }

  .ts-disclaimer-icon{
    font-size:42px !important;
  }
}


/* ===== 2.13: политика конфиденциальности той же ширины, что и главная ===== */
body.slim-ts-privacy-layout{
  --slim-ts-max:1600px;
}

.slim-ts-privacy{
  width:min(var(--slim-ts-max), calc(100% - 48px)) !important;
  max-width:var(--slim-ts-max) !important;
  margin:32px auto 64px !important;
  padding:34px 36px !important;
}

/* Карточка занимает ту же ширину, что главная, но длинный юридический текст
   остаётся удобным для чтения. */
.slim-ts-privacy > *{
  max-width:1200px;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:619px){
  .slim-ts-privacy{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin:14px auto 34px !important;
    padding:22px 18px !important;
  }

  .slim-ts-privacy > *{
    max-width:none;
  }
}


/* ===== 2.14: поиск, единый каталог из БД и актуальность ===== */

.ts-service-search{
  margin:18px 0 14px;
}

.ts-service-search > label{
  display:block;
  margin-bottom:7px;
  color:#26392d;
  font-size:.82rem;
  font-weight:800;
}

.ts-service-search__control{
  position:relative;
  max-width:760px;
}

.ts-service-search__control input{
  width:100%;
  box-sizing:border-box;
  min-height:46px;
  padding:10px 44px 10px 42px;
  border:1px solid #d2ded5;
  border-radius:999px;
  background:#fff;
  color:#17241c;
  font:inherit;
  font-size:.95rem;
  outline:none;
}

.ts-service-search__control input:focus{
  border-color:#4c8660;
  box-shadow:0 0 0 3px rgba(76,134,96,.12);
}

.ts-service-search__icon{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  color:#2e6b46;
  font-size:1.25rem;
  pointer-events:none;
}

.ts-service-search__clear{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  border:0;
  border-radius:50%;
  background:#eef4ef;
  color:#31463a;
  cursor:pointer;
  font-size:1.1rem;
}

.ts-service-search__empty{
  margin-top:10px;
  color:#7b4b3f;
  font-size:.88rem;
}

.ts-service-category[hidden],
.ts-contact-card[hidden],
.ts-chips p[hidden]{
  display:none!important;
}

.ts-verified{
  margin-top:9px!important;
  padding-top:8px;
  border-top:1px solid #e4ebe5;
  color:#849088!important;
  font-size:.72rem!important;
  line-height:1.35!important;
}

@media (max-width:680px){
  .ts-service-search__control{
    max-width:none;
  }

  .ts-service-search__control input{
    font-size:16px;
  }
}


/* ===== 2.15: раздельные согласия и рекомендация другого специалиста ===== */
.ts-recommendation-note{
  margin:14px 0 2px;
  padding:11px 13px;
  border:1px solid #e6d8a8;
  border-radius:12px;
  background:#fff9e7;
  color:#6f5a19;
  font-size:.8rem;
  line-height:1.45;
}

.ts-recommendation-name[hidden],
.ts-recommendation-contact[hidden],
.ts-recommendation-note[hidden],
.ts-publication-consent[hidden]{
  display:none!important;
}

.ts-processing-consent{
  margin-top:16px!important;
}

.ts-publication-consent{
  margin-top:10px!important;
}


/* ===== 2.16: скрываем служебную строку в заполненных разделах ===== */
.ts-service-category:has(.ts-contact-card) > .ts-empty{
  display:none!important;
}


/* ===== 2.17: дата актуальности не показывается посетителям ===== */
.ts-contact-card .ts-verified{
  display:none!important;
}


/* ===== 2.19: подтверждение рекомендованного контакта ===== */
.ts-contact-card .ts-contact-confirmed{
  display:inline-flex!important;
  align-items:center;
  width:auto;
  margin:2px 0 10px!important;
  padding:4px 8px;
  border-radius:999px;
  background:#eef8f0;
  color:#24713c!important;
  font-size:.72rem!important;
  line-height:1.25!important;
  font-weight:700;
}


/* ===== 2.21: мессенджеры в карточке только иконками ===== */
.ts-contact-card .ts-brand-icons-only{
  gap:6px;
  margin-top:7px;
}
.ts-contact-card .ts-brand-link-icon-only{
  line-height:1;
}


/* ===== 2.22: выбор публикуемых каналов связи ===== */
.ts-public-contact-intro{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:10px 12px;
  border-radius:12px;
  background:#f6faf6;
  border:1px solid #dce7de;
  color:#526158;
  font-size:.8rem;
  line-height:1.4;
}
.ts-public-contact-intro strong{color:#26392d;font-size:.86rem;}
.ts-form-channel{display:flex;flex-direction:column;gap:7px;min-width:0;}
.ts-form-display-toggle{
  display:flex;
  align-items:center;
  gap:7px;
  color:#536159;
  font-size:.78rem;
  line-height:1.3;
  cursor:pointer;
}
.ts-form-display-toggle input{width:auto!important;margin:0;flex:0 0 auto;}
.ts-public-contact-note{
  margin:-2px 0 2px!important;
  color:#69756d;
  font-size:.78rem;
  line-height:1.4;
}
.ts-public-contact-note.is-error{
  color:#b42318!important;
  font-weight:700;
}
.ts-brand-icon-max{
  border-radius:7px!important;
  object-fit:cover!important;
}


/* ===== 2.24: компактнее предупреждение + выравнивание иконок ===== */
.ts-disclaimer{
  padding:15px 20px!important;
  gap:12px!important;
}
.ts-disclaimer-copy h2{
  margin-bottom:4px!important;
}
.ts-disclaimer-copy p{
  line-height:1.48!important;
}

/* Telegram и MAX всегда стоят строго на одной горизонтали. */
.ts-contact-card .ts-brand-icons-only{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  min-height:30px;
}
.ts-contact-card .ts-brand-icons-only > a,
.ts-contact-card .ts-brand-icons-only > span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  vertical-align:middle!important;
}
.ts-contact-card .ts-brand-icons-only .ts-brand-icon-wrap{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  box-sizing:border-box!important;
}
.ts-contact-card .ts-brand-icons-only img.ts-brand-icon{
  display:block!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  vertical-align:middle!important;
}

@media (max-width:700px){
  .ts-disclaimer{
    padding:14px 16px!important;
    gap:10px!important;
  }
}


/* ===== 2.30: компактные служебные блоки и единая сетка контактов ===== */

/* Меньше воздуха сверху/снизу в двух информационных карточках. */
.ts-disclaimer{
  padding:10px 18px!important;
  gap:10px!important;
}
.ts-disclaimer-copy h2{
  margin:0 0 2px!important;
}
.ts-disclaimer-copy p{
  line-height:1.42!important;
}

.ts-free-notice{
  padding:10px 16px!important;
  gap:10px!important;
}
.ts-free-notice-copy h3{
  margin:0 0 2px!important;
}
.ts-free-notice-copy p{
  line-height:1.42!important;
}

/*
 * Карточки исполнителей растягиваются на одинаковую высоту строки,
 * а контактная зона прижимается к низу. Поэтому телефон и иконки
 * соседних карточек оказываются на одних горизонталях.
 */
.ts-service-category .ts-contact-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  box-sizing:border-box!important;
}

.ts-contact-card .ts-card-description{
  margin-bottom:8px!important;
}

.ts-contact-card .ts-card-contact-zone{
  margin-top:auto!important;
  padding-top:6px!important;
  width:100%!important;
}

.ts-contact-card .ts-card-phone-zone{
  min-height:25px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  gap:2px!important;
}

.ts-contact-card .ts-card-phone-zone .ts-phone{
  margin:0!important;
  line-height:1.35!important;
}

.ts-contact-card .ts-card-actions{
  min-height:32px!important;
  margin-top:5px!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}

.ts-contact-card .ts-card-actions .ts-brand-icons-only{
  display:inline-flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  min-height:30px!important;
  margin:0!important;
}

.ts-contact-card .ts-card-actions .ts-brand-icons-only > a,
.ts-contact-card .ts-card-actions .ts-brand-icons-only > span,
.ts-contact-card .ts-card-actions .ts-brand-icon-wrap{
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  margin:0!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  line-height:0!important;
}

.ts-contact-card .ts-card-actions img.ts-brand-icon{
  display:block!important;
  width:22px!important;
  height:22px!important;
  max-width:22px!important;
  max-height:22px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* Сайт в карточке показываем компактной кнопкой, а не длинным URL. */
.ts-contact-card .ts-site-action{
  min-height:30px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:4px 9px!important;
  margin:0!important;
  border:1px solid #d9e4dc!important;
  border-radius:9px!important;
  background:#f7faf7!important;
  color:#23613b!important;
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:800!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

.ts-contact-card .ts-site-action:hover{
  background:#eef6f0!important;
  text-decoration:none!important;
}

@media (max-width:700px){
  .ts-disclaimer{
    padding:10px 14px!important;
  }
  .ts-free-notice{
    padding:10px 14px!important;
  }
}

/* 2.31: five useful links; existing tablet and mobile rules remain in effect. */
@media (min-width:1251px){
  .ts-resource-grid-main{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}
.ts-resource-grid-main .ts-resource-card{
  overflow-wrap:anywhere;
}
