/* Scoped CF7 adapter: uses the theme's original hps-field/grid/card/button styling. */
.hps-cf7 .wpcf7 { width:100%; }
.hps-cf7 .wpcf7-form-control-wrap { display:block; min-width:0; }
.hps-cf7 .hps-field > p { display:contents; }
.hps-cf7 .hps-form-actions > p { margin:0; }
.hps-cf7 .hps-field label { display:grid; gap:6px; }
.hps-cf7 .hps-field label > br { display:none; }
.hps-cf7 .hps-field label > .wpcf7-form-control-wrap { font-weight:400; }
.hps-cf7 .wpcf7-form .hps-form-submit { font:inherit; color:#fff; background:var(--hps-navy); }
.hps-cf7 .wpcf7-form .hps-form-submit:hover { background:var(--hps-navy-deep); }
.hps-cf7 .wpcf7-form .hps-form-submit:focus-visible { outline:3px solid var(--hps-blue); outline-offset:3px; }
.hps-cf7 .hps-consent { display:block; }
.hps-cf7 .wpcf7-acceptance .wpcf7-list-item { margin:0; }
.hps-cf7 .wpcf7-acceptance label { display:flex; gap:10px; align-items:flex-start; }
.hps-cf7 .wpcf7-not-valid-tip { font-size: var(--hps-font-small); margin-top:5px; }
.hps-cf7 .wpcf7 form .wpcf7-response-output { margin:18px 0 0; padding:10px 12px; font-size: var(--hps-font-small); overflow-wrap:anywhere; }
.hps-cf7 .wpcf7-spinner { display:block; margin:8px auto 0; }
.hps-cf7 .hps-pool-help { display:block; margin:0; font-weight:400; }
.hps-cf7 .wpcf7-form.submitting .hps-form-submit { opacity:.75; cursor:wait; }
/* Keep inline validation from moving the next control between pointer-down/up.
   Reserved space exists only after an invalid submission, not in the normal form. */
.hps-cf7 form.invalid .hps-field { padding-bottom:36px; }
.hps-cf7 form.invalid .hps-field .wpcf7-not-valid-tip { position:absolute; top:100%; left:0; right:0; margin-top:2px; line-height:1.3; }
