/* ============================================================
   КАСТОМНЫЕ СТИЛИ — ПК «АКТ»
   Палитра и шрифты вынесены в переменные.
   Крестик попапов 16px / контейнер 32px.
   ============================================================ */
:root {
  --c-dark:   #443E46;  /* основной текст */
  --c-muted:  #6F6974;  /* вторичный текст / плейсхолдер телефона */
  --c-muted2: #867E8B;  /* плейсхолдеры, иконка крестика */
  --c-accent: #EA692F;  /* ссылки */
  --c-bg:     #FDFCFC;  /* фон попапов */
  --ff-m: 'Manrope', sans-serif;
  --ff-r: 'Rubik', sans-serif;
}

/* ============================================================
   Изображения: каталог + новости
   ============================================================ */
.t-catalog__card__imgwrapper {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
}
.t-catalog__card__bgimg,
.t-feed__post-bgimg {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: 12px !important;
  width: auto !important;
  height: auto !important;
  border-radius: 16px !important;
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
@media (hover: hover) and (pointer: fine) {
  .t-catalog__card:hover .t-catalog__card__bgimg,
  .t-feed__post:hover .t-feed__post-bgimg {
    transform: scale(1.08);
  }
}

/* ============================================================
   Каталог / фильтры
   ============================================================ */
.t-catalog__filter__item-controls-wrap { border-radius: 16px !important; }
.t-catalog__filter__mobile-modal-btn   { border-radius: 999px !important; }

/* Десктопная панель фильтров. На мобилке фильтры — отдельная модалка
   (.t-catalog__filter__mobile-modal-panel), где те же классы оборачивают
   развёрнутые списки, поэтому пилюльные правила сюда не должны попадать. */
@media (min-width: 961px) {
  /* Триггер древовидного фильтра «Оборудование и услуги»: отступы 8/20, высота 46px */
  .t-catalog__filter__item_tree {
    min-height: 46px !important;
    padding: 8px 20px !important;
    box-sizing: border-box !important;
    align-items: center !important;   /* центрируем текст по вертикали (элемент flex) */
  }
  /* Поиск: левый отступ 20, высота 46px */
  .t-catalog__filter__input.js-catalog-filter-search {
    height: 46px !important;
    padding-left: 20px !important;
  }
}

.t-catalog__filter__chosen-val {
  display: inline-flex !important;
  align-items: center !important;
  height: 40px !important;
  min-height: 0 !important;
  padding: 0 16px !important;
  border-radius: 60px !important;
  box-sizing: border-box !important;
}
.t-catalog__filter__chosen-val,
.t-catalog__filter__chosen-val-text,
.t-catalog__filter__prods-number,
.t-catalog__filter__reset,
.t-catalog__filter__custom-sel,
.t-catalog__filter__custom-sel .t-catalog__filter__title,
.t-catalog__filter__item-title {
  color: var(--c-dark) !important;
  font-family: var(--ff-m) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: -0.1px !important;
}
.t-catalog__filter__chosen-wrapper { align-items: flex-start !important; }
.t-catalog__filter__prods-number,
.t-catalog__filter__reset          { padding-top: 8px !important; }
.t-catalog__filter__custom-sel {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ============================================================
   Чекбоксы: базовая геометрия
   ============================================================ */
.t-checkbox__indicator {
  border-radius: 6px !important;
  margin-top: 3px !important;
  flex-shrink: 0 !important;
}
.t-checkbox__control {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
}

/* ============================================================
   Чекбоксы форм — согласие на обработку данных: 14px
   ============================================================ */
.t-input-group_cb .t-checkbox__control,
.t-input-group_cb .t-checkbox__control span,
.t-input-group_cb .t-checkbox__control .t-text_xs,
.t-input-group[data-field-name="agreement"] .t-checkbox__control,
.t-input-group[data-field-name="agreement"] .t-checkbox__control span,
.t-input-group[data-field-name="agreement"] .t-checkbox__control .t-text_xs {
  color: var(--c-muted) !important;
  font-family: var(--ff-m) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.1px !important;
}
.t-input-group_cb .t-checkbox__control a,
.t-input-group[data-field-name="agreement"] .t-checkbox__control a {
  color: var(--c-accent) !important;
  font-family: var(--ff-m) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.1px !important;
  text-decoration: none !important;
}

/* ============================================================
   Чекбоксы каталога / фильтров — десктоп + мобилка: 18px
   ============================================================ */
.t-catalog__filter-tree-checkbox,
.t-catalog__filter-tree-checkbox.t-descr,
.t-catalog__filter-tree-checkbox.t-descr_xxs,
.t-catalog__filter-tree-checkbox .t-catalog__filter-tree-label,
.t-catalog__filter-tree-node .t-checkbox__control,
.t-catalog__filter-tree-node .t-catalog__filter-tree-label {
  color: var(--c-muted) !important;
  font-family: var(--ff-m) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.1px !important;
}

/* ============================================================
   Кнопка «наверх» T890
   ============================================================ */
#rec2351229471 .t890 {
  right: unset !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

/* ============================================================
   Модалка успешной отправки
   ============================================================ */
.t-form-success-popup__wrapper {
  border-radius: 24px !important;
  overflow: hidden !important;
}
.t-form-success-popup__title {
  color: var(--c-dark) !important;
  font-family: var(--ff-m) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.3px !important;
  margin-bottom: 10px !important;
}
.t-form-success-popup__text {
  color: var(--c-dark) !important;
  font-family: var(--ff-r) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}
.t-form-success-popup__button,
.t-form-success-popup__button.t-btn {
  height: auto !important;
  padding: 16px 32px !important;
  border-radius: 999px !important;
  background-color: #000 !important;
  color: #fff !important;
  font-family: var(--ff-r) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

/* ============================================================
   Формы
   ============================================================ */
.t-input-title,
.t-descr_md {
  color: var(--c-dark) !important;
  font-family: var(--ff-m) !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: -0.1px !important;
}
.t-input,
.t-input-block textarea,
.t-input-phonemask,
.t-input-phonemask__select-code {
  color: var(--c-dark) !important;
  font-family: var(--ff-r) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}
.t-input-phonemask,
.t-input-phonemask__select-code { letter-spacing: 0 !important; }

.t-input::placeholder,
.t-input-block textarea::placeholder {
  color: var(--c-muted2) !important;
  font-size: 20px !important;
  opacity: 1 !important;
}
.t-input-phonemask::placeholder {
  color: var(--c-muted2) !important;   /* #867E8B — как лейблы */
  font-size: 20px !important;
  opacity: 1 !important;
}

/* Плавающие подсказки-лейблы (поля t-input_pvis) — desktop + планшет: 20px.
   Это отдельный div .t-input__vis-ph, а не нативный ::placeholder.
   Размер задаётся в покое; при «всплытии» лейбл уменьшается transform-ом. */
.t-input__vis-ph {
  color: var(--c-muted2) !important;
  font-family: var(--ff-r) !important;
  font-size: 20px !important;
  font-weight: 400 !important;   /* normal */
  overflow: visible !important;  /* снимаем обрезку букв; высоту/центрирование оставляем Tilda */
  margin-top: -3px !important;   /* лёгкий сдвиг подсказки вверх */
}
/* Цвет подсказки до всплытия — #867E8B.
   Tilda красит её per-record правилом (#rec… .t-input__vis-ph) с !important,
   поэтому перебиваем на уровне ID попапов. */
:is(#rec2378878001, #rec2378357491) .t-input__vis-ph,
:is(#rec2378878001, #rec2378357491) .t-input__vis-ph * {
  color: var(--c-muted2) !important;  /* #867E8B */
  opacity: 1 !important;              /* Tilda делает подсказку полупрозрачной — снимаем */
}

/* Кнопка загрузки файлов — по центру */
.t-upwidget-container { text-align: center !important; }
.t-upwidget-container__button {
  display: inline-block !important;
  float: none !important;
}

/* ============================================================
   Попап T702
   ============================================================ */
.t702__wrapper { padding: 48px !important; }

/* ============================================================
   Квиз
   ============================================================ */
.t-quiz__counter-title,
.t-quiz__counter {
  font-family: var(--ff-r) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}
.t-quiz__contact-form { padding: 48px !important; }
.t-quiz__footer {
  padding-left: 48px !important;
  padding-right: 48px !important;
}
.t-quiz__footer-sticky { padding-top: 0 !important; }
.t-btnflex__icon {
  width: 24px !important;
  height: 24px !important;
  font-size: 24px !important;
}

/* ============================================================
   Десктоп
   ============================================================ */
@media (min-width: 961px) {
  .js-catalog-cont-w-filter {
    max-width: 840px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  #rec2357308251 .js-feed-container,
  #rec2359679491 .js-feed-container {
    width: 840px !important;
    max-width: 840px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 400px 400px !important;
    column-gap: 40px !important;
    row-gap: 40px !important;
  }
  #rec2357308251 .js-feed-post,
  #rec2359679491 .js-feed-post {
    width: 400px !important;
    max-width: 400px !important;
    margin: 0 !important;
    float: none !important;
  }
}

/* ============================================================
   Планшет / мобильная версия
   ============================================================ */
@media (max-width: 960px) {
  .t-input-title,
  .t-descr_md { font-size: 18px !important; }

  .t-input,
  .t-input-block textarea,
  .t-input-phonemask,
  .t-input-phonemask__select-code {
    color: var(--c-dark) !important;
    font-family: var(--ff-r) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
  }
  .t-input::placeholder,
  .t-input-block textarea::placeholder,
  .t-input-phonemask::placeholder { font-size: 18px !important; }
}

@media (max-width: 640px) {
  /* Плавающие подсказки-лейблы на мобилке: 18px */
  .t-input__vis-ph { font-size: 18px !important; }

  .t-catalog__filter__chosen-val,
  .t-catalog__filter__chosen-val-text { max-width: 260px !important; }

  .t702__wrapper        { padding: 24px !important; }
  .t-quiz__contact-form { padding: 24px !important; }
  .t-quiz__footer {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* ============================================================
   Попапы: звонок + квиз / КП  (rec2378878001, rec2378357491)
   Крестик 16px, круглый контейнер 32px
   ============================================================ */
:is(#rec2378878001, #rec2378357491) .t-popup__container {
  background-color: var(--c-bg) !important;
  border-radius: 32px !important;
  overflow: hidden !important;
}

/* Контейнер крестика — 32px */
:is(#rec2378878001, #rec2378357491)
:is(.t-popup__close-wrapper, .t-popup__block-close-button) {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--c-muted2) !important;
  opacity: 1 !important;
}

/* Сам крестик (SVG) — 16px */
:is(#rec2378878001, #rec2378357491)
:is(.t-popup__close-icon, .t-popup__close-wrapper svg, .t-popup__block-close-button svg) {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  display: block !important;
  color: var(--c-muted2) !important;
  opacity: 1 !important;
}

/* Цвет линий крестика (fill / stroke у разных вариантов иконки) */
:is(#rec2378878001, #rec2378357491)
:is(
  .t-popup__close-icon path, .t-popup__close-icon [fill],
  .t-popup__close-wrapper svg path, .t-popup__close-wrapper svg [fill],
  .t-popup__block-close-button svg path, .t-popup__block-close-button svg [fill]
) {
  fill: var(--c-muted2) !important;
}
:is(#rec2378878001, #rec2378357491)
:is(
  .t-popup__close-icon line, .t-popup__close-icon [stroke],
  .t-popup__close-wrapper svg line, .t-popup__close-wrapper svg [stroke],
  .t-popup__block-close-button svg line, .t-popup__block-close-button svg [stroke]
) {
  stroke: var(--c-muted2) !important;
}

/* Desktop / Tablet — внешняя зона клика 32px, круг */
@media (min-width: 641px) {
  :is(#rec2378878001, #rec2378357491)
  :is(.t-popup__close, .t-popup__block-close) {
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
  }
  :is(#rec2378878001, #rec2378357491)
  :is(.t-popup__close-wrapper, .t-popup__block-close-button) {
    background-color: var(--c-bg) !important;
    border-radius: 50% !important;
  }
}

/* Mobile */
@media (max-width: 640px) {
  :is(#rec2378878001, #rec2378357491)
  :is(.t-popup__close, .t-popup__block-close) {
    background-color: var(--c-bg) !important;
    border-radius: 32px 32px 0 0 !important;
  }
  :is(#rec2378878001, #rec2378357491)
  :is(.t-popup__close-wrapper, .t-popup__block-close-button) {
    background: transparent !important;
    border-radius: 0 !important;
  }
}