/* Shared form design tokens: override legacy theme/Elementor presentation here. */
:root {
  --pec-form-font: 'Plus Jakarta Sans', sans-serif;
  --pec-form-ink: #172f42;
  --pec-form-muted: #516779;
  --pec-form-accent: #086fa7;
  --pec-form-line: #c6d4df;
  --pec-form-title: clamp(28px, 3vw, 34px);
  --pec-form-card-padding: 32px;
}
/* Strip legacy nested cards so every form has a single card. */
body .elementor-widget:has(> .elementor-widget-container > .wpcf7),
body .elementor-widget:has(> .elementor-widget-container > .elementor-shortcode > .wpcf7),
body .question_sec:has(.wpcf7) {
  padding: 0 !important; background: transparent !important; background-image: none !important;
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  backdrop-filter: none !important; filter: none !important;
}
body .elementor-widget:has(> .elementor-widget-container > .wpcf7) > .elementor-widget-container,
body .elementor-widget:has(> .elementor-widget-container > .elementor-shortcode > .wpcf7) > .elementor-widget-container {
  padding: 0 !important; margin: 0 !important;
}
body .elementor-widget:has(> .elementor-widget-container > .elementor-shortcode > .wpcf7)::before,
body .elementor-widget:has(> .elementor-widget-container > .elementor-shortcode > .wpcf7)::after { display: none !important; }
body .wpcf7, body #aol_app_form {
  box-sizing: border-box; padding: var(--pec-form-card-padding) !important;
  border: 1px solid #dce5ec !important; border-radius: 18px !important;
  background: #fff !important; box-shadow: 0 8px 24px rgb(16 35 63 / 7%) !important;
  color: var(--pec-form-ink); font-family: var(--pec-form-font) !important;
}
body .wpcf7 form.wpcf7-form { margin: 0 !important; padding: 0 !important; font-family: var(--pec-form-font) !important; }
/* Same title, eyebrow and descriptive copy on inline forms and dialogs. */
html body .pec-form-audit .pec-form-heading h2,
html body.home .elementor :is(.pec-form-heading, .pec-contact-text) h2,
body .question_sec:has(.wpcf7) > .sc-title,
body .wpcf7 .ht_form > h3,
body .popup_form:has(.wpcf7) .apt_form_head h3,
body #aol_app_form > h3 {
  font-family: var(--pec-form-font) !important; font-size: var(--pec-form-title) !important;
  line-height: 1.2 !important; font-weight: 700 !important; letter-spacing: -.02em !important;
  color: var(--pec-form-ink) !important; text-transform: none !important;
  margin: 0 0 20px !important; padding: 0 !important; text-align: left !important;
}
body .pec-form-heading { margin: 0 0 20px !important; padding: 0 !important; text-align: left !important; }
body .pec-form-heading .sub-title { display: flex; gap: 10px; align-items: center; margin: 0 0 10px !important; }
body .pec-form-heading .border-left { position: static !important; width: 28px; margin: 0 !important; }
body .pec-form-heading .sub-title h5, body .pec-contact-text > span {
  display: block; font-family: var(--pec-form-font) !important; font-size: 12px !important;
  font-weight: 600 !important; line-height: 1.5 !important; letter-spacing: .1em !important;
  text-transform: uppercase !important; color: #a84e0b !important; margin: 0 0 10px !important;
}
body .pec-contact-text > p, body .contact-style1__content-box--inner > p,
body .quz_sec:has(.wpcf7) > p, body .request_form:has(.wpcf7) > p {
  color: var(--pec-form-muted) !important; font: 400 16px/1.65 var(--pec-form-font) !important;
  margin: 0 0 24px !important; padding: 0 !important; max-width: 560px; text-align: left !important;
}
body .quz_sec:has(.wpcf7) > p { margin-left: auto !important; margin-right: auto !important; max-width: 680px; }
body .pec-contact-text .pec-phone-box, body .contact-style1__content-box--inner .phone-number {
  margin: 0 !important; padding: 0 0 0 14px !important; border-left: 3px solid #e48a37 !important;
}
body .pec-phone-box small, body .contact-style1__content-box--inner .phone-number h4 {
  display: block; font: 600 12px/1.5 var(--pec-form-font) !important; color: #a84e0b !important;
  letter-spacing: .1em !important; text-transform: uppercase !important; margin: 0 0 4px !important;
}
body .pec-phone-box a, body .contact-style1__content-box--inner .phone-number h3 a {
  font: 700 25px/1.2 var(--pec-form-font) !important; color: var(--pec-form-ink) !important;
}
body .contact-style1__content-box--inner .phone-number .text { margin: 0 !important; padding: 0 !important; border: 0 !important; }
/* Shared labels, fields and controls, independent of per-page inline CSS. */
html body :is(.wpcf7 form.wpcf7-form, .wpcf7 form.wpcf7-form #contactform, .wpcf7 form.wpcf7-form #maintenance_form) .pec-field-label, body #aol_app_form label {
  display: block; color: #233f52 !important; font: 600 14px/1.5 var(--pec-form-font) !important;
  text-align: left !important; margin: 0 !important; letter-spacing: 0 !important;
}
html body :is(.wpcf7 form.wpcf7-form, .wpcf7 form.wpcf7-form #contactform, .wpcf7 form.wpcf7-form #maintenance_form) input:not([type=hidden]):not([type=submit]):not([type=checkbox]):not([type=radio]),
html body :is(.wpcf7 form.wpcf7-form, .wpcf7 form.wpcf7-form #contactform, .wpcf7 form.wpcf7-form #maintenance_form) textarea, html body :is(.wpcf7 form.wpcf7-form, .wpcf7 form.wpcf7-form #contactform, .wpcf7 form.wpcf7-form #maintenance_form) select,
body #aol_app_form input:not([type=hidden]):not([type=submit]):not([type=checkbox]):not([type=radio]),
body #aol_app_form textarea, body #aol_app_form select {
  box-sizing: border-box !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important;
  height: 52px !important; min-height: 52px !important; padding: 13px 15px !important;
  border: 1px solid var(--pec-form-line) !important; border-radius: 10px !important;
  background: #f8fafc !important; color: var(--pec-form-ink) !important;
  font: 400 16px/1.5 var(--pec-form-font) !important; box-shadow: none !important;
}
html body :is(.wpcf7 form.wpcf7-form, .wpcf7 form.wpcf7-form #contactform, .wpcf7 form.wpcf7-form #maintenance_form) textarea, body #aol_app_form textarea { height: 132px !important; min-height: 132px !important; resize: vertical; }
html body :is(.wpcf7 form.wpcf7-form, .wpcf7 form.wpcf7-form #contactform, .wpcf7 form.wpcf7-form #maintenance_form) input[type=file], body #aol_app_form input[type=file] { height: auto !important; min-height: 52px !important; }
html body :is(.wpcf7 form.wpcf7-form, .wpcf7 form.wpcf7-form #contactform, .wpcf7 form.wpcf7-form #maintenance_form) :is(input,textarea)::placeholder { color: #657b8b !important; opacity: 1; }
html body :is(.wpcf7 form.wpcf7-form, .wpcf7 form.wpcf7-form #contactform, .wpcf7 form.wpcf7-form #maintenance_form) :is(input,textarea,select):focus-visible,
body #aol_app_form :is(input,textarea,select,button):focus-visible {
  outline: 2px solid var(--pec-form-accent) !important; outline-offset: 3px !important;
  border-color: var(--pec-form-accent) !important;
}
body .wpcf7 .input_field, body .wpcf7 .input_field > p { margin: 0 !important; }
body .wpcf7 .rqs_form > :is(.input_field,p,label) { margin-bottom: 20px !important; }
body .wpcf7 #contactform > .row { grid-template-columns: minmax(0,1fr) !important; gap: 20px !important; }
body .wpcf7 .wpcf7-form-control-wrap { margin-top: 8px !important; }
html body :is(.wpcf7 form.wpcf7-form, .wpcf7 form.wpcf7-form #contactform, .wpcf7 form.wpcf7-form #maintenance_form) input[type=submit], body #aol_app_submit_button {
  width: 100% !important; height: auto !important; min-height: 54px !important; padding: 14px 24px !important;
  border: 1px solid #08669a !important; border-radius: 10px !important;
  background: var(--pec-form-accent) !important; color: #fff !important;
  font: 700 16px/1.5 var(--pec-form-font) !important; text-transform: none !important;
  letter-spacing: 0 !important; cursor: pointer; box-shadow: 0 5px 14px #086fa71a !important;
}
html body :is(.wpcf7 form.wpcf7-form, .wpcf7 form.wpcf7-form #contactform, .wpcf7 form.wpcf7-form #maintenance_form) input[type=submit]:hover, body #aol_app_submit_button:hover { background: #07567f !important; }
html body :is(.wpcf7 form.wpcf7-form, .wpcf7 form.wpcf7-form #contactform, .wpcf7 form.wpcf7-form #maintenance_form) [aria-invalid=true] { border-color: #b42318 !important; }
body #aol_app_form .form-group { margin-bottom: 20px !important; }
body #aol_app_form .help-block, body #aol_app_form .aol-text-counter { color: var(--pec-form-muted); font-size: 13px; line-height: 1.5; }
body .popup_form:has(.wpcf7) .appointment_form { max-width: 640px; padding: 24px !important; }
body .popup_form:has(.wpcf7) .apt_form_head { padding: 0 36px 0 0 !important; margin-bottom: 20px !important; }
body :is(#contactform,#maintenance_form,#maintenance,#aol_app_form) { scroll-margin-top: 150px; }
@media (max-width: 1024px) {
  body .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget > .elementor-widget-container > .wpcf7) > .elementor-container,
  body .elementor-element-5e35bd0 > .elementor-container { flex-wrap: wrap; }
  body :is(.elementor-element-c9cd2ff,.elementor-element-8b2b7fc,.elementor-element-5e35bd0) > .elementor-container > .elementor-column { width: 100% !important; }
  body .faqs_qs_sec > .row { display: flex; flex-wrap: wrap; gap: 28px; }
  body .faqs_qs_sec > .row > .col-lg-6 { width: 100%; max-width: 100%; flex: 0 0 100%; }
}
@media (max-width: 600px) {
  :root { --pec-form-card-padding: 24px; }
  body .wpcf7, body #aol_app_form { border-radius: 18px !important; }
  body .quz_sec:has(.wpcf7) .question_sec { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
  body .popup_form:has(.wpcf7) .appointment_form { width: 100%; padding: 16px !important; }
}
/* Keep the contact introductions aligned, including the legacy phone blocks. */
body .pec-form-heading .sub-title .border-left { display: block !important; flex: 0 0 28px; height: 3px; background: #e48a37; border: 0 !important; }
body .pec-form-heading .sub-title h5 { margin: 0 !important; }
body .contact-style1__content-box--inner .phone-number h3 { margin: 0 !important; padding: 0 !important; }
body .elementor-element-03e72ab > .elementor-widget-wrap { align-content: flex-start; padding-top: 16px !important; }
body :is(.elementor-element-8b2b7fc,.elementor-element-5e35bd0) { background-color: #f4f7fb !important; }
/* Legacy form variants use the same single-column field rhythm. */
body .wpcf7 .rqs_form > .row { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; margin: 0; }
body .wpcf7 .rqs_form > .row::before, body .wpcf7 .rqs_form > .row::after { content: none; display: none; }
body .wpcf7 .rqs_form > .row > div { width: auto; max-width: none; padding: 0; min-width: 0; }
body .wpcf7 form > label.pec-field-label { margin-bottom: 20px !important; }
body .wpcf7 .rqs_form > div:has(input[type=file]) { float: none !important; width: 100% !important; padding: 0 !important; }
body .wpcf7 .ht_form { background: transparent !important; padding: 0 !important; border: 0 !important; }
body .wpcf7 .ht_form #contactform > .input_field { margin-bottom: 20px !important; }
body #aol_app_form label { margin-bottom: 8px !important; }
body #aol_app_form .help-block { font-style: normal; font-family: var(--pec-form-font); }
