/* CF7 wrapper adaptation for the observed Studio form. Load after source-content.css.
   The existing .association-source .association-source-form group retains the original form width/padding.
   No new outer form element is introduced by the Form-tab HTML. */
.association-source .association-source-form .wpcf7,
.association-source .association-source-form .wpcf7 form.wpcf7-form {
  width: 100%; max-width: 100%; margin: 0; padding: 0;
}
.association-source .association-source-form .association-cf7-fields {
  display: flex; flex-direction: column; align-items: center;
  width: 100%; max-width: 100%; margin: 0; padding: 0;
}
.association-source .association-source-form .association-cf7-field {
  display: flex; flex-direction: column; width: 100%; max-width: 100%;
}
.association-source .association-source-form .association-cf7-label-row {
  display: flex; flex-direction: row; flex-wrap: nowrap;
}
.association-source .association-source-form .wpcf7-form-control-wrap {
  display: block; width: 100%; max-width: 100%;
}
.association-source .association-source-form .association-cf7-input { box-sizing: border-box; }
.association-source .association-source-form .association-cf7-acceptance,
.association-source .association-source-form .association-cf7-acceptance .wpcf7-list-item {
  width: auto; margin: 0;
}
.association-source .association-source-form .association-cf7-acceptance .wpcf7-list-item > label {
  display: flex; align-items: center; flex-direction: row; flex-wrap: nowrap;
}
.association-source .association-source-form .association-cf7-acceptance input[type="checkbox"] {
  flex: none; margin: 0 10px 0 0; width: auto; max-width: calc(100% - 10px);
}
/* Original button child text was white, 24px, bold, line-height 1.
   CF7 renders an input submit, so those text styles move to that input. */
.association-source .association-source-form input.association-cf7-submit {
  box-sizing: border-box; cursor: pointer; color: #fff;
  font-size: 24px; font-weight: 700; line-height: 1; text-align: center;
}


/* Append after 0.4.0 source-form.css. Source content/CSS and CF7 tags stay intact.
   CF7 inserts a paragraph around submit. As a centered flex child, its intrinsic
   500px width must be constrained before the submit's max-width can shrink it. */
.association-source .association-source-form,
.association-source .association-source-form .wpcf7,
.association-source .association-source-form form.wpcf7-form,
.association-source .association-source-form .association-cf7-fields,
.association-source .association-source-form .association-cf7-field,
.association-source .association-source-form .wpcf7-form-control-wrap,
.association-source .association-source-form .wpcf7-form p {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
.association-source .association-source-form .association-cf7-fields > p,
.association-source .association-source-form .association-cf7-field > p {
  width: 100%;
}
.association-source .association-source-form input.association-cf7-input,
.association-source .association-source-form textarea.association-cf7-input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.association-source .association-source-form input.association-cf7-submit {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Observed 320/390px defect only. Keep the existing icon and 16px gap.
   Let this one H2 take the remaining flex space; its text must wrap and grow. */
@media (max-width: 540px) {
  .association-source.source-locations .sd.sza-e9112d89d8385ab0 {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }
  .association-source.source-locations .sd.sza-e9112d89d8385ab0 > h2.sd.sza-cc221293e97fe9bc {
    box-sizing: border-box;
    flex: 1 1 0%;
    min-width: 0;
    width: auto;
    max-width: 100%;
    height: auto;
  }
  .association-source.source-locations .sd.sza-e9112d89d8385ab0 > h2.sd.sza-cc221293e97fe9bc > .text.sd.sza-e804e8da742b571d {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
    overflow-wrap: anywhere;
  }
}
