.fb-instance,
.fb-instance * {
  box-sizing: border-box;
}

.fb-instance {
  width: 100%;
  margin: 24px 0;
  color: #172033;
  font-family: inherit;
  line-height: 1.45;
}

.fb-dialog {
  width: 100%;
}

.fb-card {
  --fb-max-width: 760px;
  --fb-min-height: 0px;
  --fb-popup-width: 820px;
  --fb-padding: 32px;
  --fb-radius: 24px;
  --fb-form-radius: 24px;
  --fb-form-border-width: 1px;
  --fb-form-border-color: #dfe5ed;
  --fb-form-shadow: 0 18px 50px 0 rgba(29, 40, 61, .08);
  --fb-field-height: 56px;
  --fb-field-radius: 12px;
  --fb-field-border-width: 1px;
  --fb-field-background: #fff;
  --fb-field-text: #172033;
  --fb-field-placeholder: #94a3b8;
  --fb-field-border: #dfe5ed;
  --fb-field-focus-border: #12abc4;
  --fb-button-height: 56px;
  --fb-submit-width: 100%;
  --fb-button-radius: 12px;
  --fb-button-border-width: 0px;
  --fb-button-border-color: #4f36f5;
  --fb-choice-columns: 1;
  --fb-background: #fff;
  --fb-text: #172033;
  --fb-muted: #64748b;
  --fb-accent: #12abc4;
  --fb-button: #4f36f5;
  --fb-button-hover: #3922d6;
  --fb-button-text: #fff;
  --fb-input-border: #dfe5ed;
  --fb-title-font-size-desktop: 36px;
  --fb-title-font-size-tablet: 32px;
  --fb-title-font-size-mobile: 26px;
  --fb-title-line-height-desktop: 42px;
  --fb-title-line-height-tablet: 38px;
  --fb-title-line-height-mobile: 31px;
  --fb-title-align-desktop: left;
  --fb-title-align-tablet: left;
  --fb-title-align-mobile: left;
  --fb-title-margin-desktop: 0 0 20px 0;
  --fb-title-margin-tablet: 0 0 18px 0;
  --fb-title-margin-mobile: 0 0 16px 0;
  --fb-title-padding-desktop: 0;
  --fb-title-padding-tablet: 0;
  --fb-title-padding-mobile: 0;
  --fb-title-padding-right-desktop: 0px;
  --fb-title-padding-right-tablet: 0px;
  --fb-title-padding-right-mobile: 0px;
  position: relative;
  width: 100%;
  max-width: var(--fb-max-width);
  min-height: var(--fb-min-height);
  margin: 0 auto;
  padding: var(--fb-padding);
  color: var(--fb-text);
  background: var(--fb-background);
  border: var(--fb-form-border-width) solid var(--fb-form-border-color);
  border-radius: var(--fb-form-radius);
  box-shadow: var(--fb-form-shadow);
}

.fb-title,
.fb-quiz-title {
  margin: 0 0 20px;
  color: var(--fb-text);
  font-weight: 750;
  line-height: 1.18;
  letter-spacing: -.025em;
}

.fb-title {
  margin: var(--fb-title-margin-desktop);
  padding: var(--fb-title-padding-desktop);
  font-size: var(--fb-title-font-size-desktop);
  line-height: var(--fb-title-line-height-desktop);
  text-align: var(--fb-title-align-desktop);
}

.fb-quiz-main-title {
  margin-bottom: 10px;
  font-size: clamp(20px, 2.2vw, 28px);
}

.fb-quiz-title {
  margin-top: 22px;
  font-size: clamp(25px, 3vw, 34px);
}

.fb-description,
.fb-quiz-description {
  margin: -8px 0 24px;
  color: var(--fb-muted);
  font-size: 16px;
}

.fb-description > :last-child {
  margin-bottom: 0;
}

.fb-form {
  margin: 0;
}

.fb-fields {
  display: grid;
  gap: 19px;
}

.fb-layout-row {
  display: grid;
  grid-template-columns: repeat(var(--fb-layout-columns, 1), minmax(0, 1fr));
  gap: 19px;
}

.fb-layout-column {
  display: grid;
  align-content: start;
  gap: 19px;
  min-width: 0;
}

.fb-field {
  min-width: 0;
}

.fb-field--hidden {
  display: none;
}

.fb-label {
  display: block;
  margin: 0 0 8px;
  color: var(--fb-text);
  font-size: 15px;
  font-weight: 650;
}

.fb-required {
  margin-left: 3px;
  color: #e05260;
}

.fb-control {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: var(--fb-field-height);
  margin: 0;
  padding: 12px 16px;
  color: var(--fb-field-text);
  font: inherit;
  line-height: 1.35;
  background: var(--fb-field-background);
  border: var(--fb-field-border-width) solid var(--fb-field-border);
  border-radius: var(--fb-field-radius);
  outline: 0;
  box-shadow: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
  appearance: none;
}

select.fb-control {
  padding-right: 44px;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--fb-muted) 50%),
    linear-gradient(135deg, var(--fb-muted) 50%, transparent 50%);
  background-position:
    calc(100% - 21px) 50%,
    calc(100% - 16px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

textarea.fb-control {
  min-height: 118px;
  resize: vertical;
}

.fb-control::placeholder {
  color: var(--fb-field-placeholder);
}

.fb-control:hover {
  border-color: color-mix(in srgb, var(--fb-field-border) 55%, var(--fb-field-focus-border));
}

.fb-control:focus {
  border-color: var(--fb-field-focus-border);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--fb-field-focus-border) 14%, transparent);
}

.fb-field.has-error .fb-control,
.fb-field.has-error .fb-choice-inner,
.fb-field.has-error .fb-file {
  border-color: #e05260;
}

.fb-help {
  margin-top: 6px;
  color: var(--fb-muted);
  font-size: 13px;
}

.fb-error,
.fb-form-error {
  display: none;
  margin-top: 6px;
  color: #c83f4d;
  font-size: 13px;
}

.fb-error:not(:empty),
.fb-form-error:not(:empty) {
  display: block;
}

.fb-form-error {
  margin: 0 0 16px;
  padding: 12px 14px;
  color: #a8323e;
  background: #fff0f1;
  border: 1px solid #f5c7cc;
  border-radius: 10px;
}

