

.arx-form { position: relative; }

.arx-form .ff-el-group { margin-bottom: 18px; }
.arx-form .ff-el-group:last-of-type { margin-bottom: 0; }

.arx-form .ff-el-input--label { margin-bottom: 8px; }
.arx-form .ff-el-input--label label {
  font-size: 14px; line-height: 20px; font-weight: var(--fw-regular);
  color: var(--arx-grey-90);
}

.arx-form .ff-el-is-required.asterisk-right label::after {
  content: " *"; color: var(--arx-blue-border);
}

.arx-form .ff-el-form-control {
  width: 100%; height: 48px; padding: 0 16px;
  border-radius: 10px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.16);
  color: var(--arx-white);
  font-family: var(--arx-font); font-size: 15px; line-height: 24px;
  transition: border-color .25s var(--arx-ease), background-color .25s var(--arx-ease);
}
.arx-form textarea.ff-el-form-control { height: auto; padding: 14px 16px; resize: vertical; }
.arx-form .ff-el-form-control::placeholder { color: var(--arx-grey-50); }
.arx-form .ff-el-form-control:hover { border-color: rgba(255,255,255,.28); }
.arx-form .ff-el-form-control:focus,
.arx-form .ff-el-form-control:focus-visible {
  outline: none;
  border-color: var(--arx-blue);
  background: rgba(21,116,255,.06);
  box-shadow: 0 0 0 3px rgba(21,116,255,.18);
}

.arx-form { --fluentform-input-select-height: 48px; }
.arx-form select.ff-el-form-control:not([multiple]) {
  height: 48px; line-height: 24px;
}

.arx-form select.ff-el-form-control {
  appearance: none;
  padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23559aff' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
}
.arx-form select.ff-el-form-control option { background: #101318; color: var(--arx-white); }

.arx-form form fieldset {
  display: flex; flex-wrap: wrap; gap: 0 18px;
  margin: 0; padding: 0; border: 0; min-width: 0;
}
.arx-form form fieldset > .ff-el-group { flex: 1 1 100%; min-width: 0; }

/* Meia largura enquanto couber. O piso de 200px é o que faz o par desistir da
   dupla e ocupar a linha inteira: "E-mail corporativo" mede 118px numa linha e,
   espremido abaixo disso, quebrava em duas, o campo crescia, o vizinho não, e
   a fileira saía do prumo. Quem decide é a largura real do fieldset, não um
   palpite de viewport, então vale igual no contato, no evento e onde mais o
   formulário for parar. O min() evita o estouro no caminho contrário: em telas
   de 320px o próprio fieldset é menor que 200px, e aí o piso vira 100%. */
.arx-form form fieldset > .ff-el-group.arx-form__meio {
  flex: 1 1 calc(50% - 9px);
  min-width: min(200px, 100%);
}

/* Cinto de segurança para o dia em que um rótulo quebrar assim mesmo, texto
   mais longo, tradução, fonte de fallback antes do webfont pintar. Os grupos
   já esticam à altura da fileira; jogar o controle para o rodapé do grupo faz
   os campos continuarem alinhados entre si, com o rótulo crescendo para cima. */
.arx-form form fieldset > .ff-el-group.arx-form__meio { display: flex; flex-direction: column; }
.arx-form form fieldset > .ff-el-group.arx-form__meio .ff-el-input--content { margin-top: auto; }

.arx-form .ff_screen_reader_title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

.arx-form .arx-form__aceite .ff-el-input--label { display: none; }
.arx-form .ff-el-form-check-label {
  display: flex; align-items: flex-start; gap: 10px; cursor: pointer;
  font-size: 13px; line-height: 20px; color: var(--arx-grey-70);
}
.arx-form .ff-el-form-check-input {
  flex: none; width: 18px; height: 18px; margin-top: 1px;
  accent-color: var(--arx-blue);
  border-radius: 4px; cursor: pointer;
}
.arx-form .ff-el-form-check-label a { color: var(--arx-blue-border); text-decoration: underline; text-underline-offset: 2px; }

.arx-form .ff_submit_btn_wrapper { margin-top: 6px; }
.arx-form .ff-btn-submit { cursor: pointer; }
.arx-form .ff-btn-submit:disabled { opacity: .55; cursor: progress; }

.arx-form .ff-el-form-control.ff-el-is-error,
.arx-form .error.ff-el-form-control { border-color: #ff5a5a; }
.arx-form .text-danger,
.arx-form .error_index { margin-top: 6px; font-size: 12.5px; line-height: 18px; color: #ff8a8a; }

.arx-form .ff-message-success {
  padding: 18px 20px; border-radius: 12px;
  background: rgba(21,116,255,.10);
  border: 1px solid var(--arx-blue);
  font-size: 15px; line-height: 24px; color: var(--arx-white);
}
.arx-form .ff-errors-in-stack .error {
  margin-top: 12px; padding: 12px 16px; border-radius: 10px;
  background: rgba(255,90,90,.10); border: 1px solid rgba(255,90,90,.45);
  font-size: 14px; color: #ffb4b4;
}

.arx-form--linha form fieldset { align-items: flex-start; gap: 12px; }
.arx-form--linha .ff-el-input--label { display: none; }
.arx-form--linha { --fluentform-input-select-height: 52px; }
.arx-form--linha .ff-el-form-control,
.arx-form--linha select.ff-el-form-control:not([multiple]) { height: 52px; border-radius: 26px; padding-inline: 22px; }
.arx-form--linha .ff-btn-submit { height: 52px; }

.arx-form--linha form fieldset > .ff-el-group {
  order: 1; flex: 1 1 240px; min-width: 0; margin-bottom: 0;
}
.arx-form--linha form fieldset > .ff_submit_btn_wrapper { order: 2; flex: none; margin-top: 0; }

.arx-form--linha form fieldset > .arx-form__aceite {
  order: 3; flex: 1 1 100%; margin-top: 4px;
}

.arx-form--empilhado form fieldset { flex-direction: column; gap: 12px; }
.arx-form--empilhado .ff-el-input--label { display: none; }
.arx-form--empilhado form fieldset > .ff-el-group { flex: 1 1 100%; margin-bottom: 0; }
.arx-form--empilhado .ff-btn-submit { width: 100%; }

.evt-form.arx-form form fieldset > .ff-el-group.arx-form__meio { flex: 1 1 100%; }
.evt-form.arx-form .ff-el-input--label { display: none; }
.evt-form.arx-form .ff-btn-submit { width: 100%; }

.ct-form.arx-form { padding: 30px 32px 32px; }
