/* Client reference revision 1.6. No changes to unrelated forms or site palette. */
.elementor .hps-contact-section:has(.hps-client-form), .hps-client-form { background:#212d55; }
.hps-client-form .hps-contact-card { width:100%; max-width:650px; padding:44px 42px 88px; background:#fff; border-radius:3px; color:#212d55; }
.hps-client-form .hps-contact-card h2 { color:#212d55; font-size: var(--hps-font-h2); font-weight:500; line-height:1.25; text-align:center; margin:0 0 24px; }
.hps-client-form .hps-contact-intro { color:#767676; text-align:center; font-size: var(--hps-font-body); line-height:1.5; margin:0 0 24px; }
.hps-client-fields, .hps-client-fields * { box-sizing:border-box; }
.hps-client-fields { min-width:0; color:#212d55; }
.hps-client-fields > p { display:contents; }
.hps-client-fields br { display:none; }
.hps-client-field { display:block; margin:0 0 14px; font-weight:400; font-size: var(--hps-font-body); line-height:1.4; }
.hps-client-field > span:first-child { display:block; margin-bottom:3px; }
.hps-client-fields .wpcf7-form-control-wrap { display:block; width:100%; max-width:100%; }
.hps-client-fields input:not([type=checkbox]):not([type=submit]), .hps-client-fields select, .hps-client-fields textarea {
 display:block; width:100%; max-width:100%; min-width:0; margin:0; border:1px solid #767676; border-radius:2px; padding:3px 5px; background:#fff; box-shadow:none; color:#212d55; font:inherit; font-size:var(--hps-font-contact); line-height:1.4; min-height:44px;
}
.hps-client-fields .hps-client-comments .wpcf7-form-control-wrap { width:100%; }
.hps-client-fields textarea { height:132px; min-height:132px; resize:vertical; }
.hps-client-fields .hps-client-consent { margin:8px 0; font-size: var(--hps-font-small); line-height:1.5; }
.hps-client-fields .hps-client-consent .wpcf7-form-control-wrap { width:100%; }
.hps-client-fields .wpcf7-acceptance label { display:flex; align-items:flex-start; gap:8px; min-height:24px; }
.hps-client-fields .wpcf7-acceptance input { flex:0 0 auto; width:16px; height:16px; margin:3px 0 0; accent-color:#212d55; }
.hps-client-fields .wpcf7-list-item { margin:0; }
.hps-client-fields .hps-client-actions { margin:0; }
.hps-client-fields .hps-form-submit {  width:100%; border:0; background:#212d55; color:#fff; font:inherit; cursor:pointer; }
.hps-client-fields .hps-form-submit:hover { background:var(--hps-navy-deep); }
.hps-client-fields :is(input,textarea,select):focus-visible { outline:3px solid #69b7ea; outline-offset:2px; }
.hps-client-form .wpcf7-not-valid-tip { display:block; position:static; color:#b42318; margin:4px 0; font-size: var(--hps-font-small); line-height:1.4; }
.hps-client-form .wpcf7 form .wpcf7-response-output { margin:16px 0 0; color:#212d55; font-size: var(--hps-font-small); }
.hps-client-form .wpcf7-spinner { margin:8px auto 0; }
@media(max-width:767px) {
 .hps-client-form .hps-contact-card { padding:30px 20px 40px; }
 .hps-client-form .hps-contact-card h2 { font-size: var(--hps-font-h2); }
 .hps-client-fields .wpcf7-form-control-wrap, .hps-client-fields .hps-client-comments .wpcf7-form-control-wrap { width:100%; }
 .hps-client-field { margin-bottom:14px; }
 .hps-client-fields input:not([type=checkbox]):not([type=submit]), .hps-client-fields select { min-height:44px; }
 .hps-client-fields textarea { min-height:150px; }
 .hps-client-fields .wpcf7-acceptance label { min-height:44px; align-items:center; }
 .hps-client-fields .wpcf7-acceptance input { margin:0; }
}

/* After an invalid attempt, reserve validation space so blur does not move the
   submit target between pointer-down and pointer-up. Normal layout is unchanged. */
.hps-client-fields .wpcf7-form-control-wrap { position:relative; }
.hps-client-form form.invalid .hps-client-field { padding-bottom:44px; }
.hps-client-form form.invalid .hps-client-field .wpcf7-not-valid-tip { position:absolute; top:100%; left:0; right:0; margin-top:4px; }
.hps-client-form form.invalid .hps-client-consent { padding-bottom:30px; }
.hps-client-form form.invalid .hps-client-consent .wpcf7-not-valid-tip { position:absolute; top:100%; left:0; right:0; }
@media(max-width:767px) {
 .hps-client-form form.invalid .hps-client-consent { padding-bottom:64px; }
}

/* 1.7.2: only explicitly selected existing banners; original content is retained. */
.elementor .elementor-element.hps-selected-banner {
  box-sizing: border-box;
  height: auto !important;
  min-height: 325px !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}
/* Nested legacy min-height floors must not override the selected banner size. */
.elementor .hps-selected-banner .e-con,
.elementor .hps-selected-banner .e-con-inner,
.elementor .hps-selected-banner .elementor-container,
.elementor .hps-selected-banner .elementor-row,
.elementor .hps-selected-banner .elementor-column,
.elementor .hps-selected-banner .elementor-widget-wrap {
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
@media (max-width: 767px) {
  .elementor .elementor-element.hps-selected-banner { min-height: 360px !important; }
}
