/* ============================================================
   PM-CF7.CSS — Contact Form 7 inside the demo form design.
   CF7 writes its own markup around each field; these rules make it
   look like the demo (contact.html): fields as blocks, error text under
   the field, the consent tick box, the send button row, the message
   after sending (= demo .contact-form__status). Not in the demo.
   ============================================================ */
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form .wpcf7-form-control-wrap {
  display: block;
  position: relative;
}
/* Error under a field = demo .field__error */
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: var(--pm-space-8);
  font-size: var(--pm-fs-small);
  font-weight: var(--pm-fw-medium);
  color: #B3261E;
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form .pm-field__control.wpcf7-not-valid {
  border-color: #B3261E;
}
/* Consent: CF7 puts the box inside its own label = demo .checkbox */
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form .pm-checkbox {
  display: block;
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form .pm-checkbox .wpcf7-list-item {
  display: block;
  margin: 0;
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form .pm-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: var(--pm-space-12);
  font-size: var(--pm-fs-small);
  color: var(--pm-color-text-muted);
  cursor: pointer;
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form .pm-checkbox .wpcf7-list-item-label::before,
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form .pm-checkbox .wpcf7-list-item-label::after {
  content: none;
}
/* Send button row: CF7's spinner floats so the layout stays as in the demo */
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form .pm-contact-form__submit {
  position: relative;
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form .wpcf7-spinner {
  position: absolute;
  inset-inline-end: 0;
  inset-block-end: calc(100% + var(--pm-space-8));
  margin: 0;
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form input.pm-btn {
  -webkit-appearance: none;
  appearance: none;
}
/* Message after sending = demo .contact-form__status */
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form .wpcf7-response-output {
  margin: 0;
  padding: var(--pm-space-16);
  font-weight: var(--pm-fw-medium);
  color: #0B6B3A;
  background-color: #E7F5EC;
  border: 0;
  border-radius: var(--pm-radius-sm);
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form.invalid .wpcf7-response-output,
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form.unaccepted .wpcf7-response-output,
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form.failed .wpcf7-response-output,
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form.aborted .wpcf7-response-output {
  color: #B3261E;
  background-color: #FCEBEA;
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form.init .wpcf7-response-output,
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form.submitting .wpcf7-response-output,
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form.resetting .wpcf7-response-output,
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form .hidden-fields-container {
  display: none;
}
/* In case CF7's own stylesheet is switched off */
.elementor-widget[class*="elementor-widget-pm-"] .wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
/* Inside CF7's wrapper the fields sit on a text line (inline-block): make
   them blocks as in the demo, so no extra line space appears under them. */
.elementor-widget[class*="elementor-widget-pm-"] .pm-contact-form .wpcf7-form-control-wrap > .pm-field__control {
  display: block;
}
