/* ===== БЛОК BF204 (УНИВЕРСАЛЬНО): КОМПАКТНЫЙ + ФОН HERO ===== */
.dh-bf204 { background-color: #f3f9fd !important; padding-top: 40px !important; padding-bottom: 40px !important; }
.dh-bf204 .t-title, .dh-bf204 .t-form__title { font-size: 28px !important; margin-bottom: 8px !important; color: #0f1a2c !important; }
.dh-bf204 .t-descr, .dh-bf204 .t-form__descr, .dh-bf204 .t-form__text { font-size: 15px !important; margin-bottom: 22px !important; color: #5b6577 !important; }
.dh-bf204 .t-form, .dh-bf204 .t-form__inputsbox, .dh-bf204 .t-form__inputs { max-width: 420px !important; margin: 0 auto !important; background: #f4f8fb !important; border-radius: 16px !important; padding: 22px 22px 20px !important; box-shadow: 0 16px 44px -14px rgba(43, 124, 211, 0.2) !important; border: 1px solid #e2eaf2 !important; }
.dh-bf204 .t-form__field, .dh-bf204 .t-input-group { margin-bottom: 12px !important; }
.dh-bf204 .t-label, .dh-bf204 .t-form__label { display: block !important; font-size: 12px !important; font-weight: 600 !important; color: #0f1a2c !important; margin-bottom: 4px !important; letter-spacing: 0.01em !important; }
.dh-bf204 .t-input, .dh-bf204 .t-form input[type="text"], .dh-bf204 .t-form input[type="tel"], .dh-bf204 .t-form input[type="email"] { width: 100% !important; padding: 11px 14px !important; background: #fff !important; border: 1.5px solid #d4e0ec !important; border-radius: 9px !important; color: #0f1a2c !important; font-size: 14px !important; transition: all 0.2s !important; outline: none !important; box-sizing: border-box !important; }
.dh-bf204 .t-input:focus, .dh-bf204 .t-form input:focus { border-color: #2B7CD3 !important; box-shadow: 0 0 0 4px rgba(43, 124, 211, 0.12) !important; }
.dh-bf204 .t-select, .dh-bf204 .t-form select { width: 100% !important; padding: 11px 40px 11px 14px !important; background: #fff !important; border: 1.5px solid #d4e0ec !important; border-radius: 9px !important; color: #0f1a2c !important; font-size: 14px !important; appearance: none !important; -webkit-appearance: none !important; background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3e%3cpath d='M1 1L6 6L11 1' stroke='%232B7CD3' stroke-width='2' stroke-linecap='round'/%3e%3c/svg%3e") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; cursor: pointer !important; }
.dh-bf204 .t-submit, .dh-bf204 .t-btn { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; padding: 13px 20px !important; background: linear-gradient(135deg, #2B7CD3 0%, #1f5fa3 100%) !important; color: #ffffff !important; border: 0 !important; border-radius: 9px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; transition: all 0.25s !important; box-shadow: 0 12px 26px -10px rgba(43, 124, 211, 0.5) !important; margin-top: 6px !important; }
.dh-bf204 .t-submit:hover, .dh-bf204 .t-btn:hover { transform: translateY(-2px) !important; box-shadow: 0 16px 32px -10px rgba(43, 124, 211, 0.6) !important; }
.dh-bf204 .t-form__success { background: #f4f8fb !important; border-radius: 16px !important; padding: 30px 20px !important; text-align: center !important; }
.dh-bf204 .t-form__success-title { font-size: 18px !important; font-weight: 700 !important; color: #0f1a2c !important; margin-bottom: 6px !important; }
.dh-bf204 a { color: #1f5fa3 !important; text-decoration: none !important; border-bottom: 1px solid rgba(31, 95, 163, 0.3) !important; }

@media (max-width: 640px) {
  .dh-bf204 { padding-top: 28px !important; padding-bottom: 28px !important; }
  .dh-bf204 .t-title { font-size: 24px !important; }
  .dh-bf204 .t-form, .dh-bf204 .t-form__inputsbox { padding: 18px 16px 16px !important; }
  .dh-bf204 .t-input, .dh-bf204 .t-select { padding: 10px 13px !important; }
  .dh-bf204 .t-submit, .dh-bf204 .t-btn { padding: 12px 18px !important; }
}

/* ===== ДЕСКТОП: БОКОВЫЕ ЭЛЕМЕНТЫ ===== */
@media (min-width: 1200px) {
  .dh-bf204 { position: relative; }
  .dh-bf204::before {
    content: "✓  Устраняем за 1 визит — среднее время 2 часа\A✓  Гарантия 100% результата, иначе вернём деньги\A✓  Безопасно для детей и домашних животных\A✓  Конфиденциальный выезд — без огласки\A✓  Фиксированная цена до начала работ\A\A 1 500+ выездов с 2020 года\A 6+ лет опыта  •  рейтинг Avito 5.0";
    position: absolute; left: max(32px, calc(50% - 620px)); top: 50%; transform: translateY(-50%);
    width: 340px; white-space: pre-line; font-family: var(--t-text-font, 'TildaSans', sans-serif);
    font-size: 15px; line-height: 2; color: #33415c; pointer-events: none; z-index: 1;
  }
  .dh-bf204::after {
    content: "100%";
    position: absolute; right: max(32px, calc(50% - 620px)); top: 50%; transform: translateY(-50%);
    width: 170px; height: 170px; border-radius: 50%;
    background: linear-gradient(135deg, #1f8fcd 0%, #0f6fa8 100%); color: #ffffff;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--t-headline-font, 'TildaSans', sans-serif); font-size: 40px; font-weight: 800; letter-spacing: -0.02em;
    box-shadow: 0 18px 40px -12px rgba(31, 143, 205, 0.45); pointer-events: none; z-index: 1;
  }
}

/* ===== BF204: КОМПАКТНЕЕ И КОНТРАСТНЕЕ ===== */

/* Убираем внутреннюю вторую рамку (карточка в карточке) */
.dh-bf204 .t-form__inputsbox,
.dh-bf204 .t-form__inputs {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Карточка: меньше воздуха внутри */
.dh-bf204 .t-form {
  padding: 20px 20px 18px !important;
}

/* Заголовок и подзаголовок */
.dh-bf204 .t-title,
.dh-bf204 .t-form__title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0f1a2c !important;
  margin-bottom: 4px !important;
}
.dh-bf204 .t-descr,
.dh-bf204 .t-form__descr,
.dh-bf204 .t-form__text {
  font-size: 13px !important;
  color: #46536b !important;
  margin-bottom: 16px !important;
}

/* Лейблы полей: тёмные, слева, плотнее */
.dh-bf204 .t-label,
.dh-bf204 .t-form__label {
  display: block !important;
  text-align: left !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #0f1a2c !important;
  margin: 0 0 5px !important;
  letter-spacing: 0.01em !important;
}

/* Меньше воздуха между полями */
.dh-bf204 .t-form__field,
.dh-bf204 .t-input-group {
  margin-bottom: 12px !important;
}

/* Поля: контрастный текст, аккуратные отступы */
.dh-bf204 .t-input,
.dh-bf204 .t-select,
.dh-bf204 .t-form input,
.dh-bf204 .t-form select {
  color: #0f1a2c !important;
  font-size: 14px !important;
  padding: 11px 14px !important;
}
.dh-bf204 .t-input::placeholder,
.dh-bf204 .t-form input::placeholder {
  color: #8a94a6 !important;
  opacity: 1 !important;
}

/* Кнопка ближе к полям */
.dh-bf204 .t-submit,
.dh-bf204 .t-btn {
  margin-top: 4px !important;
  padding: 13px 20px !important;
}

/* Согласие: читаемое */
.dh-bf204 .dh-consent,
.dh-bf204 .t-checkbox {
  font-size: 11.5px !important;
  line-height: 1.45 !important;
  color: #46536b !important;
}

/* ===== BF204: ФИНАЛЬНЫЙ ВИД ПО РЕФЕРЕНСУ ===== */

/* Карточка */
.dh-bf204 .t-form {
  background: #f4f8fb !important;
  border: 1px solid #e8eef5 !important;
  border-radius: 16px !important;
  padding: 24px 24px 20px !important;
  box-shadow: 0 16px 44px -14px rgba(43, 124, 211, 0.18) !important;
}

/* Убираем внутреннюю вторую рамку */
.dh-bf204 .t-form__inputsbox,
.dh-bf204 .t-form__inputs {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Заголовок */
.dh-bf204 .t-title,
.dh-bf204 .t-form__title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0f1a2c !important;
  text-align: center !important;
  margin: 0 0 6px !important;
  letter-spacing: -0.02em !important;
}

/* Подзаголовок + разделительная линия под ним */
.dh-bf204 .t-descr,
.dh-bf204 .t-form__descr,
.dh-bf204 .t-form__text {
  font-size: 13px !important;
  color: #5b6577 !important;
  text-align: center !important;
  margin: 0 0 16px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(43, 124, 211, 0.12) !important;
}

/* Лейблы: тёмные, слева */
.dh-bf204 .t-label,
.dh-bf204 .t-form__label {
  display: block !important;
  text-align: left !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #0f1a2c !important;
  margin: 0 0 6px !important;
}

/* Расстояние между полями */
.dh-bf204 .t-form__field,
.dh-bf204 .t-input-group {
  margin-bottom: 14px !important;
}

/* Поля: белые, скруглённые, контрастные */
.dh-bf204 .t-input,
.dh-bf204 .t-select,
.dh-bf204 .t-form input[type="text"],
.dh-bf204 .t-form input[type="tel"],
.dh-bf204 .t-form input[type="email"],
.dh-bf204 .t-form select {
  width: 100% !important;
  background: #fff !important;
  border: 1.5px solid #d4e0ec !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  color: #0f1a2c !important;
  box-sizing: border-box !important;
}

/* Кнопка со стрелкой, как в референсе */
.dh-bf204 .t-submit,
.dh-bf204 .t-btn {
  border-radius: 10px !important;
  padding: 14px 20px !important;
  font-size: 14.5px !important;
  margin-top: 6px !important;
}
.dh-bf204 .t-submit::after {
  content: "→";
  margin-left: 8px;
  font-size: 16px;
  line-height: 1;
}

/* Чекбокс согласия: не растягивать стилями полей */
.dh-bf204 input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  border: 1.5px solid #d4e0ec !important;
  border-radius: 4px !important;
  padding: 0 !important;
  background: #fff !important;
}
.dh-bf204 .dh-consent,
.dh-bf204 .t-checkbox {
  margin-top: 12px !important;
  font-size: 11.5px !important;
  line-height: 1.45 !important;
  color: #5b6577 !important;
}

/* Убираем горизонтальные линии между полями */
.dh-bf204 .t-form__field,
.dh-bf204 .t-input-group {
  border: 0 !important;
}

/* ===== ТОЧЕЧНАЯ ДОВОДКА ФОРМЫ (ФИНАЛ) ===== */

/* Внутри карточки всё по левому краю, центр только у заголовка/подзаголовка */
.dh-bf204 .t-form { text-align: left !important; }
.dh-bf204 .t-form .t-title,
.dh-bf204 .t-form .t-form__title,
.dh-bf204 .t-form .t-descr,
.dh-bf204 .t-form .t-form__descr,
.dh-bf204 .t-form .t-form__text { text-align: center !important; }

/* Лейблы полей: тёмные, слева, компактно — по тегу label, независимо от класса */
.dh-bf204 .t-form label:not(.dh-consent):not(.t-checkbox),
.dh-bf204 .t-form .t-label,
.dh-bf204 .t-form .t-form__label {
  display: block !important;
  text-align: left !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #0f1a2c !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 1.3 !important;
}

/* Убираем линии-разделители и лишний воздух между полями */
.dh-bf204 .t-form .t-form__field,
.dh-bf204 .t-form .t-input-group,
.dh-bf204 .t-form [class*="__field"],
.dh-bf204 .t-form [class*="fieldbox"] {
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 14px !important;
}