/* Kisel Buro — общий CSS, очищенная версия от 15.10.2026.
   Заменяет присланный CSS целиком. Не добавлять поверх старой версии.
   QZ101 / T668 / BF502N / ME403N / T657. Нативные обработчики не меняются. */

/* QZ101: компенсация штатного автоскейла. */
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) {
  --kb-qz-scale: 1;
}
@media (min-width: 360px) {
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)).t-record_scaled {
    --kb-qz-scale: var(--t-zoom, 1);
  }
}
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz {
  --kb-qz-gap: calc(8px / var(--kb-qz-scale));
  --kb-qz-action: calc(44px / var(--kb-qz-scale));
  --kb-qz-input-font: calc(16px / var(--kb-qz-scale));
  --kb-qz-placeholder-font: calc(14px / var(--kb-qz-scale));
}

/* QZ101: промежутки между ответами и контактными полями — 8 экранных px. */
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-input-block .t-checkboxes__wrapper_button,
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-input-block .t-radio__wrapper_button,
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-quiz__inputs-wrapper,
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-contact-method__container,
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-contact-method__types-container {
  gap: var(--kb-qz-gap) !important;
}

/* Индикаторы: 18 px, рамка 1.5 px, скругление чекбокса 3 px. */
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-checkbox__indicator,
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-radio__indicator {
  --size: calc(18px / var(--kb-qz-scale));
  --border-width: calc(1.5px / var(--kb-qz-scale));
  flex-shrink: 0;
}
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-checkbox__indicator {
  --border-radius: calc(3px / var(--kb-qz-scale));
}

/* Текст ввода — 16 экранных px, подсказки — 14. */
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form input.t-input,
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form textarea.t-input {
  font-size: var(--kb-qz-input-font);
}
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-input__vis-ph,
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form input.t-input::placeholder,
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form textarea.t-input::placeholder,
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-input-phonemask__select,
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-input-phonemask__select-code {
  font-size: var(--kb-qz-placeholder-font);
}

/* Полужирные подписи; текст согласия сюда не входит. */
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-input-group:not(.t-input-group_cb) .t-input-title,
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-input-group:not(.t-input-group_cb) .t-input-title [style],
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-input__vis-ph {
  font-weight: 600 !important;
}

/* «Свой вариант»: нативную видимость и логику сохраняем. */
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz .t-input-ownanswer {
  font-size: var(--kb-qz-input-font) !important;
}

/* Защита мобильного ввода от фокусного зума: минимум 16 CSS px.
   Пользовательский pinch-to-zoom сохраняется. */
@media (max-width: 960px), (any-pointer: coarse) {
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz .t-input-ownanswer,
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form input.t-input,
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form textarea.t-input {
    font-size: max(16px, calc(16px / var(--kb-qz-scale))) !important;
  }
}

/* Переключатели связи: 12 px на десктопе, 11 px на мобильных. */
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-contact-method__type-label {
  box-sizing: border-box;
  min-height: calc(32px / var(--kb-qz-scale));
  padding: calc(6px / var(--kb-qz-scale)) calc(10px / var(--kb-qz-scale));
  gap: calc(5px / var(--kb-qz-scale));
  font-size: calc(12px / var(--kb-qz-scale)) !important;
  line-height: calc(16px / var(--kb-qz-scale));
}
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-radio__item.t-contact-method__type {
  border-color: transparent !important;
  box-shadow: none !important;
}
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-contact-method__type-label svg {
  width: calc(14px / var(--kb-qz-scale));
  height: calc(14px / var(--kb-qz-scale));
  flex-shrink: 0;
}

/* Мобильные переключатели связи. */
@media (max-width: 959.98px) {
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-contact-method__type-label {
    font-size: calc(11px / var(--kb-qz-scale)) !important;
  }
}

/* Навигация квиза — 44 экранных px; цвета и обработчики штатные. */
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__btn-wrapper .t-btn,
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__btn-wrapper .t-submit {
  box-sizing: border-box;
  height: var(--kb-qz-action);
  min-height: var(--kb-qz-action);
  padding: 0 calc(20px / var(--kb-qz-scale));
  font-size: calc(14px / var(--kb-qz-scale));
}
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__btn-wrapper .t-quiz__btn_prev {
  width: var(--kb-qz-action);
  min-width: var(--kb-qz-action);
  padding: 0;
}

