/* Contact Form 7 keeps control of form fields, validation and submission. */
.wpcf7 form { display: block; }
.wpcf7 form > p { display: block; margin-block: 0 1.25rem; }
.wpcf7 :is(label, .wpcf7-form-control-wrap) { max-inline-size: 100%; }
.wpcf7 form label { line-height: 1.5; }
.wpcf7 :is(input:not([type='checkbox']):not([type='radio']):not([type='submit']):not([type='hidden']), select, textarea) {
  box-sizing: border-box;
  min-inline-size: 0;
  max-inline-size: 100%;
  min-block-size: 48px;
  border-radius: 10px;
  font-size: 1rem;
  line-height: 1.5;
}
.wpcf7 input[type='hidden'] { display: none; }
.wpcf7 :is(input[type='checkbox'], input[type='radio']) {
  flex: 0 0 auto;
  inline-size: 1.125rem;
  block-size: 1.125rem;
  margin: 0.2em 0.5em 0 0;
}
.wpcf7 :is(.wpcf7-checkbox, .wpcf7-radio) { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; }
.wpcf7 .wpcf7-list-item { display: inline-flex; margin: 0; max-inline-size: 100%; }
.wpcf7 .wpcf7-list-item label { display: inline-flex; align-items: flex-start; gap: 0.25rem; margin: 0; font-weight: 400; }
.wpcf7 .wpcf7-acceptance .wpcf7-list-item { display: block; }
.wpcf7 .wpcf7-not-valid-tip { margin-block-start: 0.375rem; font-size: 0.9375rem; line-height: 1.5; }
.wpcf7 form .wpcf7-response-output { margin: 1rem 0 0; padding: 1rem; line-height: 1.5; }
.wpcf7 .wpcf7-submit { min-block-size: 48px; border-radius: 10px; }
/* Optional reusable layout wrappers; existing custom form layouts stay intact. */
.wpcf7 .form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem 1.5rem; }
.wpcf7 .form-grid > * { min-inline-size: 0; margin-block: 0; }
.wpcf7 .form-grid .form-full-width { grid-column: 1 / -1; }
.wpcf7 .form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