.fb-choices {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.fb-choices--buttons,
.fb-choices--cards {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
}

.fb-choices--image_cards {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
}

.fb-choice {
  position: relative;
  display: block;
  min-width: 0;
  margin: 0;
  cursor: pointer;
}

.fb-choice > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.fb-choice-inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: var(--fb-field-height);
  padding: 14px 18px;
  overflow: hidden;
  color: var(--fb-field-text);
  background: var(--fb-field-background);
  border: var(--fb-field-border-width) solid var(--fb-field-border);
  border-radius: var(--fb-field-radius);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.fb-choice:hover .fb-choice-inner {
  border-color: color-mix(in srgb, var(--fb-field-border) 50%, var(--fb-field-focus-border));
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(29, 40, 61, .06);
}

.fb-choice > input:focus-visible + .fb-choice-inner {
  border-color: var(--fb-field-focus-border);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--fb-field-focus-border) 15%, transparent);
}

.fb-choice > input:checked + .fb-choice-inner {
  border-color: var(--fb-accent);
  background: color-mix(in srgb, var(--fb-accent) 4%, var(--fb-field-background));
  box-shadow: 0 0 0 1px var(--fb-accent);
}

.fb-choice-marker {
  position: relative;
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  background: var(--fb-field-background);
  border: 1.7px solid #8793a3;
  border-radius: 50%;
  transition: border-color .18s ease, background .18s ease;
}

.fb-choice > input[type="checkbox"] + .fb-choice-inner .fb-choice-marker {
  border-radius: 6px;
}

.fb-choice > input:checked + .fb-choice-inner .fb-choice-marker {
  background: var(--fb-accent);
  border-color: var(--fb-accent);
}

.fb-choice > input[type="radio"]:checked + .fb-choice-inner .fb-choice-marker::after {
  position: absolute;
  inset: 5px;
  content: "";
  background: #fff;
  border-radius: 50%;
}

.fb-choice > input[type="checkbox"]:checked + .fb-choice-inner .fb-choice-marker::after {
  position: absolute;
  top: 3px;
  left: 6px;
  width: 7px;
  height: 11px;
  content: "";
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.fb-choice-copy {
  flex: 1;
  min-width: 0;
}

.fb-choice-copy strong,
.fb-choice-copy small {
  display: block;
}

.fb-choice-copy strong {
  font-size: 16px;
  font-weight: 600;
}

.fb-choice-copy small {
  margin-top: 3px;
  color: var(--fb-muted);
  font-size: 13px;
  font-weight: 400;
}

.fb-choice-price {
  flex: 0 0 auto;
  color: var(--fb-accent);
  font-size: 13px;
  font-weight: 700;
}

.fb-choice-image {
  flex: 0 0 92px;
  align-self: stretch;
  min-height: 70px;
  margin: -14px 0 -14px -18px;
  overflow: hidden;
}

.fb-choice-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 70px;
  object-fit: cover;
}

.fb-choices--image_cards .fb-choice-inner {
  display: block;
  padding: 0;
}

.fb-choices--image_cards .fb-choice-image {
  display: block;
  width: 100%;
  height: 150px;
  margin: 0;
}

.fb-choices--image_cards .fb-choice-image img {
  height: 150px;
}

.fb-choices--image_cards .fb-choice-marker {
  position: absolute;
  z-index: 1;
  top: 14px;
  right: 14px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
}

.fb-choices--image_cards .fb-choice-copy {
  display: block;
  padding: 15px 17px;
}

.fb-choices--image_cards .fb-choice-price {
  position: absolute;
  right: 14px;
  bottom: 14px;
}

.fb-choices--buttons .fb-choice-inner {
  justify-content: center;
  text-align: center;
}

.fb-choices--buttons .fb-choice-marker {
  display: none;
}

.fb-choice--single,
.fb-choice--agree {
  display: block;
}

/* Agreement is a plain checkbox row. Keep this block more specific than the
   generic choice-card states instead of using priority flags to fight our own CSS. */
.fb-instance .fb-choice--agree > input + .fb-choice-inner {
  align-items: flex-start;
  gap: var(--fb-agree-gap-current, 10px);
  min-height: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
}

