:is(.fluent-form-wrapper, form.frm-fluent-form) {
  --group-margin: 3rem;
}

.fluent-form-wrapper {
  position: relative;
}
.fluent-form-wrapper.has-align-center form {
  align-items: center;
}
.fluent-form-wrapper.has-align-right form {
  align-items: flex-end;
}
.fluent-form-wrapper picture {
  display: inline-block;
  margin-block-start: var(--group-margin);
}
@media (min-width: 768px) {
  .fluent-form-wrapper picture {
    position: absolute;
    inset: auto 0 0 auto;
    transform: translateY(18%);
  }
}

form.frm-fluent-form {
  --input-margin: 2rem;
  --input-gap: 2.6rem;
  --checkbox-size: 20px;
  --checkbox-border-radius: 5px;
  --error-outline-width: 3px;
  font-size: var(--static-paragraph-default-fontsize);
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  form.frm-fluent-form {
    --group-margin: clamp(3rem, 1.6667rem + 1.7361vw, 5rem);
  }
}
form.frm-fluent-form.ff_force_hide {
  display: unset !important;
}
form.frm-fluent-form.ff_force_hide .ff_submit_btn_wrapper {
  display: none;
}
form.frm-fluent-form .ff-errors-in-stack {
  display: none;
}
form.frm-fluent-form ~ .ff-message-success {
  display: flex;
  color: var(--wp--preset--color--gold);
  margin-block-start: 3.5rem;
  font-size: var(--static-paragraph-default-fontsize);
  max-width: 60%;
}
form.frm-fluent-form ~ .ff-message-success svg {
  font-size: 4rem;
  margin-inline-end: 1.6rem;
  flex-shrink: 0;
  transform: translateY(-20%);
}
form.frm-fluent-form ~ .ff-message-success p {
  margin: 0;
  font-size: inherit;
  display: inline;
}
section:where(:not([class*=-background-color])) form.frm-fluent-form input,
section:where(:not([class*=-background-color])) form.frm-fluent-form .ff-el-form-check-label span::before {
  background: var(--wp--preset--color--light-purple);
}
form.frm-fluent-form > .ff_submit_btn_wrapper {
  margin-block-start: calc(var(--group-margin) - var(--input-margin));
}
form.frm-fluent-form > .ff-el-group:where(:not(.ff-el-form-hide_label)):where(:not(:last-of-type)):where(:not(.ff-el-input--content)) {
  margin-block-end: var(--group-margin);
}
form.frm-fluent-form > .ff-el-group.ff-el-input--content {
  margin-block-end: var(--input-margin);
}
@media (min-width: 768px) {
  form.frm-fluent-form > .ff-t-container,
form.frm-fluent-form > .ff-field_container > .ff-t-container {
    display: flex;
    gap: var(--input-gap);
  }
}
form.frm-fluent-form > .ff-t-container > *,
form.frm-fluent-form > .ff-field_container > .ff-t-container > * {
  flex-basis: 50%;
}
@media (min-width: 768px) {
  form.frm-fluent-form > *:where(:not(.ff_list_2col)):where(:not(.ff_submit_btn_wrapper)) {
    width: 100%;
  }
}
:is(.has-white-color) form.frm-fluent-form button {
  background-color: var(--wp--preset--color--blue);
}
:is(.has-purple-background-color, .has-blue-background-color) form.frm-fluent-form {
  color: var(--wp--preset--color--white);
}
form.frm-fluent-form p {
  font-size: inherit;
  margin-block-end: unset;
}
form.frm-fluent-form a {
  text-decoration: underline;
}
form.frm-fluent-form :is(input, button) {
  border-radius: var(--button-default-border-radius);
  font-size: var(--static-paragraph-default-fontsize);
  line-height: var(--button-default-line-height);
}
form.frm-fluent-form button {
  font-weight: var(--button-default-font-weight);
  padding: var(--button-default-padding-top) var(--button-default-padding-inline) var(--button-default-padding-bottom);
  background-color: var(--wp--preset--color--purple);
  color: var(--wp--preset--color--white);
}
form.frm-fluent-form :is([type=text], [type=url], [type=number], [type=email], [type=tel], textarea) {
  margin-block-end: var(--input-margin);
}
form.frm-fluent-form input {
  padding: calc(var(--button-default-padding-top) - 0.1rem) 2.5rem calc(var(--button-default-padding-bottom) - 0.2rem);
  color: var(--wp--preset--color--blue);
  background-color: var(--wp--preset--color--white);
  width: 100%;
}
form.frm-fluent-form .ff-el-group.ff_list_2col .ff-el-input--content {
  display: grid;
  grid-gap: 1.2rem var(--input-gap);
}
@media (min-width: 768px) {
  form.frm-fluent-form .ff-el-group.ff_list_2col .ff-el-input--content {
    grid-template-columns: repeat(2, minmax(max-content, 1fr));
  }
}
form.frm-fluent-form .ff-el-input--label {
  margin-bottom: 1.4rem;
}
form.frm-fluent-form .ff-el-form-hide_label .ff-el-input--label {
  display: none;
}
form.frm-fluent-form .ff-el-input--content .ff-el-form-check :is(.ff_t_c, p) {
  font-size: 1.4rem;
  line-height: 1.3;
}
form.frm-fluent-form .ff-el-form-check.ff_item_selected .ff-el-form-check-label input[type=radio] + span::before {
  border-width: 6px;
  background-color: var(--wp--preset--color--blue);
}
form.frm-fluent-form .ff-el-form-check.ff_item_selected .ff-el-form-check-label input[type=checkbox] + span::before,
form.frm-fluent-form .ff-el-form-check.ff_item_selected .ff-el-form-check-label span.ff_tc_checkbox::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewbox='0 0 12 10' fill='none'%3E%3Cpolyline points='1.5 6 4.5 9 10.5 1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' stroke='%23132D4F'%3E%3C/polyline%3E%3C/svg%3E");
  background-position: 4px 5px;
}
form.frm-fluent-form .ff-el-is-error .error {
  display: none;
}
form.frm-fluent-form .ff-el-is-error input {
  --error-outline-width: 3px;
}
form.frm-fluent-form .ff-el-is-error span::before {
  --error-outline-width: 2px;
}
form.frm-fluent-form .ff-el-is-error input,
form.frm-fluent-form .ff-el-is-error span::before {
  outline: var(--error-outline-width) solid #EB495B;
  outline-offset: calc(var(--error-outline-width) * -1 + 1px);
}
form.frm-fluent-form .ff-el-form-check-label {
  position: relative;
  display: inline-block;
  padding-inline-start: calc(var(--checkbox-size) + 1.2rem);
  cursor: pointer;
  user-select: none;
}
form.frm-fluent-form .ff-el-form-check-label:active span::before {
  transform: scale(0.8);
}
form.frm-fluent-form .ff-el-form-check-label input {
  display: none;
}
form.frm-fluent-form .ff-el-form-check-label input[type=checkbox] + span::before {
  border-radius: var(--checkbox-border-radius);
}
form.frm-fluent-form .ff-el-form-check-label input[type=radio] + span::before {
  border-radius: 50%;
  border: 0 solid var(--wp--preset--color--white);
}
form.frm-fluent-form .ff-el-form-check-label span::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  background-color: var(--wp--preset--color--white);
  transition: transform 0.2s ease;
}
form.frm-fluent-form .ff-el-form-check-label span.ff_tc_checkbox::before {
  border-radius: var(--checkbox-border-radius);
}