/* От 960 px поля ниже штатных 60 CSS px на 6 экранных px.
   Для ответов задаём min-height: длинный текст не обрезается.
   Вертикальный padding уменьшается симметрично с учётом автоскейла. */
@media (min-width: 960px) {
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz {
    --kb-qz-field-base-height: 60px;
    --kb-qz-field-reduction: calc(6px / var(--kb-qz-scale));
    --kb-qz-field-height: calc(var(--kb-qz-field-base-height) - var(--kb-qz-field-reduction));
  }
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz .t-checkboxes__wrapper_button .t-checkboxes__item,
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz .t-radio__wrapper_button .t-radio__item {
    height: auto !important;
    min-height: var(--kb-qz-field-height) !important;
  }
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz .t-checkboxes__wrapper_button .t-checkbox__control,
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz .t-form__inputsbox .t-radio__wrapper_button .t-radio__item {
    padding-top: calc(10px - var(--kb-qz-field-reduction) / 2) !important;
    padding-bottom: calc(10px - var(--kb-qz-field-reduction) / 2) !important;
  }
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form input.t-input:not(.t-input-phonemask),
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-input-phonemask__wrap {
    box-sizing: border-box;
    height: var(--kb-qz-field-height) !important;
    min-height: 0 !important;
  }
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form input.t-input_pvis {
    padding-top: calc(26px - var(--kb-qz-field-reduction) / 2) !important;
    padding-bottom: calc(10px - var(--kb-qz-field-reduction) / 2) !important;
  }
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-input__vis-ph {
    top: calc(22px - var(--kb-qz-field-reduction) / 2) !important;
  }
}

/* Описание финального шага — 14 экранных px, включая вложенный текст. */
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form__header__descr,
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form__header__descr * {
  font-size: calc(14px / var(--kb-qz-scale)) !important;
}

/* Скрываем только стрелку «Далее», включая мобильную копию. */
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__btn_next .t-btnflex__icon {
  display: none !important;
}

/* От 640 px: имя и email рядом, способ связи — одна колонка.
   Остальные поля занимают строку; ниже 640 px — штатная сетка Tilda. */
@media (min-width: 640px) {
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-quiz__inputs-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-quiz__step__input {
    grid-column: 1 / -1;
    min-width: 0;
  }
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-quiz__step__input:has(> .t-input-group_nm),
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-quiz__step__input:has(> .t-input-group_em) {
    grid-column: auto;
  }
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-quiz__step__input:has(> .t-input-group_contact_method) {
    grid-column: 1;
    width: 100%;
    align-self: flex-start;
  }
}

/* От 960 px: заголовок, описание и согласие — по ширине одной колонки. */
@media (min-width: 960px) {
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form__header__title,
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form__header__descr {
    width: calc((100% - var(--kb-qz-gap)) / 2);
    max-width: 100%;
  }
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-quiz__step__input:has(> .t-input-group_cb) {
    grid-column: 1;
  }
}

/* Согласие квиза: меньше штатного на 1 экранный px до 960,
   на 2 экранных px от 960. Размер индикатора не зависит от текста. */
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-input-group_cb .t-checkbox__control > span {
  --kb-qz-consent-reduction: 1px;
  font-size: calc(1em - var(--kb-qz-consent-reduction) / var(--kb-qz-scale)) !important;
}
:is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-input-group_cb .t-checkbox__control > span a {
  font-size: inherit !important;
}
@media (min-width: 960px) {
  :is(.uc-kb-quiz, .t-rec:has(.t1040.t-quiz)) .t-quiz__contact-form .t-input-group_cb .t-checkbox__control > span {
    --kb-qz-consent-reduction: 2px;
  }
}

/* FAQ T668: сохраняем левые отступы из присланного файла:
   20 px на 320–1200 px, 25 px выше 1200 px. */
#allrecords .t668__trigger-button,
#allrecords .t668__content {
  padding-left: 25px !important;
}
@media screen and (min-width: 320px) and (max-width: 1200px) {
  #allrecords .t668__trigger-button,
  #allrecords .t668__content {
    padding-left: 20px !important;
  }
}

/* Видимый размер плюса. Область нажатия не уменьшается. */
#allrecords .t668__lines svg {
  transform: scale(0.72) !important;
  transform-origin: center center !important;
}
@media screen and (min-width: 320px) and (max-width: 960px) {
  #allrecords .t668__lines svg {
    transform: scale(0.68) !important;
  }
}
@media screen and (min-width: 320px) and (max-width: 480px) {
  #allrecords .t668__lines svg {
    transform: scale(0.64) !important;
  }
}