.fb-instance .fb-choice--agree > input + .fb-choice-inner .fb-choice-marker {
  display: block;
  visibility: visible;
  opacity: 1;
  flex: 0 0 var(--fb-agree-marker-size-current, 21px);
  width: var(--fb-agree-marker-size-current, 21px);
  min-width: var(--fb-agree-marker-size-current, 21px);
  height: var(--fb-agree-marker-size-current, 21px);
  min-height: var(--fb-agree-marker-size-current, 21px);
  box-sizing: border-box;
  background: var(--fb-agree-marker-background, var(--fb-field-background, #fff));
  border: var(--fb-agree-marker-border-width, 2px) solid var(--fb-agree-marker-border, #8793a3);
  border-radius: var(--fb-agree-marker-radius, 6px);
}

.fb-instance .fb-choice--agree > input:checked + .fb-choice-inner .fb-choice-marker {
  background: var(--fb-agree-marker-checked, var(--fb-accent));
  border-color: var(--fb-agree-marker-checked, var(--fb-accent));
}

.fb-instance .fb-choice--agree > input:checked + .fb-choice-inner .fb-choice-marker::after {
  top: 18%;
  left: 34%;
  width: 32%;
  height: 52%;
  border-color: var(--fb-agree-check, #fff);
}

.fb-instance .fb-choice--agree .fb-choice-copy {
  color: var(--fb-agree-text, var(--fb-muted));
  font-size: var(--fb-agree-text-size-current, 13px);
  text-align: left;
}

.fb-instance .fb-choice--agree a {
  color: var(--fb-agree-link, var(--fb-accent));
  text-decoration: underline;
}

.fb-instance .fb-agree {
  margin-top: var(--fb-agree-margin-top, 20px);
  margin-bottom: var(--fb-agree-margin-bottom, 0px);
}

/* Captcha modules in OpenCart often render through Bootstrap's .col-sm-12.
   Inside Form Builder that grid padding makes the captcha visibly narrower
   than the form controls, so normalize it only inside our captcha wrapper. */
.fb-captcha {
  width: 100%;
  margin-top: 18px;
}

.fb-instance .fb-captcha .col-sm-12 {
  float: none;
  width: 100%;
  padding-right: 0;
  padding-left: 0;
}

.fb-captcha .smart-captcha,
.fb-captcha [class*="smart-captcha"] {
  max-width: 100%;
}

.fb-file {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: var(--fb-field-height);
  padding: 8px;
  overflow: hidden;
  color: var(--fb-field-text);
  background: var(--fb-field-background);
  border: var(--fb-field-border-width) dashed var(--fb-field-border);
  border-radius: var(--fb-field-radius);
  cursor: pointer;
}

.fb-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.fb-file-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: calc(var(--fb-field-height) - 18px);
  padding: 8px 13px;
  color: var(--fb-field-text);
  font-size: 14px;
  font-weight: 600;
  background: #eef1f6;
  border-radius: 9px;
}

.fb-file-button svg {
  width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.fb-file-name {
  min-width: 0;
  overflow: hidden;
  color: var(--fb-muted);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fb-instance .fb-card .fb-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 164px;
  min-height: var(--fb-button-height);
  margin: 0;
  padding: 12px 24px;
  color: var(--fb-button-text);
  font: inherit;
  font-weight: 650;
  line-height: 1;
  text-align: center;
  appearance: none;
  background-color: var(--fb-button);
  border: var(--fb-button-border-width) solid var(--fb-button-border-color);
  border-radius: var(--fb-button-radius);
  outline: 0;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--fb-button) 22%, transparent);
  cursor: pointer;
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.fb-instance .fb-card .fb-button:hover {
  color: var(--fb-button-text);
  background-color: var(--fb-button-hover);
  transform: translateY(-1px);
  box-shadow: 0 15px 32px color-mix(in srgb, var(--fb-button) 28%, transparent);
}

.fb-instance .fb-card .fb-button:focus-visible {
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--fb-button) 18%, transparent);
}

.fb-instance .fb-card .fb-button:disabled {
  opacity: .65;
  pointer-events: none;
}

.fb-form > .fb-button--primary {
  width: var(--fb-submit-width);
  min-width: 0;
  margin-top: 22px;
}

.fb-quiz-navigation > [data-fb-submit] {
  width: var(--fb-submit-width);
  min-width: 0;
}

.fb-instance .fb-card .fb-button--back {
  color: var(--fb-text);
  background-color: #e9edf5;
  box-shadow: none;
}

.fb-instance .fb-card .fb-button--back:hover {
  color: var(--fb-text);
  background-color: #dfe5ef;
  box-shadow: none;
}

.fb-spinner {
  display: none;
  width: 17px;
  height: 17px;
  border: 2px solid rgba(255, 255, 255, .4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: fb-spin .7s linear infinite;
}

.fb-form.is-loading .fb-spinner {
  display: inline-block;
}

@keyframes fb-spin {
  to { transform: rotate(360deg); }
}

.fb-total {
  margin-top: 22px;
  padding: 16px 18px;
  background: color-mix(in srgb, var(--fb-accent) 6%, #f7f9fc);
  border: var(--fb-field-border-width) solid color-mix(in srgb, var(--fb-accent) 18%, var(--fb-field-border));
  border-radius: var(--fb-field-radius);
}

.fb-total--top {
  margin: 0 0 22px;
}

.fb-total-head,
.fb-total-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 15px;
}

.fb-total-head {
  font-size: 17px;
  font-weight: 650;
}

.fb-total-value {
  color: var(--fb-accent);
  font-size: 22px;
  white-space: nowrap;
}

.fb-total-items {
  margin-top: 9px;
  padding-top: 9px;
  color: var(--fb-muted);
  font-size: 13px;
  border-top: 1px solid color-mix(in srgb, var(--fb-accent) 16%, transparent);
}

.fb-total-item {
  padding: 3px 0;
}

.fb-success {
  padding: 30px 10px;
  color: var(--fb-text);
  text-align: center;
}

.fb-success h2,
.fb-success h3 {
  margin-top: 0;
  color: var(--fb-accent);
}

.fb-success-notice {
  --fb-form-radius: 24px;
  --fb-form-shadow: 0 18px 50px 0 rgba(29, 40, 61, .14);
  --fb-background: #fff;
  --fb-text: #172033;
  --fb-accent: #12abc4;
  position: fixed;
  z-index: 100100;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  color: var(--fb-text);
  font-family: inherit;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}

.fb-success-notice.is-visible {
  opacity: 1;
  visibility: visible;
}

.fb-success-notice.is-leaving {
  pointer-events: none;
}

.fb-success-notice__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 28, 42, .42);
  backdrop-filter: blur(4px);
}

.fb-success-notice__card {
  position: relative;
  width: min(100%, 420px);
  padding: 30px 28px;
  overflow: hidden;
  color: var(--fb-text);
  text-align: center;
  background: var(--fb-background);
  border-radius: var(--fb-form-radius, 24px);
  box-shadow: var(--fb-form-shadow);
  transform: translateY(10px) scale(.97);
  transition: transform .2s ease;
}

.fb-success-notice.is-visible .fb-success-notice__card {
  transform: translateY(0) scale(1);
}

.fb-success-notice__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  height: 68px;
  margin-bottom: 16px;
  color: #fff;
  background: #22c55e;
  border-radius: 50%;
  box-shadow: 0 10px 26px rgba(34, 197, 94, .28);
}

.fb-success-notice__icon svg {
  width: 36px;
  height: 36px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.4;
}

.fb-success-notice__message {
  font-size: 18px;
  font-weight: 650;
  line-height: 1.45;
}

.fb-success-notice__message > :first-child {
  margin-top: 0;
}

.fb-success-notice__message > :last-child {
  margin-bottom: 0;
}

.fb-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.fb-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Quiz */
.fb-quiz-card {
  max-width: var(--fb-max-width);
}

.fb-quiz-card > .fb-quiz {
  display: flex;
  flex-direction: column;
  min-height: calc(var(--fb-min-height) - (var(--fb-padding) * 2));
}

.fb-progress {
  margin-bottom: 25px;
}

.fb-progress-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 13px;
  color: var(--fb-text);
  font-size: 13px;
  font-weight: 650;
}

.fb-progress-track {
  height: 12px;
  overflow: hidden;
  background: #e9edf3;
  border-radius: 99px;
}

.fb-progress-track > span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #20a8df, var(--fb-accent));
  border-radius: inherit;
  transition: width .3s ease;
}

.fb-progress-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.fb-progress-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: var(--fb-muted);
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  background: var(--fb-field-background);
  border: 1px solid var(--fb-field-border);
  border-radius: 50%;
  cursor: default;
  transition: color .18s ease, background .18s ease, border-color .18s ease;
}

.fb-progress-step.is-complete {
  color: color-mix(in srgb, var(--fb-accent) 75%, #164e55);
  background: color-mix(in srgb, var(--fb-accent) 10%, var(--fb-field-background));
  border-color: color-mix(in srgb, var(--fb-accent) 30%, var(--fb-field-border));
  cursor: pointer;
}

.fb-progress-step.is-active {
  color: #fff;
  background: var(--fb-accent);
  border-color: var(--fb-accent);
}

.fb-quiz-step {
  animation: fb-step-in .24s ease both;
}

.fb-quiz-step[hidden] {
  display: none !important;
}

@keyframes fb-step-in {
  from { opacity: 0; transform: translateX(10px); }
  to { opacity: 1; transform: translateX(0); }
}

.fb-quiz-navigation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 36px;
}

