/* SAMC reference styling for the five conference and Pro Zone forms.
 * Keep the scope on the wrapper so success/error messages are included.
 * Do not override display/visibility: Fluent Forms owns conditional fields,
 * honeypots, screen-reader file inputs and enhanced-select visibility.
 */
.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) {
  --samc-form-ink: #282930;
  --samc-form-paper: #fff;
  --samc-form-coral: #fb896f;
  --samc-form-yellow: #ffe27a;
  --fluentform-primary: #ffe27a;
  --fluentform-secondary: #282930;
  --fluentform-danger: #ffe27a;
  --fluentform-border-radius: 0px;
  --fluentform-border-color: transparent;
  box-sizing: border-box;
  width: 100%;
  max-width: 52rem;
  margin-inline: auto;
  padding: clamp(1.25rem, 4vw, 3rem);
  background: #F98A70;
  color: var(--samc-form-paper);
  font-family: "Alegreya", Georgia, serif;
  font-size: 1.125rem;
  line-height: 1.5;
  border: 0;
  border-radius: 0;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .frm-fluent-form {
  color: inherit;
  font-family: inherit;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) :is(fieldset, .ff-t-cell, .ff-el-input--content) {
  min-width: 0;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-el-group {
  margin-bottom: 1.5rem;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-el-input--label {
  margin-bottom: 0.375rem;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-el-input--label label {
  color: var(--samc-form-paper);
  font-family: inherit;
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  font-weight: 700;
  font-style: italic;
  line-height: 1.3;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-el-input--label.ff-el-is-required label::after {
  color: var(--samc-form-paper);
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-el-form-control:not([type="hidden"]):not([type="file"]):not(.ff-screen-reader-element) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: var(--samc-form-paper);
  color: var(--samc-form-ink);
  font-family: "Alegreya", Georgia, serif;
  font-size: 1.125rem;
  font-style: italic;
  font-weight: 600;
  line-height: 1.4;
  padding-block: 0.35rem;
  box-shadow: none;
}

/* Leave telephone left padding to intl-tel-input's flag/dial-code layout. */
.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-el-form-control:not(.ff-el-phone):not([type="file"]) {
  padding-inline: 0.75rem;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) select.ff-el-form-control:not([multiple]) {
  padding-right: 2.5rem;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) textarea.ff-el-form-control {
  min-height: 8rem;
  resize: vertical;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-el-form-control::placeholder {
  color: #64616a;
  opacity: 1;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-el-form-control:disabled {
  background-color: #eeeae6;
  color: #64616a;
  cursor: not-allowed;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) :is(.ff-el-form-control, .ff-el-form-check-input, .ff-btn, a, .choices, .iti__selected-country):focus-visible {
  outline: 2px solid var(--samc-form-yellow);
  outline-offset: 3px;
  box-shadow: none;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) :is(h2, h3, h4) {
  color: var(--samc-form-coral);
  font-family: "Alegreya", Georgia, serif;
  font-style: italic;
  font-weight: 700;
  line-height: 1.2;
}

/* Keep Pro Zone registration section headings readable on the coral background. */
.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_17) .ff-custom_html h3 {
  color: var(--heading-h1-color);
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) :is(.ff-el-help-message, .ff-el-input--content > .ff-el-help-message, .ff-custom_html, .ff-el-form-check-label) {
  color: var(--samc-form-paper);
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-el-help-message {
  font-size: 1rem;
  line-height: 1.5;
  opacity: 1;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-el-form-check label.ff-el-form-check-label {
  font-family: inherit;
  font-size: 1.0625rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-el-form-check-input {
  accent-color: var(--samc-form-yellow);
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) a {
  color: var(--samc-form-yellow);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  overflow-wrap: anywhere;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) a:hover {
  color: var(--samc-form-paper);
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff_submit_btn_wrapper {
  text-align: right;
  margin-bottom: 0;
}

/* Specificity also wins over Fluent Forms' per-form inline button styles. */
.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff_submit_btn_wrapper .ff-btn.ff-btn-submit,
.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff_file_upload_holder .ff_upload_btn.ff-btn {
  min-height: 44px;
  max-width: 100%;
  border: 1px solid transparent;
  border-radius: 0;
  background: var(--samc-form-yellow);
  color: var(--samc-form-ink);
  font-family: "Alegreya", Georgia, serif;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
  padding: 0.5rem 1.25rem;
  white-space: normal;
  opacity: 1;
  box-shadow: none;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff_submit_btn_wrapper .ff-btn.ff-btn-submit {
  min-width: 8rem;
  margin: 0;
  text-transform: uppercase;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff_submit_btn_wrapper .ff-btn.ff-btn-submit:is(:hover, :focus-visible),
.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff_file_upload_holder .ff_upload_btn.ff-btn:is(:hover, :focus-visible) {
  background: var(--samc-form-ink);
  color: var(--samc-form-yellow);
  opacity: 1;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff_file_upload_holder:focus-within {
  outline: 2px solid var(--samc-form-yellow);
  outline-offset: 3px;
}

/* Choices owns the searchable country selector; preserve its native layout. */
.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) :is(.choices__inner, .choices__input, .choices__list--dropdown) {
  border-radius: 0;
  background-color: var(--samc-form-paper);
  color: var(--samc-form-ink);
  font-family: "Alegreya", Georgia, serif;
  font-size: 1.125rem;
  font-style: italic;
  line-height: 1.4;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .choices__inner {
  box-sizing: border-box;
  min-height: 44px;
  padding: 0.35rem 0.75rem;
  border: 1px solid transparent;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .choices__list--single {
  padding-block: 0;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .choices__list--dropdown .choices__item--selectable.is-highlighted {
  background: var(--samc-form-yellow);
  color: var(--samc-form-ink);
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .choices__placeholder {
  opacity: 1;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .choices.is-focused .choices__inner {
  outline: 2px solid var(--samc-form-yellow);
  outline-offset: 3px;
}

/* Phone picker menus stay dark-on-white, including the selected dial code. */
.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .iti {
  width: 100%;
  max-width: 100%;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) :is(.iti__country-list, .iti__dropdown-content, .iti__search-input) {
  background: var(--samc-form-paper);
  color: var(--samc-form-ink);
  border-radius: 0;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) :is(.iti__selected-dial-code, .iti__selected-country) {
  color: var(--samc-form-ink);
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) :is(.iti__country.iti__highlight, .iti__country--highlight) {
  background: var(--samc-form-yellow);
  color: var(--samc-form-ink);
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) :is(.ff-el-is-error .ff-el-form-control, .ff-el-form-control[aria-invalid="true"]) {
  border-color: var(--samc-form-ink);
  outline: 2px solid var(--samc-form-paper);
  outline-offset: 2px;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) :is(.ff-el-input--content .error, .error-text) {
  color: var(--samc-form-yellow);
  font-size: 1rem;
  font-weight: 700;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) :is(.ff-message-success, .ff-errors-in-stack) {
  border-radius: 0;
  background: var(--samc-form-paper);
  color: var(--samc-form-ink);
  box-shadow: none;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-errors-in-stack .error {
  color: #862910;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-upload-preview {
  background: var(--samc-form-paper);
  color: var(--samc-form-ink);
  border-radius: 0;
}

.fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-upload-preview a {
  color: #862910;
}

@media (max-width: 600px) {
  .fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-t-container {
    flex-direction: column;
    gap: 0;
  }

  .fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff-t-cell {
    flex-basis: auto;
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding-inline: 0;
  }

  .fluentform.ff-default:is(.fluentform_wrapper_12, .fluentform_wrapper_13, .fluentform_wrapper_14, .fluentform_wrapper_15, .fluentform_wrapper_17) .ff_submit_btn_wrapper .ff-btn.ff-btn-submit {
    width: 100%;
  }
}