/* Место между текстом вопроса и круглой кнопкой: минимум 20 экранных px.
   У T668 иконка с отступами занимает 40 CSS px, справа задано 10 px;
   штатное правило Tilda до 640 px меняет правый отступ иконки на 8 px.
   Резервируем место в кнопке-вопросе, не двигая сами иконки.
   Короткий вопрос может заканчиваться раньше — расстояние будет больше. */
@media screen and (min-width: 320px) and (max-width: 960px) {
  #allrecords .t668 {
    --kb-faq-scale: 1;
    --kb-faq-icon-right: 10px;
  }
  #allrecords .t-record_scaled .t668 {
    --kb-faq-scale: var(--t-zoom, 1);
  }
  #allrecords .t668__trigger-button {
    padding-right: calc(40px + var(--kb-faq-icon-right) + 20px / var(--kb-faq-scale)) !important;
  }
  #allrecords .t668__title {
    display: block;
    padding-right: 0 !important;
  }
}
@media screen and (min-width: 320px) and (max-width: 640px) {
  #allrecords .t668 {
    --kb-faq-icon-right: 8px;
  }
}

/* Скрытие горизонтального переполнения страницы */

#allrecords {
  overflow-x: clip;
}

/* Скрытие полос прокрутки внутри Zero Block */

#allrecords .tn-molecule {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

#allrecords .tn-molecule::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

/* ГЛОБАЛЬНОЕ ИСКЛЮЧЕНИЕ: скрытие подтверждений всех форм.
   Сохранено по прямому указанию владельца. Нужен альтернативный
   экран или переход после отправки; CSS сам его не создаёт. */

