/**
 * Contact Form 7 + тема: один ряд полей (flex), без голубой полосы CF7 у .wpcf7-response-output.
 */

/*
 * CF7 wpautop даёт <p> вокруг полей. display:contents ломается после init CF7 в части браузеров
 * (возврат к margin абзаца → огромные зазоры). Держим <p> в потоке с нулевыми отступами + PHP/JS unwrap.
 */
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero > p,
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) > p,
.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end > p,
.sfm-end__card form.sfm-end__form.wpcf7-form:not(:has(.sfm-cf7-inner--end)) > p,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure > p,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure:not(:has(.sfm-cf7-inner--measure)) > p,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen > p,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) > p {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  line-height: 0 !important;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero p,
.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end p,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure p,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen p {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  line-height: 0 !important;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero p:empty,
.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end p:empty,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure p:empty,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen p:empty {
  display: none !important;
}

/* Восстанавливаем читаемую строку внутри обёрток полей (line-height у <p> обнулён) */
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap,
.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end .wpcf7-form-control-wrap,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure .wpcf7-form-control-wrap,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap {
  line-height: normal;
}

#sfm-measure-modal .wpcf7 {
  margin: 0;
  width: 100%;
}

#sfm-measure-modal .sfm-modal__note:empty {
  display: none;
  margin: 0;
  padding: 0;
  min-height: 0;
}

/* Модалка замера: компактная раскладка (id формы из шорткода — максимальная специфичность) */
#sfm-measure-modal .sfm-modal__dialog:has(.wpcf7) .sfm-modal__title {
  margin-bottom: 4px;
}

#sfm-measure-modal .wpcf7 .screen-reader-response {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
}

#sfm-measure-modal form#sfm-measure-cf7-form.sfm-modal__form.wpcf7-form.sfm-cf7--measure {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

#sfm-measure-modal form#sfm-measure-cf7-form.sfm-modal__form.wpcf7-form.sfm-cf7--measure > fieldset.hidden-fields-container {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

#sfm-measure-modal form#sfm-measure-cf7-form .sfm-cf7-inner--measure {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 8px 10px !important;
  width: 100% !important;
  margin: 0 !important;
}

#sfm-measure-modal form#sfm-measure-cf7-form .sfm-cf7-inner--measure .wpcf7-form-control-wrap:not(.acceptance):not(:has(input.wpcf7-submit)):not(:has(input[type="submit"])) {
  flex: 1 1 calc(50% - 6px);
  min-width: 0;
  max-width: calc(50% - 5px);
}

#sfm-measure-modal form#sfm-measure-cf7-form .sfm-cf7-inner--measure .wpcf7-form-control-wrap:has(input.wpcf7-submit),
#sfm-measure-modal form#sfm-measure-cf7-form .sfm-cf7-inner--measure .wpcf7-form-control-wrap:has(input[type="submit"]) {
  flex: 1 1 100%;
  display: flex !important;
  justify-content: center !important;
  margin: 0 !important;
}

#sfm-measure-modal form#sfm-measure-cf7-form .sfm-cf7-inner--measure .wpcf7-form-control-wrap.acceptance {
  flex: 1 1 100%;
  margin: 0 !important;
  padding-top: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

