/* FYI Contact — scoped exclusively to the contact-us/contact page.
   No body widths, viewport translations, global Elementor overrides, or changes to payments. */
body.fyi-ds-contact { --fyi-contact-line:rgba(157,224,230,.26); }
body.fyi-ds-contact :is(.ct-page-title,.entry-header,.ct-breadcrumbs) {
  color:var(--fyi-color-text,#FAF7FF);
}
body.fyi-ds-contact :is(.ct-page-title,.entry-header) h1 {
  color:#FAF7FF;
  letter-spacing:-.03em;
  line-height:1.12;
}
/* Do not blindly compress every Elementor section. The companion script
   marks only the contact-form section when a large blank gap is measured. */
body.fyi-ds-contact .fyi-contact-form-region {
  min-height:0!important;
  height:auto!important;
  padding-block:clamp(24px,3.5vw,56px)!important;
  margin-top:0!important;
  align-items:flex-start;
}
body.fyi-ds-contact .fyi-contact-form-region > :is(.e-con-inner,.elementor-container) {
  min-height:0!important;
  align-items:flex-start!important;
}
body.fyi-ds-contact .fyi-contact-compact-column {
  min-height:0!important;
  height:auto!important;
  padding-block:clamp(12px,2vw,24px)!important;
}
body.fyi-ds-contact .fyi-contact-empty-spacer {
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}
/* Dark contact card to resolve white-on-white heading text. Apply styling
   to the discovered light Elementor panel; WPForms keeps its native behavior. */
body.fyi-ds-contact .fyi-contact-card {
  --fyi-contact-card-bg:linear-gradient(142deg,#200c32 0%,#140a22 48%,#0b0815 100%);
  background:var(--fyi-contact-card-bg)!important;
  color:#FAF7FF!important;
  border:1px solid var(--fyi-contact-line)!important;
  border-radius:18px!important;
  padding:clamp(20px,3vw,38px)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.28);
  max-width:100%;
  box-sizing:border-box;
}
body.fyi-ds-contact .fyi-contact-card :is(h1,h2,h3,h4,.elementor-heading-title),
body.fyi-ds-contact .wpforms-container :is(h1,h2,h3,h4),
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full,.wpforms-form) :is(.wpforms-field-label,.wpforms-field-label-inline,.wpforms-required-label,legend,strong) {
  color:#FAF7FF!important;
  opacity:1!important;
}
body.fyi-ds-contact .fyi-contact-card :is(p,.elementor-widget-text-editor,small),
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) :is(.wpforms-field-description,.wpforms-description,.wpforms-field-sublabel) {
  color:#DDD3E5!important;
  opacity:1!important;
}
/* Form itself gets a consistent panel even if Elementor has no white wrapper. */
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full,form.wpforms-form) {
  color:#FAF7FF;
  max-width:100%;
}
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) select,
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) textarea {
  width:100%;
  max-width:100%;
  background:#FCFAFF!important;
  color:#1B1423!important;
  border:1.5px solid #9989AA!important;
  border-radius:9px!important;
  box-shadow:none!important;
  font-size:16px;
  min-height:46px;
}
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) textarea {min-height:142px; resize:vertical;}
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) input::placeholder,
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) textarea::placeholder {color:#615667!important;opacity:1!important;}
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) :is(input,select,textarea):focus {
  border-color:#2E717B!important;
  outline:2px solid #9DE0E6!important;
  outline-offset:2px;
}
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) :is(button[type="submit"],input[type="submit"],.wpforms-submit) {
  background:linear-gradient(110deg,#2E0055,#53227D)!important;
  border:1px solid rgba(157,224,230,.5)!important;
  border-radius:10px!important;
  color:#FAF7FF!important;
  font-weight:750;
  min-height:46px;
  padding:11px 25px;
  cursor:pointer;
}
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) :is(button[type="submit"],input[type="submit"],.wpforms-submit):hover {
  background:linear-gradient(110deg,#2E717B,#21646E)!important;
}
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) :is(.wpforms-error,.wpforms-field-error) {color:#FFB4B4!important;}
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) :is(.wpforms-confirmation-container,.wpforms-confirmation-container-full) {
  background:#11342D!important;color:#FAF7FF!important;border:1px solid #9DE0E6!important;border-radius:10px;padding:16px;
}
/* Force standalone light panels surrounding contact forms to visually belong
   to the brand only when the script explicitly identifies them. */
body.fyi-ds-contact .fyi-contact-card :is(.elementor-widget-container,.wpforms-container-full),
body.fyi-ds-contact .fyi-contact-card .elementor-widget {
  background-color:transparent;
}
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) .wpforms-field {margin-bottom:15px;}
body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) :is(.wpforms-field-label, label) {font-weight:650;}
@media(max-width:767px) {
  body.fyi-ds-contact .fyi-contact-card {padding:20px!important;border-radius:14px!important;}
  body.fyi-ds-contact .fyi-contact-form-region {padding-block:24px!important;}
  body.fyi-ds-contact :is(.wpforms-container,.wpforms-container-full) :is(button[type="submit"],.wpforms-submit){width:100%;}
}
@media(prefers-reduced-motion:reduce){body.fyi-ds-contact .fyi-contact-card *{transition:none!important;}}
