/* ============================================================
   Contact Form 7 — подгонка разметки плагина под вёрстку .cta__form.
   CF7 оборачивает каждый контрол в инлайновый <span class="wpcf7-form-control-wrap">
   и добавляет служебные элементы — приводим их к поведению исходных полей.
   ============================================================ */

/* CF7 оборачивает форму в <div class="wpcf7"> — он рвёт flex-цепочку
   (.cta__content → .cta__form). display:contents делает обёртку «прозрачной»
   для раскладки, и форма снова становится прямым flex-ребёнком. */
.wpcf7 {
  display: contents;
}

/* CF7 добавляет в форму лишние flex-элементы, из-за которых родительский
   gap:40 применяется несколько раз и «съедает» высоту (поле «Комментарий»
   не растягивается). Убираем их из потока:
   - fieldset со скрытыми полями (_wpcf7 и т.п.) — служебный, не виден;
   - пустой блок ответа CF7 — показываем только когда в нём есть сообщение. */
.cta__form .hidden-fields-container {
  display: none;
}
.cta__form .wpcf7-response-output:empty {
  display: none;
}

/* Обёртка контрола должна вести себя как блок на всю ширину поля. */
.cta__form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/* Поле «Комментарий» растягивается на оставшуюся высоту (как в вёрстке). */
.cta__field--comment .wpcf7-form-control-wrap {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.cta__field--comment textarea.cta__control {
  flex: 1 1 auto;
  min-height: 0;
}

/* Спиннер CF7 не нужен: успех сразу уводит на /thanks/. Прячем совсем. */
.cta__form .wpcf7-spinner {
  display: none;
}

/* При ошибке блок получает чуть больше нижнего отступа — чтобы плашка-сводка
   поместилась внутри (в обычном состоянии высота блока не меняется).
   Класс .has-error вешает JS по событию CF7 (wpcf7invalid и т.п.). */
.cta.has-error {
  height: auto;
  min-height: calc(579 * var(--wm));
  padding-bottom: calc(84 * var(--wm));
}

/* Плашка-сводка об ошибке (жёлтая обводка) — абсолютом в нижнем поле блока,
   одной строкой. Не сдвигает поля (комментарий остаётся 140) и не выпирает. */
.cta__content { position: relative; }
.cta__form .wpcf7-response-output {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  margin: calc(10 * var(--wm)) 0 0;
  padding: calc(8 * var(--wm)) calc(14 * var(--wm));
  font-size: var(--text-sm);
  line-height: 1.2;
  color: var(--color-white);
  border: 1px solid var(--color-accent);
  border-radius: calc(8 * var(--wm));
  background: rgba(233, 255, 188, 0.06);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cta__form .wpcf7-response-output:empty {
  display: none;
}

/* В модалке заявки сводку-плашку не показываем (нет контейнера .cta__content —
   иначе она «всплывает» криво). Ошибки видны подсказками под полями. */
.modal .wpcf7-response-output {
  display: none !important;
}

/* Подсказка об ошибке — абсолютом под полем (в зазор между полями),
   чтобы не раздвигать форму и не сжимать «Комментарий». */
.cta__field {
  position: relative;
}
.cta__form .wpcf7-not-valid-tip {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: calc(3 * var(--wm));
  font-size: var(--text-sm);
  line-height: 1.1;
  color: #ff6b6b;
}
