/* Make CF7 respect its parent block/column */
.cf7-block,
.cf7-block .wpcf7,
.cf7-block form {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  position: unset; /* reset any accidental absolute/fixed */
  margin: 0;
  padding: 0;
}

/* Keep controls fluid inside columns */
.cf7-block input[type="text"],
.cf7-block input[type="email"],
.cf7-block input[type="tel"],
.cf7-block input[type="url"],
.cf7-block input[type="number"],
.cf7-block input[type="password"],
.cf7-block input[type="date"],
.cf7-block select,
.cf7-block textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* CF7 wrappers: make sure nothing forces absolute positioning */
.cf7-block .wpcf7-form-control-wrap,
.cf7-block .wpcf7-response-output {
  position: static;
}

/* Optional: tidy block gap inside the form */
.cf7-block .wpcf7 form p { margin: 0 0 1rem; }
.cf7-block .wpcf7 p > *:last-child { margin-bottom: 0; }

/* Optional: if you put the form in narrow columns, prevent overflow */
.cf7-block img, 
.cf7-block svg {
  max-width: 100%;
  height: auto;
}