/**
 * Contact form UX — abiselectronics.com /contact/
 * Success banner + centred sending state. Includes prior mobile layout fixes.
 */

/* Contact Us title band: leave Kadence default (homepod + grey overlay), same as category heroes.
 * Mint wash stays on the site menu only (abis-header-wash). */

/* —— Sending state (all viewports) —— */
body.page-id-1770 .wpcf7 form {
  position: relative;
}

body.page-id-1770 .wpcf7 .wpcf7-spinner {
  /* Hide CF7’s default left-aligned spinner; custom status uses its own. */
  display: none !important;
}

body.page-id-1770 .abis-cf7-status {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  margin: 0 0 16px;
  padding: 14px 16px;
  border-radius: 6px;
  background: #f2f3f5;
  border: 1px solid rgba(40, 50, 54, 0.08);
  color: #283236;
  font-family: Heebo, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  box-sizing: border-box;
}

body.page-id-1770 .abis-cf7-status.is-visible {
  display: flex;
}

body.page-id-1770 .abis-cf7-status__spinner {
  width: 22px;
  height: 22px;
  border: 2.5px solid rgba(40, 50, 54, 0.15);
  border-top-color: #09ba65;
  border-radius: 50%;
  flex-shrink: 0;
  animation: abis-cf7-spin 0.7s linear infinite;
}

@keyframes abis-cf7-spin {
  to {
    transform: rotate(360deg);
  }
}

body.page-id-1770 .wpcf7 form.submitting .wpcf7-submit {
  opacity: 0.65;
  pointer-events: none;
}

/* —— On-page response (success / error) —— */
body.page-id-1770 .wpcf7-response-output {
  display: none;
  margin: 0 0 1.25rem !important;
  padding: 1rem 1.15rem !important;
  border-radius: 6px !important;
  border: 1px solid transparent !important;
  font-family: Heebo, sans-serif;
  font-size: 1rem !important;
  font-weight: 600;
  line-height: 1.45;
  text-align: left;
  box-sizing: border-box;
}

body.page-id-1770 .wpcf7 form.sent .wpcf7-response-output,
body.page-id-1770 .wpcf7 form.failed .wpcf7-response-output,
body.page-id-1770 .wpcf7 form.aborted .wpcf7-response-output,
body.page-id-1770 .wpcf7 form.spam .wpcf7-response-output,
body.page-id-1770 .wpcf7 form.invalid .wpcf7-response-output,
body.page-id-1770 .wpcf7 form.unaccepted .wpcf7-response-output {
  display: block !important;
}

body.page-id-1770 .wpcf7 form.sent .wpcf7-response-output {
  background: rgba(9, 186, 101, 0.1) !important;
  border-color: rgba(9, 186, 101, 0.35) !important;
  color: #0a6b3c !important;
}

body.page-id-1770 .wpcf7 form.invalid .wpcf7-response-output,
body.page-id-1770 .wpcf7 form.unaccepted .wpcf7-response-output,
body.page-id-1770 .wpcf7 form.failed .wpcf7-response-output,
body.page-id-1770 .wpcf7 form.aborted .wpcf7-response-output,
body.page-id-1770 .wpcf7 form.spam .wpcf7-response-output {
  background: rgba(197, 48, 48, 0.08) !important;
  border-color: rgba(197, 48, 48, 0.3) !important;
  color: #9b2c2c !important;
}

body.page-id-1770 .wpcf7 form.sent .abis-cf7-success-title {
  display: block;
  margin: 0 0 4px;
  font-size: 1.05rem;
  font-weight: 700;
  color: #0a6b3c;
}

/* Optional: soften fields after successful send */
body.page-id-1770 .wpcf7 form.sent .wpcf7-form-control:not(.wpcf7-submit) {
  opacity: 0.7;
}

/* —— Mobile layout (unchanged intent from prior fix) —— */
@media (max-width: 767px) {
  body.page-id-1770 .kadence-column1770_form_col,
  body.page-id-1770 .kadence-column1770_address_col {
    max-width: 100% !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-width: 0 !important;
  }

  body.page-id-1770 .kadence-column1770_form_col > .kt-inside-inner-col,
  body.page-id-1770 .kadence-column1770_address_col > .kt-inside-inner-col {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.page-id-1770 .kb-row-layout-id1770_form_row > .kt-row-column-wrap,
  body.page-id-1770 .kb-row-layout-id1770_address_row > .kt-row-column-wrap {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.page-id-1770 .kb-row-layout-id1770_3f7cb8-af > .kt-row-column-wrap {
    padding-top: 120px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-bottom: 48px !important;
  }

  body.page-id-1770 .kt-adv-heading1770_12f03c-26,
  body.page-id-1770 .kt-adv-heading1770_d732a9-2e,
  body.page-id-1770 .kt-adv-heading1770_form_heading,
  body.page-id-1770 .kt-adv-heading1770_form_intro {
    max-width: 100% !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  body.page-id-1770 .wpcf7,
  body.page-id-1770 .wpcf7 form,
  body.page-id-1770 .wpcf7 label {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.page-id-1770 .wpcf7 input[type="text"],
  body.page-id-1770 .wpcf7 input[type="email"],
  body.page-id-1770 .wpcf7 textarea,
  body.page-id-1770 .wpcf7 input[type="submit"] {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.page-id-1770 .wpcf7 input[type="submit"] {
    margin-top: 0.75rem;
  }

  body.page-id-1770 .kt-info-box1770_address_box,
  body.page-id-1770 .kt-blocks-info-box-link-wrap {
    max-width: 100% !important;
  }

  body.page-id-1770 .entry-content,
  body.page-id-1770 .content-area {
    overflow-x: clip;
  }
}
