/* Shared field assistance: independent of the parent theme's base stylesheet. */
[data-sc-contact-form] .sc-contact-form__control { position: relative; min-width: 0; }
[data-sc-contact-form] .sc-contact-form__control--help-enhanced > :is(input, textarea) { padding-right: 48px; }
[data-sc-contact-form] .sc-contact-form__control--help-enhanced > select { padding-right: 72px; }
[data-sc-contact-form] .sc-contact-form__control > .sc-contact-form__info {
  position: absolute; top: 3px; right: 3px; display: grid; place-items: center;
  width: 44px; height: 44px; min-width: 44px; min-height: 44px;
  border: 0; border-radius: 0; padding: 0; margin: 0;
  background: transparent; color: #344054; cursor: pointer; font: inherit;
}
[data-sc-contact-form] .sc-contact-form__control > select ~ .sc-contact-form__info { right: 24px; }
[data-sc-contact-form] .sc-contact-form__info > span {
  display: grid; place-items: center; width: 18px; height: 18px;
  border: 1px solid currentColor; border-radius: 50%; font: 600 12px/1 Georgia, serif;
}
[data-sc-contact-form] .sc-contact-form__control > .sc-contact-form__info:focus-visible { outline: 2px solid currentColor; outline-offset: -5px; }
[data-sc-contact-form] .sc-contact-form__control--help-open { z-index: 5; }
[data-sc-contact-form] .sc-contact-form__control--help-enhanced > .sc-contact-form__help {
  position: absolute; z-index: 6; top: calc(100% + 8px); right: 0;
  box-sizing: border-box; width: max-content; max-width: min(320px, 100%);
  margin: 0; padding: 12px 14px; border: 1px solid #d0d5dd; border-radius: 3px;
  background: #fff; color: #344054; box-shadow: 0 4px 14px rgb(16 24 40 / 12%);
  font-size: 13px; line-height: 1.5; font-weight: 400; text-align: left;
  overflow-wrap: anywhere;
}
[data-sc-contact-form] .sc-contact-form__control--help-enhanced > .sc-contact-form__help::before {
  content: ''; position: absolute; left: 0; right: 0; top: -9px; height: 9px;
}
[data-sc-contact-form] .sc-contact-form__field > .sc-contact-form__error {
  margin: 8px 0 0; color: #b42318; text-align: right; font-size: 12px; font-weight: 600;
}
[data-sc-contact-form] .sc-contact-form__control > :is(input, select, textarea)[aria-invalid='true'] { border-color: #b42318; }
[data-sc-contact-form] .sc-contact-form__control > [hidden],
[data-sc-contact-form] .sc-contact-form__field > .sc-contact-form__error[hidden] { display: none !important; }