.fb-quiz-navigation [data-fb-next],
.fb-quiz-navigation [data-fb-submit] {
  margin-left: auto;
}

.fb-quiz-navigation [data-fb-submit] {
  width: var(--fb-submit-width);
  min-width: 0;
  max-width: 100%;
  flex-shrink: 0;
}

.fb-quiz-navigation [hidden] {
  display: none !important;
}

.fb-quiz-content {
  flex: 1 1 auto;
  display: block;
}

.fb-quiz-card--sidebar .fb-quiz-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
  gap: 28px;
  align-items: start;
}

.fb-quiz-card--sidebar .fb-total--sidebar {
  position: sticky;
  top: 20px;
  margin-top: 22px;
}

.fb-total--final {
  display: none;
}

.fb-quiz.is-last-step .fb-total--final {
  display: block;
}

/* Trigger/popup */
.fb-trigger-host {
  display: none;
}

.fb-trigger-host--inline.is-open {
  display: block;
}

.fb-trigger-host--popup.is-open {
  position: fixed;
  z-index: var(--fb-z-popup, 100000);
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 18px;
}

.fb-modal-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  background: rgba(20, 28, 42, .58);
  border: 0;
  backdrop-filter: blur(5px);
  cursor: default;
}

.fb-trigger-host--popup .fb-dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 1700px);
  max-height: calc(100vh - 36px);
  overflow: auto;
  border-radius: var(--fb-form-radius, 24px);
  overscroll-behavior: contain;
}

.fb-trigger-host--popup .fb-card {
  max-width: var(--fb-popup-width);
}

.fb-card--popup > .fb-title {
  padding-right: max(50px, var(--fb-title-padding-right-desktop));
}

.fb-card--popup > .fb-description {
  padding-right: 50px;
}

.fb-card--popup-no-heading {
  padding-top: max(var(--fb-padding), 66px);
}

