/* Contact form enhancements for validation, feedback, and loading states */

#main [data-framer-name="Team section"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  gap: 0 !important;
}

#main #contact,
#main [data-framer-name="Contact section"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  padding-top: 58px !important;
  gap: 64px !important;
}

#contact [data-framer-name="Container"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 1224px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 42px !important;
  gap: 66px !important;
}

#contact [data-framer-name="Form Stroke"] {
  width: 100% !important;
  max-width: 850px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 1199.98px) {
  #tas-pricing-compare-host + #contact {
    margin-top: 0 !important;
  }

  #main #contact,
  #main [data-framer-name="Contact section"] {
    padding-top: 40px !important;
    gap: 80px !important;
  }

  #contact [data-framer-name="Container"] {
    padding-top: 0 !important;
    gap: 64px !important;
  }

  #main [data-framer-name="Team section"] {
    padding-bottom: 16px !important;
  }
}

#contact [data-framer-name="Form Wrapper"],
#contact form[data-framer-name="Contact Form"] {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#contact form[data-framer-name="Contact Form"] {
  outline: none;
}

#contact .tas-contact-field {
  width: 100%;
}

#contact .tas-contact-field-error {
  display: none;
  margin: 6px 0 0;
  color: #ff8f8f;
  font-size: 12px;
  line-height: 1.4;
}

#contact .tas-contact-field--invalid .tas-contact-field-error {
  display: block;
}

#contact .tas-contact-field--invalid [data-framer-name="Line"] {
  background-color: #ff6b6b !important;
}

#contact .tas-contact-field:focus-within [data-framer-name="Line"] {
  background-color: rgba(243, 178, 12, 0.9) !important;
}

#contact .tas-contact-field .framer-form-input:-webkit-autofill,
#contact .tas-contact-field .framer-form-input:-webkit-autofill:hover,
#contact .tas-contact-field .framer-form-input:-webkit-autofill:focus,
#contact .tas-contact-field .framer-form-input:-webkit-autofill:active {
  -webkit-text-fill-color: rgba(255, 255, 255, 0.96);
  caret-color: rgba(255, 255, 255, 0.96);
  -webkit-box-shadow: 0 0 0 1000px rgba(0, 0, 0, 0) inset;
  box-shadow: 0 0 0 1000px rgba(0, 0, 0, 0) inset;
  background-color: transparent !important;
  transition: background-color 9999s ease-out 0s;
}

#contact .tas-contact-field .framer-form-input:focus-visible,
#contact .tas-contact-field select:focus-visible,
#contact .tas-contact-field textarea:focus-visible,
#contact button[type="submit"]:focus-visible {
  outline: 2px solid rgba(243, 178, 12, 0.95);
  outline-offset: 4px;
}

#contact .tas-contact-status {
  display: block;
  max-width: min(460px, 100%);
  margin: 10px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  background: transparent;
}

#contact .tas-contact-status[data-state="success"] {
  color: #8ee5a8;
}

#contact .tas-contact-status[data-state="error"] {
  color: #ff9a9a;
}

#contact button[type="submit"][disabled],
#contact button[type="submit"].tas-submit-loading {
  cursor: not-allowed;
  opacity: 0.7;
}

#contact form[aria-busy="true"] {
  pointer-events: auto;
}

@media (max-width: 809.98px) {
  #main #contact,
  #main [data-framer-name="Contact section"] {
    padding-top: 0 !important;
    gap: 60px !important;
  }

  #contact [data-framer-name="Container"] {
    padding-top: 0 !important;
    gap: 64px !important;
  }

  #contact .tas-contact-field-error {
    font-size: 12px;
  }

  #contact .tas-contact-status {
    font-size: 13px;
    max-width: min(320px, 100%);
  }

  #contact button[type="submit"] {
    width: 100%;
  }
}