@media (max-width: 640px) {
  #sfm-measure-modal form#sfm-measure-cf7-form .sfm-cf7-inner--measure .wpcf7-form-control-wrap:not(.acceptance):not(:has(input.wpcf7-submit)):not(:has(input[type="submit"])) {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

/* Герой: меньше «воздуха» между абзацем, списком с ✓ и блоком формы при CF7 */
.sfm-hero__left:has(.sfm-hero__form-shell .wpcf7) .sfm-hero__text {
  margin-bottom: 14px;
}

.sfm-hero__left:has(.sfm-hero__form-shell .wpcf7) .sfm-hero__list {
  margin-bottom: 16px;
}

.sfm-hero__left:has(.sfm-hero__form-shell .wpcf7) .sfm-hero__list li {
  margin-bottom: 6px;
}

.sfm-hero__form-shell:has(form.wpcf7-form) {
  margin-top: 22px;
  padding-bottom: 14px;
}

/* --- Голубая полоса CF7 (.wpcf7 form .wpcf7-response-output): перебиваем с большей специфичностью --- */
.wpcf7 form.sfm-cf7.wpcf7-form .wpcf7-response-output,
form.sfm-cf7.wpcf7-form .wpcf7-response-output {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

form.sfm-cf7.wpcf7-form .wpcf7-response-output.wpcf7-display-none {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

form.sfm-cf7.wpcf7-form .wpcf7-response-output.wpcf7-mail-sent-ok,
form.sfm-cf7.wpcf7-form .wpcf7-response-output.wpcf7-mail-sent-ng,
form.sfm-cf7.wpcf7-form .wpcf7-response-output.wpcf7-validation-errors,
form.sfm-cf7.wpcf7-form .wpcf7-response-output.wpcf7-spam-blocked {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  margin-top: 8px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(15, 23, 42, 0.14) !important;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95) !important;
}

/*
 * CF7 после init вставляет .wpcf7-spinner после submit. У CF7 стоит visibility:hidden, но элемент
 * остаётся в потоке; раньше тема давала flex:1 1 100% / width:100% — спиннер превращался в отдельную
 * «полосу» с большим зазором до acceptance. Вне .submitting убираем из потока полностью.
 */
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(.submitting) .wpcf7-spinner,
.sfm-end__card form.sfm-end__form.wpcf7-form:not(.submitting) .wpcf7-spinner,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form:not(.submitting) .wpcf7-spinner,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form:not(.submitting) .wpcf7-spinner {
  display: none !important;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form.submitting .wpcf7-spinner,
.sfm-end__card form.sfm-end__form.wpcf7-form.submitting .wpcf7-spinner,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.submitting .wpcf7-spinner,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.submitting .wpcf7-spinner {
  display: inline-block !important;
  visibility: visible !important;
}

/* CF7 даёт .wpcf7-response-output margin ~2em; если класс init слетает до display:none — подстраховка по data-status */
.wpcf7 > form.sfm-cf7.wpcf7-form[data-status="init"] > .wpcf7-response-output,
.wpcf7 > form.sfm-cf7.wpcf7-form[data-status="resetting"] > .wpcf7-response-output,
.wpcf7 > form.sfm-cf7.wpcf7-form[data-status="submitting"] > .wpcf7-response-output {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* Убираем системную голубую обводку фокуса у полей CF7 — оставляем стиль темы */
form.sfm-cf7.wpcf7-form input.sfm-input:focus,
form.sfm-cf7.wpcf7-form textarea.sfm-input:focus,
form.sfm-cf7.wpcf7-form select.sfm-input:focus {
  outline: none !important;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-input:focus {
  border-color: rgba(15, 23, 42, 0.95);
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08), 0 1px 0 rgba(255, 255, 255, 0.65) inset;
}

.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-input:focus,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form .sfm-input:focus,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form .sfm-input:focus {
  border-color: rgba(201, 181, 153, 0.95);
  box-shadow: none;
}

/* Квиз: скрытая форма CF7 */
.sfm-cf7-quiz-bridge-wrap {
  position: fixed;
  left: -200vw;
  top: 0;
  width: 480px;
  height: 280px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
  border: 0;
}

.sfm-cf7-quiz-bridge-wrap .wpcf7-form.sfm-cf7--quiz .sfm-cf7-quiz-submit-hidden,
.sfm-cf7-quiz-bridge-wrap .wpcf7-form.sfm-cf7--quiz input.sfm-cf7-quiz-submit-hidden {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.sfm-cf7-quiz-summary {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* Общее */
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .wpcf7-form-control-wrap,
.sfm-end__card form.sfm-end__form.wpcf7-form .wpcf7-form-control-wrap,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .wpcf7-form-control-wrap,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .wpcf7-form-control-wrap {
  min-width: 0;
  box-sizing: border-box;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .wpcf7-form-control-wrap .sfm-input,
.sfm-end__card form.sfm-end__form.wpcf7-form .wpcf7-form-control-wrap .sfm-input,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .wpcf7-form-control-wrap .sfm-input,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .wpcf7-form-control-wrap .sfm-input,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .wpcf7-form-control-wrap textarea.sfm-input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.sfm-end__card form.sfm-end__form.wpcf7-form input.sfm-input,
.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-input,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure input.sfm-input,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-input {
  height: 48px;
  min-height: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* ========== Герой: один ряд без привязки к name= (бэкап с другими именами полей) ========== */
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form {
  display: block;
  width: 100%;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  row-gap: 4px;
  column-gap: 10px;
  align-items: center;
  width: 100%;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:not(.acceptance):not(:has(input.wpcf7-submit)):not(:has(input[type="submit"])) {
  min-width: 0;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:has(input.wpcf7-submit),
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:has(input[type="submit"]) {
  justify-self: center;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap.acceptance {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  justify-self: center;
  margin-top: 0;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Старый шорткод без inner (редко): те же правила на прямых обёртках */
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  row-gap: 4px;
  column-gap: 10px;
  align-items: center;
  width: 100%;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) .wpcf7-form-control-wrap:not(.acceptance):not(:has(input.wpcf7-submit)):not(:has(input[type="submit"])) {
  min-width: 0;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) .wpcf7-form-control-wrap.acceptance {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  justify-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) .wpcf7-form-control-wrap:has(input.wpcf7-submit),
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) .wpcf7-form-control-wrap:has(input[type="submit"]) {
  justify-self: center;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-input,
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form input.sfm-input,
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-button {
  height: 52px;
  min-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 15px;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-input {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.78);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
}

@media (max-width: 960px) {
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero,
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) {
    grid-template-columns: 1fr;
    row-gap: 10px;
    column-gap: 0;
  }

  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:has(input[type="submit"]),
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) .wpcf7-form-control-wrap:has(input[type="submit"]) {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%;
  }

  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero input.wpcf7-submit,
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero input[type="submit"],
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) input.wpcf7-submit,
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) input[type="submit"] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* ========== Нижний блок: имя | телефон | кнопка, согласие ниже ========== */
.sfm-end__card form.sfm-end__form.wpcf7-form {
  display: block;
  width: 100%;
}

.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 10px;
  width: 100%;
}

.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end .wpcf7-form-control-wrap:not(.acceptance) {
  flex: 1 1 0;
  min-width: 0;
}

.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end .wpcf7-form-control-wrap.acceptance {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end .wpcf7-form-control-wrap:has(input.wpcf7-submit),
.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end .wpcf7-form-control-wrap:has(input[type="submit"]) {
  flex: 0 0 auto;
}

.sfm-end__card form.sfm-end__form.wpcf7-form:not(:has(.sfm-cf7-inner--end)) {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.sfm-end__card form.sfm-end__form.wpcf7-form:not(:has(.sfm-cf7-inner--end)) .wpcf7-form-control-wrap:not(.acceptance) {
  flex: 1 1 0;
  min-width: 0;
}

.sfm-end__card form.sfm-end__form.wpcf7-form:not(:has(.sfm-cf7-inner--end)) .wpcf7-form-control-wrap.acceptance {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.sfm-end__card form.sfm-end__form.wpcf7-form:not(:has(.sfm-cf7-inner--end)) .wpcf7-form-control-wrap:has(input.wpcf7-submit),
.sfm-end__card form.sfm-end__form.wpcf7-form:not(:has(.sfm-cf7-inner--end)) .wpcf7-form-control-wrap:has(input[type="submit"]) {
  flex: 0 0 auto;
}

/* ========== Модалка замера: два поля в ряд, кнопка и согласие ниже на всю ширину ========== */
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure {
  display: block;
  width: 100%;
}

#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px 10px;
  width: 100%;
  margin: 0;
}

#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure .wpcf7-form-control-wrap:not(.acceptance):not(:has(input.wpcf7-submit)):not(:has(input[type="submit"])) {
  flex: 1 1 calc(50% - 6px);
  min-width: 0;
  max-width: calc(50% - 5px);
}

#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure .wpcf7-form-control-wrap.acceptance {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure .wpcf7-form-control-wrap:has(input.wpcf7-submit),
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure .wpcf7-form-control-wrap:has(input[type="submit"]) {
  flex: 1 1 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0;
}

#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure > input.wpcf7-submit {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure:not(:has(.sfm-cf7-inner--measure)) {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px 10px;
  width: 100%;
  margin: 0;
}

#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure:not(:has(.sfm-cf7-inner--measure)) .wpcf7-form-control-wrap:not(.acceptance):not(:has(input.wpcf7-submit)):not(:has(input[type="submit"])) {
  flex: 1 1 calc(50% - 6px);
  min-width: 0;
  max-width: calc(50% - 5px);
}

#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure:not(:has(.sfm-cf7-inner--measure)) .wpcf7-form-control-wrap.acceptance {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure:not(:has(.sfm-cf7-inner--measure)) .wpcf7-form-control-wrap:has(input.wpcf7-submit),
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure:not(:has(.sfm-cf7-inner--measure)) .wpcf7-form-control-wrap:has(input[type="submit"]) {
  flex: 1 1 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0;
}

#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure:not(:has(.sfm-cf7-inner--measure)) > input.wpcf7-submit {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure input.wpcf7-submit,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure input[type="submit"] {
  width: 50%;
  max-width: 50%;
  box-sizing: border-box;
}

@media (max-width: 960px) and (min-width: 641px) {
  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure > input.wpcf7-submit,
  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure:not(:has(.sfm-cf7-inner--measure)) > input.wpcf7-submit,
  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure input.wpcf7-submit,
  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure input[type="submit"] {
    width: 70%;
    max-width: 70%;
  }
}

/* ========== Модалка кухни ========== */
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen {
  display: block;
  width: 100%;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .wpcf7-form-control-wrap:has(> input.wpcf7-hidden),
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .wpcf7-form-control-wrap:has(input[name="kp-slug"]),
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .wpcf7-form-control-wrap:has(input[name="kp-label"]) {
  display: none;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px 12px;
  align-items: start;
  width: 100%;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has([name="kp-name"]) {
  grid-column: 1;
  grid-row: 1;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has([name="kp-phone"]) {
  grid-column: 2;
  grid-row: 1;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has(.sfm-kitchen-project-submit),
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has(input.wpcf7-submit),
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has(input[type="submit"]) {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: center;
  width: min(100%, 360px);
  max-width: 100%;
  display: flex;
  justify-content: center;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has(textarea[name="kp-comment"]) {
  grid-column: 1 / -1;
  grid-row: 3;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap.acceptance {
  grid-column: 1 / -1;
  grid-row: 4;
  justify-self: center;
  width: 100%;
  max-width: min(100%, 520px);
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:not(.acceptance):not(:has(textarea)):not(:has(input.wpcf7-submit)):not(:has(input[type="submit"])) {
  min-width: 0;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px 12px;
  align-items: start;
  width: 100%;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) .wpcf7-form-control-wrap[data-name="kp-name"] {
  grid-column: 1;
  grid-row: 1;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) .wpcf7-form-control-wrap[data-name="kp-phone"] {
  grid-column: 2;
  grid-row: 1;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) .wpcf7-form-control-wrap:has(.sfm-kitchen-project-submit),
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) .wpcf7-form-control-wrap:has(input.wpcf7-submit),
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) .wpcf7-form-control-wrap:has(input[type="submit"]) {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: center;
  width: min(100%, 360px);
  max-width: 100%;
  display: flex;
  justify-content: center;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) .wpcf7-form-control-wrap:has(textarea[name="kp-comment"]) {
  grid-column: 1 / -1;
  grid-row: 3;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) .wpcf7-form-control-wrap.acceptance {
  grid-column: 1 / -1;
  grid-row: 4;
  justify-self: center;
  width: 100%;
  max-width: min(100%, 520px);
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) .wpcf7-form-control-wrap:not(.acceptance):not(:has(textarea)):not(:has(input.wpcf7-submit)):not(:has(input[type="submit"])) {
  min-width: 0;
}

/* Согласие */
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .wpcf7-form-control-wrap.acceptance .wpcf7-acceptance,
.sfm-end__card form.sfm-end__form.wpcf7-form .wpcf7-form-control-wrap.acceptance .wpcf7-acceptance,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .wpcf7-form-control-wrap.acceptance .wpcf7-acceptance,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .wpcf7-form-control-wrap.acceptance .wpcf7-acceptance {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.35;
  color: #6c6b71;
  text-align: center;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .wpcf7-form-control-wrap.acceptance label,
.sfm-end__card form.sfm-end__form.wpcf7-form .wpcf7-form-control-wrap.acceptance label,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .wpcf7-form-control-wrap.acceptance label,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .wpcf7-form-control-wrap.acceptance label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0;
  cursor: pointer;
  font-size: 11px;
  line-height: 1.25;
  color: #6c6b71;
}

/* Антиспам-плагины добавляют поля в форму после загрузки; они не должны участвовать в раскладке. */
form.sfm-cf7 input.apbct_special_field,
form.sfm-cf7 .apbct_special_field,
form.sfm-cf7 input[name^="ct_"],
form.sfm-cf7 input[name^="apbct"] {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero > p > br,
.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end > p > br,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure > p > br,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen > p > br {
  display: none;
}

/* Разрывы между тегами, которые CF7 иногда вставляет после init */
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero br.wpcf7-br,
.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end br.wpcf7-br,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure br.wpcf7-br {
  display: none !important;
  height: 0 !important;
  line-height: 0 !important;
}

.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end .wpcf7-form-control-wrap:not(:has(.wpcf7-acceptance)) {
  flex: 1 1 0;
  min-width: 0;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:not(:has(.wpcf7-acceptance)):not(:has(textarea)) {
  min-width: 0;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:not(:has(.wpcf7-acceptance)):not(:has(input.wpcf7-submit)):not(:has(input[type="submit"])) {
  min-width: 0;
  max-width: none;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero input.wpcf7-submit.sfm-hero__button {
  width: auto;
  padding-left: 20px;
  padding-right: 20px;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen input.wpcf7-submit {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end > input.wpcf7-submit,
.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end input.wpcf7-submit {
  flex-basis: 290px;
  max-width: 100%;
  margin-left: calc(50% - 145px);
  margin-right: calc(50% - 145px);
}

.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end .wpcf7-form-control-wrap:has(.wpcf7-acceptance),
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure .wpcf7-form-control-wrap:has(.wpcf7-acceptance) {
  flex: 1 1 100%;
  text-align: center;
}

.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has(.wpcf7-acceptance) {
  text-align: center;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:has(.wpcf7-acceptance) {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  text-align: center;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:has(.wpcf7-acceptance) .wpcf7-acceptance,
.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:has(.wpcf7-acceptance) label {
  justify-content: center;
  text-align: center;
  font-size: 11px;
  line-height: 1.25;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .wpcf7-list-item,
.sfm-end__card form.sfm-end__form.wpcf7-form .wpcf7-list-item,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .wpcf7-list-item,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .wpcf7-list-item {
  margin: 0;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .wpcf7-acceptance,
.sfm-end__card form.sfm-end__form.wpcf7-form .wpcf7-acceptance,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .wpcf7-acceptance,
.sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .wpcf7-acceptance {
  margin-top: 0;
}

.sfm-end__card form.sfm-end__form.wpcf7-form .wpcf7-form-control-wrap:has(.wpcf7-acceptance),
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .wpcf7-form-control-wrap:has(.wpcf7-acceptance) {
  margin-top: 0;
}

#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .wpcf7-form-control-wrap.acceptance .wpcf7-acceptance,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .wpcf7-form-control-wrap.acceptance label,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .wpcf7-form-control-wrap:has(.wpcf7-acceptance) .wpcf7-acceptance,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .wpcf7-form-control-wrap:has(.wpcf7-acceptance) label {
  font-size: 10px;
  line-height: 1.2;
}

.sfm-end__card form.sfm-end__form.wpcf7-form .wpcf7-form-control-wrap.acceptance .wpcf7-acceptance,
.sfm-end__card form.sfm-end__form.wpcf7-form .wpcf7-form-control-wrap.acceptance label,
.sfm-end__card form.sfm-end__form.wpcf7-form .wpcf7-form-control-wrap:has(.wpcf7-acceptance) .wpcf7-acceptance,
.sfm-end__card form.sfm-end__form.wpcf7-form .wpcf7-form-control-wrap:has(.wpcf7-acceptance) label {
  font-size: 10.5px;
  line-height: 1.22;
}

.sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero input.wpcf7-submit,
.sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end input.wpcf7-submit,
#sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure input.wpcf7-submit {
  height: 48px;
  min-height: 0;
}

/* Узкий экран: колонка без привязки к name= */
@media (max-width: 640px) {
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero,
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) {
    grid-template-columns: 1fr;
  }

  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:not(.acceptance),
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) .wpcf7-form-control-wrap:not(.acceptance) {
    grid-column: 1 / -1;
    max-width: none;
  }

  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:has(input[type="submit"]),
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form:not(:has(.sfm-cf7-inner--hero)) .wpcf7-form-control-wrap:has(input[type="submit"]) {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
  }

  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-input,
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-button,
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form input.wpcf7-submit,
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form input[type="submit"] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Жёсткий блок внизу файла задаёт width:auto — перебиваем на мобильном */
  .sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero {
    grid-template-columns: 1fr !important;
  }

  .sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero input.wpcf7-submit.sfm-hero__button {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
  }

  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure .wpcf7-form-control-wrap:not(.acceptance),
  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure:not(:has(.sfm-cf7-inner--measure)) .wpcf7-form-control-wrap:not(.acceptance) {
    flex: 1 1 100%;
    max-width: none;
  }

  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure .wpcf7-form-control-wrap:has(input[type="submit"]),
  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure:not(:has(.sfm-cf7-inner--measure)) .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure:not(:has(.sfm-cf7-inner--measure)) .wpcf7-form-control-wrap:has(input[type="submit"]) {
    flex: 1 1 100%;
    display: flex;
    justify-content: center;
  }

  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure .sfm-cf7-inner--measure > input.wpcf7-submit,
  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure:not(:has(.sfm-cf7-inner--measure)) > input.wpcf7-submit,
  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure input.wpcf7-submit,
  #sfm-measure-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--measure input[type="submit"] {
    width: 100%;
    max-width: 100%;
  }

  .sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen,
  .sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) {
    grid-template-columns: minmax(0, 1fr);
  }

  .sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen > .wpcf7-form-control-wrap,
  .sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) > .wpcf7-form-control-wrap {
    grid-column: 1 / -1;
    grid-row: auto;
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
  }

  .sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  .sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has(input[type="submit"]),
  .sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  .sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) .wpcf7-form-control-wrap:has(input[type="submit"]) {
    display: flex;
    justify-content: center;
  }

  .sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen input.wpcf7-submit,
  .sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) input.wpcf7-submit,
  .sfm-modal--kitchen-project form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen:not(:has(.sfm-cf7-inner--kitchen)) input[type="submit"] {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 600px) {
  .sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end .wpcf7-form-control-wrap:not(.acceptance),
  .sfm-end__card form.sfm-end__form.wpcf7-form:not(:has(.sfm-cf7-inner--end)) .wpcf7-form-control-wrap:not(.acceptance) {
    flex: 1 1 100%;
  }

  .sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  .sfm-end__card form.sfm-end__form.wpcf7-form .sfm-cf7-inner--end .wpcf7-form-control-wrap:has(input[type="submit"]),
  .sfm-end__card form.sfm-end__form.wpcf7-form:not(:has(.sfm-cf7-inner--end)) .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  .sfm-end__card form.sfm-end__form.wpcf7-form:not(:has(.sfm-cf7-inner--end)) .wpcf7-form-control-wrap:has(input[type="submit"]) {
    flex: 1 1 100%;
    display: flex;
    justify-content: center;
  }

  .sfm-end__card form.sfm-end__form.wpcf7-form .sfm-input,
  .sfm-end__card form.sfm-end__form.wpcf7-form .sfm-button {
    width: 100%;
    box-sizing: border-box;
  }
}

/* Планшет: две колонки полей; не пересекается с мобильной одной колонкой (max-width:640 ниже) */
@media (max-width: 720px) and (min-width: 641px) {
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero {
    grid-template-columns: 1fr 1fr;
  }

  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:has(input[type="submit"]) {
    grid-column: 1 / -1;
    justify-self: center;
  }
}

/* Жёсткий override: антиспам-поля у формы + сетка как у статики (без 4-й колонки для согласия). */
.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form > input:not([type="submit"]),
.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form > .apbct_special_field,
.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form > input[name^="ct_"],
.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form > input[name^="apbct"] {
  display: none !important;
}

.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
  column-gap: 10px !important;
  row-gap: 4px !important;
  width: 100% !important;
  align-items: center !important;
}

.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero span[data-name="lead-consent"],
.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap.acceptance {
  grid-column: 1 / -1 !important;
  justify-self: center !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:has(input.wpcf7-submit),
.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero .wpcf7-form-control-wrap:has(input[type="submit"]) {
  justify-self: center !important;
}

.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero span[data-name="lead-name"],
.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero span[data-name="lead-phone"] {
  display: block !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
}

.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero span[data-name="lead-consent"] {
  min-width: 0 !important;
  margin: 0 !important;
  position: relative !important;
}

.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero span[data-name="lead-name"] input.sfm-input,
.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero span[data-name="lead-phone"] input.sfm-input {
  display: block !important;
  position: static !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 0 !important;
  max-width: none !important;
  opacity: 1 !important;
  margin: 0 !important;
}

.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero input.wpcf7-submit.sfm-hero__button {
  display: inline-flex !important;
  position: static !important;
  width: auto !important;
  height: 48px !important;
  min-height: 0 !important;
  opacity: 1 !important;
  margin: 0 !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  white-space: nowrap !important;
}

.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero input.wpcf7-submit.sfm-hero__button {
  text-align: center;
}

@media (max-width: 640px) {
  .sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero {
    grid-template-columns: 1fr !important;
  }

  .sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero input.wpcf7-submit.sfm-hero__button {
    grid-column: 1 / -1 !important;
    width: min(100%, 320px) !important;
    max-width: 320px !important;
    box-sizing: border-box !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 10px !important;
    line-height: 1 !important;
    font-size: 12px !important;
    overflow: visible !important;
    white-space: nowrap !important;
    justify-content: center !important;
    display: flex !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-self: center !important;
  }
}

.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero span[data-name="lead-consent"] .wpcf7-acceptance,
.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero span[data-name="lead-consent"] label {
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
}

.sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .sfm-cf7-inner--hero span[data-name="lead-consent"] label {
  font-size: 11px !important;
  line-height: 1.25 !important;
}

/*
 * Модалка замера: шорткод CF7 даёт <div class="wpcf7"> внутри .sfm-modal__dialog>, поэтому селекторы
 * «form...» без .wpcf7 часто не срабатывают. Фикс центра и мелкого текста — высокая специфичность.
 */
#sfm-measure-modal .sfm-modal__dialog .wpcf7 .wpcf7-form-control-wrap:has(.wpcf7-acceptance),
#sfm-measure-modal .sfm-modal__dialog .wpcf7 form.wpcf7-form .wpcf7-form-control-wrap:has(.wpcf7-acceptance) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

#sfm-measure-modal .sfm-modal__dialog .acceptance .wpcf7-list-item {
  margin: 0 !important;
  width: 100%;
  display: flex;
  justify-content: center;
}

#sfm-measure-modal .sfm-modal__dialog .acceptance label {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: min(100%, 480px) !important;
  margin: 0 auto !important;
  text-align: center !important;
  font-size: 9px !important;
  line-height: 1.28 !important;
  color: #6c6b71 !important;
}

#sfm-measure-modal .sfm-modal__dialog .acceptance .wpcf7-acceptance {
  width: 100% !important;
  justify-content: center !important;
}

/* «Заказать проект»: заметно меньше согласие (нижняя карточка на сайте не трогаем — другие селекторы) */
#sfm-kitchen-project-modal .sfm-modal__dialog .wpcf7-form-control-wrap:has(.wpcf7-acceptance) .wpcf7-acceptance,
#sfm-kitchen-project-modal .sfm-modal__dialog .wpcf7-form-control-wrap:has(.wpcf7-acceptance) label {
  font-size: 8px !important;
  line-height: 1.18 !important;
}

#sfm-kitchen-project-modal .sfm-modal__dialog .acceptance .wpcf7-list-item {
  margin: 0 !important;
}

#sfm-kitchen-project-modal .sfm-modal__dialog .wpcf7-form-control-wrap:has(.wpcf7-acceptance) label {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 6px !important;
  max-width: min(100%, 400px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* Кнопка отдельной строкой от согласия (если где-то снова схлопнется в две колонки) */
#sfm-kitchen-project-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has(input.wpcf7-submit),
#sfm-kitchen-project-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has(input[type="submit"]) {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
}

#sfm-kitchen-project-modal form.sfm-modal__form.wpcf7-form.sfm-cf7--kitchen .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has(.wpcf7-acceptance) {
  grid-column: 1 / -1 !important;
  grid-row: 4 !important;
}

/* Мобилка: герой — не сжимаем кнопку; инпуты и кнопка на всю ширину */
@media (max-width: 640px) {
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .sfm-input,
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form input.sfm-input,
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form input[type="text"],
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form input[type="tel"],
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form input.wpcf7-submit,
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form input[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* Планшеты/десктоп: гарантируем, что hero не наследует мобильные widths даже при странном кешировании */
@media (min-width: 641px) {
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form input[type="text"],
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form input[type="tel"] {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form input.wpcf7-submit,
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form input[type="submit"] {
    width: auto !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Финальный guard: на мобилке submit всегда растянут, без width:auto overrides. */
@media (max-width: 640px) {
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form .wpcf7-form-control-wrap:has(input[type="submit"]),
  .sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  .sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form .wpcf7-form-control-wrap:has(input[type="submit"]) {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
  }

  .sfm-hero__form-shell form.sfm-hero__form.wpcf7-form input.wpcf7-submit.sfm-hero__button,
  .sfm-hero__form-shell form.sfm-cf7--hero.wpcf7-form input.wpcf7-submit.sfm-hero__button {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
  }
}

/* «Заказать проект» (модалка): центрируем кнопку и делаем по ширине текста (на мобилке особенно) */
#sfm-kitchen-project-modal .wpcf7 form.wpcf7-form .wpcf7-form-control-wrap:has(input.wpcf7-submit),
#sfm-kitchen-project-modal .wpcf7 form.wpcf7-form .wpcf7-form-control-wrap:has(input[type="submit"]) {
  justify-self: center !important;
  width: auto !important;
  display: flex !important;
  justify-content: center !important;
}

#sfm-kitchen-project-modal .wpcf7 form.wpcf7-form input.wpcf7-submit,
#sfm-kitchen-project-modal .wpcf7 form.wpcf7-form input[type="submit"] {
  width: auto !important;
  max-width: 100% !important;
  white-space: nowrap;
  /* паддинги задаём только на мобилке — иначе на десктопе/планшете выглядит «огромной» */
}

/* Мобилка: модалка «Заказать проект» — одна колонка, поля на всю ширину, кнопка по центру */
@media (max-width: 640px) {
  #sfm-kitchen-project-modal .sfm-modal__dialog .wpcf7 form.wpcf7-form .sfm-cf7-inner--kitchen {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  /* CF7/антиспам иногда оставляют обёртки не прямыми детьми — таргетим все wrap-и внутри */
  #sfm-kitchen-project-modal .sfm-modal__dialog .wpcf7 form.wpcf7-form .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
  }

  #sfm-kitchen-project-modal .sfm-modal__dialog .wpcf7 form.wpcf7-form .sfm-cf7-inner--kitchen input.sfm-input,
  #sfm-kitchen-project-modal .sfm-modal__dialog .wpcf7 form.wpcf7-form .sfm-cf7-inner--kitchen textarea.sfm-input {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #sfm-kitchen-project-modal .sfm-modal__dialog .wpcf7 form.wpcf7-form .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has(input.wpcf7-submit),
  #sfm-kitchen-project-modal .sfm-modal__dialog .wpcf7 form.wpcf7-form .sfm-cf7-inner--kitchen .wpcf7-form-control-wrap:has(input[type="submit"]) {
    justify-self: center !important;
    width: auto !important;
    display: flex !important;
    justify-content: center !important;
  }

  #sfm-kitchen-project-modal .sfm-modal__dialog .wpcf7 form.wpcf7-form .sfm-cf7-inner--kitchen input.wpcf7-submit,
  #sfm-kitchen-project-modal .sfm-modal__dialog .wpcf7 form.wpcf7-form .sfm-cf7-inner--kitchen input[type="submit"] {
    width: auto !important;
    max-width: 100% !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  /* если acceptance-wrap ограничивали ширину на десктопе — снимаем */
  #sfm-kitchen-project-modal .sfm-modal__dialog .wpcf7 form.wpcf7-form .wpcf7-form-control-wrap:has(.wpcf7-acceptance) {
    width: 100% !important;
    max-width: 100% !important;
  }
}