.fb-modal-close {
  position: absolute;
  z-index: 3;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  color: var(--fb-muted, #64748b);
  font: inherit;
  font-size: 28px;
  line-height: 1;
  background: var(--fb-field-background, #fff);
  border: var(--fb-field-border-width, 1px) solid var(--fb-field-border, #dfe5ed);
  border-radius: 50%;
  box-shadow: 0 5px 16px rgba(20, 30, 48, .1);
  cursor: pointer;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}

.fb-modal-close:hover,
.fb-modal-close:focus-visible {
  color: var(--fb-field-text, #172033);
  background: color-mix(in srgb, var(--fb-field-background, #fff) 92%, var(--fb-accent, #12abc4));
  border-color: color-mix(in srgb, var(--fb-field-border, #dfe5ed) 55%, var(--fb-accent, #12abc4));
  outline: 0;
  transform: scale(1.04);
}

body.fb-modal-open {
  overflow: hidden;
}

@media (max-width: 860px) {
  .fb-title {
    margin: var(--fb-title-margin-tablet);
    padding: var(--fb-title-padding-tablet);
    font-size: var(--fb-title-font-size-tablet);
    line-height: var(--fb-title-line-height-tablet);
    text-align: var(--fb-title-align-tablet);
  }

  .fb-card--popup > .fb-title {
    padding-right: max(50px, var(--fb-title-padding-right-tablet));
  }

  .fb-layout-row {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  }

  .fb-quiz-card--sidebar .fb-quiz-content {
    display: block;
  }

  .fb-quiz-card--sidebar .fb-total--sidebar {
    position: static;
  }
}

@media (max-width: 620px) {
  .fb-instance {
    margin: 14px 0;
  }

  .fb-card {
    padding-right: min(var(--fb-padding), calc((100vw - 40px) / 3));
    padding-left: min(var(--fb-padding), calc((100vw - 40px) / 3));
  }

  .fb-quiz-card > .fb-quiz {
    min-height: 0;
  }

  .fb-title {
    margin: var(--fb-title-margin-mobile);
    padding: var(--fb-title-padding-mobile);
    font-size: var(--fb-title-font-size-mobile);
    line-height: var(--fb-title-line-height-mobile);
    text-align: var(--fb-title-align-mobile);
  }

  .fb-card--popup > .fb-title {
    padding-right: max(50px, var(--fb-title-padding-right-mobile));
  }

  .fb-quiz-title {
    margin-top: 16px;
    font-size: 25px;
  }

  .fb-progress-track {
    height: 9px;
  }

  .fb-progress-steps {
    gap: 7px;
  }

  .fb-progress-step {
    width: 36px;
    height: 36px;
    font-size: 13px;
  }

  .fb-choices {
    grid-template-columns: 1fr;
  }

  .fb-layout-row {
    grid-template-columns: 1fr;
  }

  .fb-choice-image {
    flex-basis: 76px;
  }

  .fb-button {
    min-width: 120px;
    padding-right: 17px;
    padding-left: 17px;
  }

  .fb-quiz-navigation {
    margin-top: 26px;
  }

  .fb-trigger-host--popup.is-open {
    align-items: flex-start;
    padding: 8px;
  }

  .fb-trigger-host--popup .fb-dialog {
    max-height: calc(100vh - 16px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .fb-instance *,
  .fb-instance *::before,
  .fb-instance *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}


/* 2.2.0: conditional fields + quick order */
.fb-condition-hidden{display:none!important}
.fb-quick-order-product{display:flex;gap:16px;align-items:center;padding:14px;border:1px solid var(--fb-field-border,#dce2ec);border-radius:14px;margin:0 0 18px;background:rgba(248,250,253,.78)}
.fb-quick-order-product__image{width:86px;min-width:86px;height:86px;border-radius:12px;overflow:hidden;background:#fff}
.fb-quick-order-product__image img{width:100%;height:100%;object-fit:contain}
.fb-quick-order-product__body{min-width:0;flex:1}.fb-quick-order-product__name{font-weight:800;font-size:17px;color:var(--fb-text,#172033)}
.fb-quick-order-product__model{font-size:12px;color:#8792a5;margin-top:3px}.fb-quick-order-product__base{font-weight:800;font-size:18px;margin-top:8px}
.fb-product-options{display:grid;gap:14px;margin-bottom:18px}.fb-product-option{margin:0}
.fb-quick-order-bottom{display:flex;gap:18px;align-items:flex-end;justify-content:space-between;margin:16px 0 18px;padding-top:14px;border-top:1px solid #e8ecf2}
.fb-quick-order-quantity{margin:0;max-width:180px}.fb-qty{display:grid;grid-template-columns:42px minmax(70px,1fr) 42px;align-items:stretch}
.fb-qty button{border:1px solid var(--fb-field-border,#dce2ec);background:#fff;font-size:20px;line-height:1;cursor:pointer}.fb-qty button:first-child{border-radius:10px 0 0 10px}.fb-qty button:last-child{border-radius:0 10px 10px 0}
.fb-qty .fb-control{border-radius:0;text-align:center;border-left:0;border-right:0;min-height:44px;padding-left:6px;padding-right:6px}
.fb-quick-order-total{text-align:right}.fb-quick-order-total span{display:block;font-size:12px;color:#7d899d;text-transform:uppercase;font-weight:700}.fb-quick-order-total strong{display:block;font-size:24px;line-height:1.2;margin-top:4px}
.fb-quick-order-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:8px;padding:10px 14px;border:0;border-radius:8px;background:#4f36f5;color:#fff;font-weight:700;cursor:pointer;transition:.18s ease}.fb-quick-order-button:hover{filter:brightness(.96);color:#fff}.fb-quick-order-button.is-loading{opacity:.65;pointer-events:none}
.fb-quick-order-dynamic-host>.fb-trigger-host{z-index:var(--fb-z-popup,100000)}
@media(max-width:520px){.fb-quick-order-product{align-items:flex-start}.fb-quick-order-product__image{width:72px;min-width:72px;height:72px}.fb-quick-order-bottom{align-items:stretch;flex-direction:column}.fb-quick-order-total{text-align:left}.fb-quick-order-quantity{max-width:none}}


/* 2.2.0 quick order: native OpenCart product file option */
.fb-product-file-option{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fb-instance .fb-card .fb-button.fb-button--file{width:auto;min-height:40px;padding:8px 14px}
.fb-product-file-option .fb-help{margin:0;word-break:break-word}

/* 2.2.1: compact quick-order options */
.fb-form[data-fb-quick-order="1"] .fb-product-options{
  gap:10px;
  margin-bottom:14px;
}
.fb-form[data-fb-quick-order="1"] .fb-product-option .fb-label{
  margin-bottom:6px;
  font-size:14px;
}
.fb-form[data-fb-quick-order="1"] .fb-product-option .fb-control{
  min-height:46px;
  padding:9px 14px;
  border-radius:10px;
}
.fb-form[data-fb-quick-order="1"] .fb-product-option select.fb-control{
  padding-right:40px;
}
.fb-form[data-fb-quick-order="1"] .fb-product-option .fb-choices--list{
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:8px;
}
.fb-form[data-fb-quick-order="1"] .fb-product-option .fb-choice-inner{
  min-height:44px;
  padding:9px 12px;
  gap:9px;
  border-radius:10px;
}
.fb-form[data-fb-quick-order="1"] .fb-product-option .fb-choice-marker{
  flex-basis:18px;
  width:18px;
  height:18px;
}
.fb-form[data-fb-quick-order="1"] .fb-product-option .fb-choice > input[type="radio"]:checked + .fb-choice-inner .fb-choice-marker::after{
  inset:4px;
}
.fb-form[data-fb-quick-order="1"] .fb-product-option .fb-choice > input[type="checkbox"]:checked + .fb-choice-inner .fb-choice-marker::after{
  top:2px;
  left:5px;
  width:6px;
  height:10px;
}
.fb-form[data-fb-quick-order="1"] .fb-product-option .fb-choice-copy strong{
  font-size:14px;
}
.fb-form[data-fb-quick-order="1"] .fb-product-option .fb-choice-copy small{
  margin-top:1px;
  font-size:12px;
}
.fb-form[data-fb-quick-order="1"] .fb-product-option .fb-choice-image{
  flex-basis:48px;
  min-height:42px;
  margin:-9px 0 -9px -12px;
}
.fb-form[data-fb-quick-order="1"] .fb-product-option .fb-choice-image img{
  min-height:42px;
}
@media(max-width:640px){
  .fb-form[data-fb-quick-order="1"] .fb-product-option .fb-choices--list{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:420px){
  .fb-form[data-fb-quick-order="1"] .fb-product-option .fb-choices--list{
    grid-template-columns:1fr;
  }
}


/* Alex Forms PRO 2.3.4 — expanded design controls */
.fb-card {
  --fb-field-height-current: var(--fb-field-height-desktop, 56px);
  --fb-field-font-size-current: var(--fb-field-font-size-desktop, 16px);
  --fb-field-line-height-current: var(--fb-field-line-height-desktop, 22px);
  --fb-field-padding-y-current: var(--fb-field-padding-y-desktop, 12px);
  --fb-field-padding-x-current: var(--fb-field-padding-x-desktop, 16px);

  --fb-select-height-current: var(--fb-select-height-desktop, 56px);
  --fb-select-font-size-current: var(--fb-select-font-size-desktop, 16px);
  --fb-select-line-height-current: var(--fb-select-line-height-desktop, 22px);
  --fb-select-padding-x-current: var(--fb-select-padding-x-desktop, 16px);

  --fb-textarea-min-height-current: var(--fb-textarea-min-height-desktop, 118px);
  --fb-textarea-font-size-current: var(--fb-textarea-font-size-desktop, 16px);
  --fb-textarea-line-height-current: var(--fb-textarea-line-height-desktop, 22px);
  --fb-textarea-padding-y-current: var(--fb-textarea-padding-y-desktop, 12px);
  --fb-textarea-padding-x-current: var(--fb-textarea-padding-x-desktop, 16px);

  --fb-file-height-current: var(--fb-file-height-desktop, 56px);
  --fb-file-font-size-current: var(--fb-file-font-size-desktop, 13px);
  --fb-file-button-font-size-current: var(--fb-file-button-font-size-desktop, 14px);
  --fb-file-gap-current: var(--fb-file-gap-desktop, 13px);

  --fb-checkbox-marker-size-current: var(--fb-checkbox-marker-size-desktop, 21px);
  --fb-checkbox-text-size-current: var(--fb-checkbox-text-size-desktop, 16px);
  --fb-checkbox-gap-current: var(--fb-checkbox-gap-desktop, 14px);
  --fb-checkbox-padding-y-current: var(--fb-checkbox-padding-y-desktop, 14px);
  --fb-checkbox-padding-x-current: var(--fb-checkbox-padding-x-desktop, 18px);

  --fb-radio-marker-size-current: var(--fb-radio-marker-size-desktop, 21px);
  --fb-radio-text-size-current: var(--fb-radio-text-size-desktop, 16px);
  --fb-radio-gap-current: var(--fb-radio-gap-desktop, 14px);
  --fb-radio-padding-y-current: var(--fb-radio-padding-y-desktop, 14px);
  --fb-radio-padding-x-current: var(--fb-radio-padding-x-desktop, 18px);

  --fb-agree-marker-size-current: var(--fb-agree-marker-size-desktop, 21px);
  --fb-agree-text-size-current: var(--fb-agree-text-size-desktop, 13px);
  --fb-agree-gap-current: var(--fb-agree-gap-desktop, 10px);

  --fb-button-height-current: var(--fb-button-height-desktop, 56px);
  --fb-submit-width-current: var(--fb-submit-width-desktop, 100%);
  --fb-button-font-size-current: var(--fb-button-font-size-desktop, 16px);
  --fb-button-padding-x-current: var(--fb-button-padding-x-desktop, 24px);
}

.fb-title {
  color: var(--fb-title-color, var(--fb-text));
  font-weight: var(--fb-title-font-weight, 750);
}

.fb-label {
  margin-bottom: var(--fb-label-gap, 8px);
  color: var(--fb-label-color, var(--fb-text));
  font-size: var(--fb-label-font-size, 15px);
  font-weight: var(--fb-label-font-weight, 600);
  line-height: var(--fb-label-line-height, 20px);
}
.fb-required { color: var(--fb-required-color, #e05260); }
.fb-help { color: var(--fb-help-color, var(--fb-muted)); font-size: var(--fb-help-font-size, 13px); }
.fb-error,
.fb-form-error { color: var(--fb-error-color, #c83f4d); font-size: var(--fb-error-font-size, 13px); }

/* Text, email, phone, number and native date/time controls. */
.fb-control:not(select):not(textarea) {
  min-height: var(--fb-field-height-current);
  padding: var(--fb-field-padding-y-current) var(--fb-field-padding-x-current);
  color: var(--fb-field-text);
  font-size: var(--fb-field-font-size-current);
  line-height: var(--fb-field-line-height-current);
  background: var(--fb-field-background);
  border-width: var(--fb-field-border-width);
  border-color: var(--fb-field-border);
  border-radius: var(--fb-field-radius);
}

/* Select has its own design group. */
select.fb-control {
  min-height: var(--fb-select-height-current);
  padding: 0 calc(var(--fb-select-padding-x-current) + 28px) 0 var(--fb-select-padding-x-current);
  color: var(--fb-select-text, var(--fb-field-text));
  font-size: var(--fb-select-font-size-current);
  line-height: var(--fb-select-line-height-current);
  background-color: var(--fb-select-background, var(--fb-field-background));
  border-width: var(--fb-select-border-width, var(--fb-field-border-width));
  border-color: var(--fb-select-border, var(--fb-field-border));
  border-radius: var(--fb-select-radius, var(--fb-field-radius));
  background-image:
    linear-gradient(45deg, transparent 50%, var(--fb-select-arrow, var(--fb-muted)) 50%),
    linear-gradient(135deg, var(--fb-select-arrow, var(--fb-muted)) 50%, transparent 50%);
}
select.fb-control:hover { border-color: color-mix(in srgb, var(--fb-select-border, var(--fb-field-border)) 55%, var(--fb-select-focus-border, var(--fb-field-focus-border))); }
select.fb-control:focus { border-color: var(--fb-select-focus-border, var(--fb-field-focus-border)); box-shadow: 0 0 0 4px color-mix(in srgb, var(--fb-select-focus-border, var(--fb-field-focus-border)) 14%, transparent); }

/* Textarea has its own design group. */
textarea.fb-control {
  min-height: var(--fb-textarea-min-height-current);
  padding: var(--fb-textarea-padding-y-current) var(--fb-textarea-padding-x-current);
  color: var(--fb-textarea-text, var(--fb-field-text));
  font-size: var(--fb-textarea-font-size-current);
  line-height: var(--fb-textarea-line-height-current);
  background: var(--fb-textarea-background, var(--fb-field-background));
  border-width: var(--fb-textarea-border-width, var(--fb-field-border-width));
  border-color: var(--fb-textarea-border, var(--fb-field-border));
  border-radius: var(--fb-textarea-radius, var(--fb-field-radius));
  resize: var(--fb-textarea-resize, vertical);
}
textarea.fb-control::placeholder { color: var(--fb-textarea-placeholder, var(--fb-field-placeholder)); }
.fb-character-counter { margin-top: 6px; text-align: right; font-size: 12px; line-height: 1.35; color: var(--fb-muted, var(--fb-field-placeholder)); }
.fb-character-counter.is-limit { font-weight: 600; color: var(--fb-field-text); }
textarea.fb-control:hover { border-color: color-mix(in srgb, var(--fb-textarea-border, var(--fb-field-border)) 55%, var(--fb-textarea-focus-border, var(--fb-field-focus-border))); }
textarea.fb-control:focus { border-color: var(--fb-textarea-focus-border, var(--fb-field-focus-border)); box-shadow: 0 0 0 4px color-mix(in srgb, var(--fb-textarea-focus-border, var(--fb-field-focus-border)) 14%, transparent); }

/* File field. */
.fb-file {
  gap: var(--fb-file-gap-current);
  min-height: var(--fb-file-height-current);
  color: var(--fb-file-text, var(--fb-muted));
  font-size: var(--fb-file-font-size-current);
  background: var(--fb-file-background, var(--fb-field-background));
  border-width: var(--fb-file-border-width, 1px);
  border-style: var(--fb-file-border-style, dashed);
  border-color: var(--fb-file-border, var(--fb-field-border));
  border-radius: var(--fb-file-radius, var(--fb-field-radius));
}
.fb-file-button {
  min-height: calc(var(--fb-file-height-current) - 16px);
  color: var(--fb-file-button-text, var(--fb-field-text));
  font-size: var(--fb-file-button-font-size-current);
  background: var(--fb-file-button-background, #eef1f6);
  border-radius: var(--fb-file-button-radius, 9px);
}
.fb-file-name { color: var(--fb-file-text, var(--fb-muted)); font-size: var(--fb-file-font-size-current); }

/* Checkbox and checkbox group. Agreement has a separate block below. */
.fb-choice:not(.fb-choice--agree) > input[type="checkbox"] + .fb-choice-inner {
  gap: var(--fb-checkbox-gap-current);
  padding: var(--fb-checkbox-padding-y-current) var(--fb-checkbox-padding-x-current);
  color: var(--fb-checkbox-text, var(--fb-field-text));
  background: var(--fb-checkbox-background, var(--fb-field-background));
  border-width: var(--fb-checkbox-option-border-width, 1px);
  border-color: var(--fb-checkbox-border, var(--fb-field-border));
  border-radius: var(--fb-checkbox-option-radius, var(--fb-field-radius));
}
.fb-choice:not(.fb-choice--agree) > input[type="checkbox"]:checked + .fb-choice-inner {
  background: var(--fb-checkbox-checked-background, var(--fb-checkbox-background));
  border-color: var(--fb-checkbox-checked-border, var(--fb-accent));
  box-shadow: 0 0 0 1px var(--fb-checkbox-checked-border, var(--fb-accent));
}
.fb-choice:not(.fb-choice--agree) > input[type="checkbox"] + .fb-choice-inner .fb-choice-marker {
  flex-basis: var(--fb-checkbox-marker-size-current);
  width: var(--fb-checkbox-marker-size-current);
  height: var(--fb-checkbox-marker-size-current);
  background: var(--fb-checkbox-marker-background, #fff);
  border-width: var(--fb-checkbox-marker-border-width, 2px);
  border-color: var(--fb-checkbox-marker-border, #8793a3);
  border-radius: var(--fb-checkbox-marker-radius, 6px);
}
.fb-choice:not(.fb-choice--agree) > input[type="checkbox"]:checked + .fb-choice-inner .fb-choice-marker {
  background: var(--fb-checkbox-marker-checked, var(--fb-accent));
  border-color: var(--fb-checkbox-marker-checked, var(--fb-accent));
}
.fb-choice:not(.fb-choice--agree) > input[type="checkbox"]:checked + .fb-choice-inner .fb-choice-marker::after {
  top: 18%;
  left: 34%;
  width: 32%;
  height: 52%;
  border-color: var(--fb-checkbox-check, #fff);
  border-width: 0 2px 2px 0;
}
.fb-choice:not(.fb-choice--agree) > input[type="checkbox"] + .fb-choice-inner .fb-choice-copy strong { color: var(--fb-checkbox-text, var(--fb-field-text)); font-size: var(--fb-checkbox-text-size-current); }

/* Radio. */
.fb-choice > input[type="radio"] + .fb-choice-inner {
  gap: var(--fb-radio-gap-current);
  padding: var(--fb-radio-padding-y-current) var(--fb-radio-padding-x-current);
  color: var(--fb-radio-text, var(--fb-field-text));
  background: var(--fb-radio-background, var(--fb-field-background));
  border-width: var(--fb-radio-option-border-width, 1px);
  border-color: var(--fb-radio-border, var(--fb-field-border));
  border-radius: var(--fb-radio-option-radius, var(--fb-field-radius));
}
.fb-choice > input[type="radio"]:checked + .fb-choice-inner {
  background: var(--fb-radio-checked-background, var(--fb-radio-background));
  border-color: var(--fb-radio-checked-border, var(--fb-accent));
  box-shadow: 0 0 0 1px var(--fb-radio-checked-border, var(--fb-accent));
}
.fb-choice > input[type="radio"] + .fb-choice-inner .fb-choice-marker {
  flex-basis: var(--fb-radio-marker-size-current);
  width: var(--fb-radio-marker-size-current);
  height: var(--fb-radio-marker-size-current);
  background: var(--fb-radio-marker-background, #fff);
  border-width: var(--fb-radio-marker-border-width, 2px);
  border-color: var(--fb-radio-marker-border, #8793a3);
  border-radius: 50%;
}
.fb-choice > input[type="radio"]:checked + .fb-choice-inner .fb-choice-marker { background: var(--fb-radio-marker-checked, var(--fb-accent)); border-color: var(--fb-radio-marker-checked, var(--fb-accent)); }
.fb-choice > input[type="radio"]:checked + .fb-choice-inner .fb-choice-marker::after { inset: 24%; background: var(--fb-radio-dot, #fff); }
.fb-choice > input[type="radio"] + .fb-choice-inner .fb-choice-copy strong { color: var(--fb-radio-text, var(--fb-field-text)); font-size: var(--fb-radio-text-size-current); }

/* Agreement checkbox styles are consolidated with the base choice styles above. */

/* Submit button. */
.fb-instance .fb-card .fb-button--primary {
  width: var(--fb-submit-width-current);
  min-height: var(--fb-button-height-current);
  margin-left: var(--fb-button-margin-left, 0);
  margin-right: var(--fb-button-margin-right, 0);
  padding-right: var(--fb-button-padding-x-current);
  padding-left: var(--fb-button-padding-x-current);
  font-size: var(--fb-button-font-size-current);
  font-weight: var(--fb-button-font-weight, 600);
  border-color: var(--fb-button-border-color);
}
.fb-instance .fb-card .fb-button--primary:hover,
.fb-instance .fb-card .fb-button--primary:focus-visible {
  color: var(--fb-button-text-hover, var(--fb-button-text));
  border-color: var(--fb-button-hover-border-color, var(--fb-button-border-color));
}

@media (max-width: 860px) {
  .fb-card {
    --fb-field-height-current: var(--fb-field-height-tablet, var(--fb-field-height-desktop));
    --fb-field-font-size-current: var(--fb-field-font-size-tablet, var(--fb-field-font-size-desktop));
    --fb-field-line-height-current: var(--fb-field-line-height-tablet, var(--fb-field-line-height-desktop));
    --fb-field-padding-y-current: var(--fb-field-padding-y-tablet, var(--fb-field-padding-y-desktop));
    --fb-field-padding-x-current: var(--fb-field-padding-x-tablet, var(--fb-field-padding-x-desktop));
    --fb-select-height-current: var(--fb-select-height-tablet, var(--fb-select-height-desktop));
    --fb-select-font-size-current: var(--fb-select-font-size-tablet, var(--fb-select-font-size-desktop));
    --fb-select-line-height-current: var(--fb-select-line-height-tablet, var(--fb-select-line-height-desktop));
    --fb-select-padding-x-current: var(--fb-select-padding-x-tablet, var(--fb-select-padding-x-desktop));
    --fb-textarea-min-height-current: var(--fb-textarea-min-height-tablet, var(--fb-textarea-min-height-desktop));
    --fb-textarea-font-size-current: var(--fb-textarea-font-size-tablet, var(--fb-textarea-font-size-desktop));
    --fb-textarea-line-height-current: var(--fb-textarea-line-height-tablet, var(--fb-textarea-line-height-desktop));
    --fb-textarea-padding-y-current: var(--fb-textarea-padding-y-tablet, var(--fb-textarea-padding-y-desktop));
    --fb-textarea-padding-x-current: var(--fb-textarea-padding-x-tablet, var(--fb-textarea-padding-x-desktop));
    --fb-file-height-current: var(--fb-file-height-tablet, var(--fb-file-height-desktop));
    --fb-file-font-size-current: var(--fb-file-font-size-tablet, var(--fb-file-font-size-desktop));
    --fb-file-button-font-size-current: var(--fb-file-button-font-size-tablet, var(--fb-file-button-font-size-desktop));
    --fb-file-gap-current: var(--fb-file-gap-tablet, var(--fb-file-gap-desktop));
    --fb-checkbox-marker-size-current: var(--fb-checkbox-marker-size-tablet, var(--fb-checkbox-marker-size-desktop));
    --fb-checkbox-text-size-current: var(--fb-checkbox-text-size-tablet, var(--fb-checkbox-text-size-desktop));
    --fb-checkbox-gap-current: var(--fb-checkbox-gap-tablet, var(--fb-checkbox-gap-desktop));
    --fb-checkbox-padding-y-current: var(--fb-checkbox-padding-y-tablet, var(--fb-checkbox-padding-y-desktop));
    --fb-checkbox-padding-x-current: var(--fb-checkbox-padding-x-tablet, var(--fb-checkbox-padding-x-desktop));
    --fb-radio-marker-size-current: var(--fb-radio-marker-size-tablet, var(--fb-radio-marker-size-desktop));
    --fb-radio-text-size-current: var(--fb-radio-text-size-tablet, var(--fb-radio-text-size-desktop));
    --fb-radio-gap-current: var(--fb-radio-gap-tablet, var(--fb-radio-gap-desktop));
    --fb-radio-padding-y-current: var(--fb-radio-padding-y-tablet, var(--fb-radio-padding-y-desktop));
    --fb-radio-padding-x-current: var(--fb-radio-padding-x-tablet, var(--fb-radio-padding-x-desktop));
    --fb-agree-marker-size-current: var(--fb-agree-marker-size-tablet, var(--fb-agree-marker-size-desktop));
    --fb-agree-text-size-current: var(--fb-agree-text-size-tablet, var(--fb-agree-text-size-desktop));
    --fb-agree-gap-current: var(--fb-agree-gap-tablet, var(--fb-agree-gap-desktop));
    --fb-button-height-current: var(--fb-button-height-tablet, var(--fb-button-height-desktop));
    --fb-submit-width-current: var(--fb-submit-width-tablet, var(--fb-submit-width-desktop));
    --fb-button-font-size-current: var(--fb-button-font-size-tablet, var(--fb-button-font-size-desktop));
    --fb-button-padding-x-current: var(--fb-button-padding-x-tablet, var(--fb-button-padding-x-desktop));
  }
}

@media (max-width: 620px) {
  .fb-card {
    --fb-field-height-current: var(--fb-field-height-mobile, var(--fb-field-height-tablet));
    --fb-field-font-size-current: var(--fb-field-font-size-mobile, var(--fb-field-font-size-tablet));
    --fb-field-line-height-current: var(--fb-field-line-height-mobile, var(--fb-field-line-height-tablet));
    --fb-field-padding-y-current: var(--fb-field-padding-y-mobile, var(--fb-field-padding-y-tablet));
    --fb-field-padding-x-current: var(--fb-field-padding-x-mobile, var(--fb-field-padding-x-tablet));
    --fb-select-height-current: var(--fb-select-height-mobile, var(--fb-select-height-tablet));
    --fb-select-font-size-current: var(--fb-select-font-size-mobile, var(--fb-select-font-size-tablet));
    --fb-select-line-height-current: var(--fb-select-line-height-mobile, var(--fb-select-line-height-tablet));
    --fb-select-padding-x-current: var(--fb-select-padding-x-mobile, var(--fb-select-padding-x-tablet));
    --fb-textarea-min-height-current: var(--fb-textarea-min-height-mobile, var(--fb-textarea-min-height-tablet));
    --fb-textarea-font-size-current: var(--fb-textarea-font-size-mobile, var(--fb-textarea-font-size-tablet));
    --fb-textarea-line-height-current: var(--fb-textarea-line-height-mobile, var(--fb-textarea-line-height-tablet));
    --fb-textarea-padding-y-current: var(--fb-textarea-padding-y-mobile, var(--fb-textarea-padding-y-tablet));
    --fb-textarea-padding-x-current: var(--fb-textarea-padding-x-mobile, var(--fb-textarea-padding-x-tablet));
    --fb-file-height-current: var(--fb-file-height-mobile, var(--fb-file-height-tablet));
    --fb-file-font-size-current: var(--fb-file-font-size-mobile, var(--fb-file-font-size-tablet));
    --fb-file-button-font-size-current: var(--fb-file-button-font-size-mobile, var(--fb-file-button-font-size-tablet));
    --fb-file-gap-current: var(--fb-file-gap-mobile, var(--fb-file-gap-tablet));
    --fb-checkbox-marker-size-current: var(--fb-checkbox-marker-size-mobile, var(--fb-checkbox-marker-size-tablet));
    --fb-checkbox-text-size-current: var(--fb-checkbox-text-size-mobile, var(--fb-checkbox-text-size-tablet));
    --fb-checkbox-gap-current: var(--fb-checkbox-gap-mobile, var(--fb-checkbox-gap-tablet));
    --fb-checkbox-padding-y-current: var(--fb-checkbox-padding-y-mobile, var(--fb-checkbox-padding-y-tablet));
    --fb-checkbox-padding-x-current: var(--fb-checkbox-padding-x-mobile, var(--fb-checkbox-padding-x-tablet));
    --fb-radio-marker-size-current: var(--fb-radio-marker-size-mobile, var(--fb-radio-marker-size-tablet));
    --fb-radio-text-size-current: var(--fb-radio-text-size-mobile, var(--fb-radio-text-size-tablet));
    --fb-radio-gap-current: var(--fb-radio-gap-mobile, var(--fb-radio-gap-tablet));
    --fb-radio-padding-y-current: var(--fb-radio-padding-y-mobile, var(--fb-radio-padding-y-tablet));
    --fb-radio-padding-x-current: var(--fb-radio-padding-x-mobile, var(--fb-radio-padding-x-tablet));
    --fb-agree-marker-size-current: var(--fb-agree-marker-size-mobile, var(--fb-agree-marker-size-tablet));
    --fb-agree-text-size-current: var(--fb-agree-text-size-mobile, var(--fb-agree-text-size-tablet));
    --fb-agree-gap-current: var(--fb-agree-gap-mobile, var(--fb-agree-gap-tablet));
    --fb-button-height-current: var(--fb-button-height-mobile, var(--fb-button-height-tablet));
    --fb-submit-width-current: var(--fb-submit-width-mobile, var(--fb-submit-width-tablet));
    --fb-button-font-size-current: var(--fb-button-font-size-mobile, var(--fb-button-font-size-tablet));
    --fb-button-padding-x-current: var(--fb-button-padding-x-mobile, var(--fb-button-padding-x-tablet));
  }
}

/* Choice cards size follows their own padding instead of generic input height. */
.fb-choice:not(.fb-choice--agree) > input[type="checkbox"] + .fb-choice-inner,
.fb-choice > input[type="radio"] + .fb-choice-inner {
  min-height: 0;
}