.t-form__successbox,
.js-successbox,
.t-form-success-popup,
.t-form-success-popup__window {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* BF502N: только поля, переключатели связи и согласие. */

/* 1. Промежутки между полями — 8 px. */
.t702 .t-form__inputsbox_vertical-form
> .t-input-group:not(.t-input-group_cb) {
  margin-bottom: 8px !important;
}

.t702 .t-contact-method__container,
.t702 .t-contact-method__types-container {
  gap: 8px !important;
}

/* 2. Однострочные поля — 56 px на всех устройствах. */
.t702 .t-form input.t-input:not([type="hidden"]):not(.t-input-phonemask),
.t702 .t-form select.t-select,
.t702 .t-form .t-input-phonemask__wrap {
  box-sizing: border-box;
  height: 56px !important;
  min-height: 0 !important;
}

/* Место для плавающей подписи. */
.t702 .t-form input.t-input_pvis {
  padding-top: 24px !important;
  padding-bottom: 8px !important;
}

.t702 .t-input-block > input.t-input_pvis ~ .t-input__vis-ph {
  top: 20px !important;
}

/* 3. Текст полей и подсказок — 13 px. */
.t702 .t-form .t-input,
.t702 .t-form .t-select,
.t702 .t-form select.t-select,
.t702 .t-form .t-input__vis-ph,
.t702 .t-form .t-input-phonemask__select,
.t702 .t-form .t-input-phonemask__select-code,
.t702 .t-form .t-input::placeholder {
  font-size: 13px !important;
}

/* 4. «Выберите способ связи» — 14 px, Semi Bold. */
.t702 .t-input-group_contact_method .t-input-title,
.t702 .t-input-group_contact_method .t-input-title * {
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* 5. WhatsApp / Telegram — размеры как в квизе. */
.t702 .t-contact-method__type-label {
  box-sizing: border-box;
  min-height: 32px;
  padding: 6px 10px;
  gap: 5px;
  font-size: 12px !important;
  line-height: 16px;
}

.t702 .t-contact-method__type-label svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* Сохраняем штатную заливку выбранного способа, убираем рамку. */
.t702 .t-radio__item.t-contact-method__type {
  border-color: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 959.98px) {
  .t702 .t-contact-method__type-label {
    font-size: 11px !important;
  }
}

/* 6. Чекбокс согласия — как в квизе. */
.t702 .t-input-group_cb .t-checkbox__indicator {
  --size: 18px;
  --border-width: 1.5px;
  --border-radius: 3px;
  flex-shrink: 0;
}

/* Согласие BF502N: 11 px на 320–959, 12 px на 960–1200.
   Выше 1200 px остаётся штатный размер Tilda. */
@media (min-width: 320px) and (max-width: 1200px) {
  .t702 .t-input-group_cb .t-checkbox__control > span {
    font-size: 11px !important;
  }
}
@media (min-width: 960px) and (max-width: 1200px) {
  .t702 .t-input-group_cb .t-checkbox__control > span {
    font-size: 12px !important;
  }
}
.t702 .t-input-group_cb .t-checkbox__control > span a {
  font-size: inherit !important;
}

/* Мобильный ввод — 16 px для защиты от фокусного зума.
   Select намеренно исключён: списки и подсказки остаются 13 px
   по согласованному выбору владельца. Pinch-to-zoom не отключаем. */
@media (max-width: 960px), (any-pointer: coarse) {
  .t702 .t-form input.t-input,
  .t702 .t-form textarea.t-input {
    font-size: 16px !important;
  }
}

/* Kisel Buro · ME403N (T3112) · кнопка закрытия. */

@media (max-width: 959.98px) {
  .t3112[data-tooltip-hook="#menu"] {
    --kb-menu-scale: 1;
    --kb-menu-header-unit: calc(100vw / 320);
    --kb-menu-center-right: 51.5;
  }

  .t-record_scaled .t3112[data-tooltip-hook="#menu"] {
    --kb-menu-scale: var(--t-zoom, 1);
  }

  /* Крестик на месте кнопки открытия в шапке. */
  .t3112[data-tooltip-hook="#menu"] > .t3112__close-button {
    top: calc(
      40 * var(--kb-menu-header-unit) / var(--kb-menu-scale)
      - 20px
    );

    right: calc(
      var(--kb-menu-center-right) * var(--kb-menu-header-unit)
      / var(--kb-menu-scale) - 20px
    );
  }

  /* От нижнего края крестика до пунктов меню — 20 экранных px. */
  .t3112[data-tooltip-hook="#menu"] > .t-menu-popover__container {
    padding-top: calc(
      40 * var(--kb-menu-header-unit) / var(--kb-menu-scale)
      + 20px + 20px / var(--kb-menu-scale)
    );
  }
}

@media (min-width: 360px) and (max-width: 959.98px) {
  .t3112[data-tooltip-hook="#menu"] {
    --kb-menu-header-unit: calc(100vw / 360);
    --kb-menu-center-right: 61.5;
  }
}

@media (min-width: 480px) and (max-width: 959.98px) {
  .t3112[data-tooltip-hook="#menu"] {
    --kb-menu-header-unit: calc(100vw / 480);
    --kb-menu-center-right: 71.5;
  }
}

@media (min-width: 640px) and (max-width: 959.98px) {
  .t3112[data-tooltip-hook="#menu"] {
    --kb-menu-header-unit: calc(100vw / 640);
    --kb-menu-center-right: 81.5;
  }
}

/* ME403N: сплошной белый фон на 320–480 px. */
@media (min-width: 320px) and (max-width: 480px) {
  .t3112[data-tooltip-hook="#menu"],
  .t3112[data-tooltip-hook="#menu"] > .t-menu-popover__container {
    background-color: #fff !important;
  }

  /* Убираем затемнение под раскрытым меню. */
  .t-rec:has(.t3112[data-tooltip-hook="#menu"]) .t3112__overlay_bg {
    background-color: #fff !important;
    opacity: 1 !important;
  }

  /* Фон страницы сверху и снизу — только пока меню открыто. */
  html:has(.t3112[data-tooltip-hook="#menu"].t3112__menu_show),
  body:has(.t3112[data-tooltip-hook="#menu"].t3112__menu_show) {
    background-color: #fff !important;
  }
}

/* T657: компактное уведомление на мобильных и планшетах. */
@media (min-width: 320px) and (max-width: 960px) {
  .t657.t657_rectangle {
    left: auto !important;
    right: 30px !important;
    bottom: 30px !important;
    width: 340px !important;
    max-width: calc(100vw - 60px) !important;
    height: auto !important;
  }

  /* Внутренние отступы — как на десктопе. */
  .t657.t657_rectangle .t657__wrapper {
    box-sizing: border-box;
    width: 100%;
    padding: 20px !important;
  }

  /* Штатный крестик; положение и обработчик не меняются. */
  .t657.t657_rectangle .t657__close-button {
    display: block !important;
  }
}