/**
 * IterLuxe — Fluent Form 3 multi-step UI
 * Paste: Elementor → Custom Code → CSS  (or enqueue this file)
 *
 * Works with the existing Fluent Form markup (step-0 … step-3,
 * .ff-custom-next / .ff-custom-back, .ff-progress-wrap, .review-card).
 */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:wght@500;600;700&family=Jost:ital,wght@0,400;0,500;0,600;1,400&display=swap");

:root {
  --ilx-black: #111111;
  --ilx-text: #1c1c1c;
  --ilx-muted: #7a7a7a;
  --ilx-label: #4a4a4a;
  --ilx-line: #ececec;
  --ilx-border: #e3e3e3;
  --ilx-soft: #f4f4f4;
  --ilx-placeholder: #b3b3b3;
  --ilx-radius: 8px;
  --ilx-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --ilx-sans: "Jost", "Helvetica Neue", Arial, sans-serif;
}

/* ------------------------------------------------------------------ */
/* Form shell                                                          */
/* ------------------------------------------------------------------ */

.fluentform_wrapper_3,
.fluentform_wrapper_3 .fluentform,
form.fluent_form_3 {
  font-family: var(--ilx-sans);
  color: var(--ilx-text);
  background: transparent;
  max-width: 100%;
}

form.fluent_form_3 {
  position: relative;
  overflow: hidden;
}

form.fluent_form_3 fieldset {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-inline-size: 100%;
}

form.fluent_form_3 .ff-t-container {
  width: 100%;
}

form.fluent_form_3 .ff-t-cell {
  width: 100%;
  max-width: 100%;
}

form.fluent_form_3 .ff-el-group {
  margin-bottom: 16px;
}

form.fluent_form_3 .ff-name-field-wrapper,
form.fluent_form_3 .fluent-address,
form.fluent_form_3 .ff-name-address-wrapper {
  margin-bottom: 0;
}

form.fluent_form_3 .ff-name-field-wrapper .ff-t-container,
form.fluent_form_3 .fluent-address .ff-t-container {
  display: block;
}

form.fluent_form_3 .ff-name-field-wrapper .ff-el-group,
form.fluent_form_3 .fluent-address .ff-el-group {
  margin-bottom: 16px;
}

/* Hide Fluent Forms required asterisks — the mockup has none */
form.fluent_form_3 .ff-el-is-required.asterisk-right label:after,
form.fluent_form_3 .ff-el-is-required.asterisk-left label:before,
form.fluent_form_3 .ff-el-required,
form.fluent_form_3 .asterisk-right .text-danger {
  display: none !important;
  content: none !important;
}

/* ------------------------------------------------------------------ */
/* Steps                                                               */
/* ------------------------------------------------------------------ */

form.fluent_form_3 {
  position: relative;
}

form.fluent_form_3 fieldset {
  position: relative;
}

form.fluent_form_3 .step-0,
form.fluent_form_3 .step-1,
form.fluent_form_3 .step-2,
form.fluent_form_3 .step-3 {
  display: flex !important;
  flex-wrap: wrap;
  width: 100%;
}

form.fluent_form_3 .step-0:not(.ilx-active),
form.fluent_form_3 .step-1:not(.ilx-active),
form.fluent_form_3 .step-2:not(.ilx-active),
form.fluent_form_3 .step-3:not(.ilx-active) {
  position: absolute !important;
  left: 0;
  right: 0;
  top: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 0;
}

form.fluent_form_3 .step-0.ilx-active,
form.fluent_form_3 .step-1.ilx-active,
form.fluent_form_3 .step-2.ilx-active,
form.fluent_form_3 .step-3.ilx-active {
  position: relative !important;
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}

/* ------------------------------------------------------------------ */
/* Progress                                                            */
/* ------------------------------------------------------------------ */

.ff-progress-wrap {
  text-align: center;
  margin: 18px 0 28px;
}

.ff-progress-label {
  font-family: var(--ilx-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #8a8a8a;
  margin: 0;
}

.ff-progress-track {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: auto;
  margin: 12px auto 0;
}

.ff-progress-fill,
.ff-progress-dash {
  flex: 0 0 auto !important;
  flex-grow: 0 !important;
  width: 8px !important;
  height: 4px !important;
  border-radius: 99px;
  background: #e6e6e6 !important;
}

.ff-progress-fill.is-active,
.ff-progress-dash.is-active {
  width: 32px !important;
  background: var(--ilx-black) !important;
}

/* ------------------------------------------------------------------ */
/* Titles                                                              */
/* ------------------------------------------------------------------ */

form.fluent_form_3 .ff-custom_html h2,
form.fluent_form_3 .review-title {
  font-family: var(--ilx-serif) !important;
  font-weight: 500 !important;
  font-size: 34px !important;
  line-height: 1.2 !important;
  color: var(--ilx-black) !important;
  text-align: center !important;
  margin: 0 0 10px !important;
  letter-spacing: -0.01em;
}

form.fluent_form_3 .ff-custom_html h2 + p,
form.fluent_form_3 .review-subtitle {
  font-family: var(--ilx-sans) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: var(--ilx-muted) !important;
  text-align: center !important;
  margin: 0 0 28px !important;
}

form.fluent_form_3 .step-0 .ff-custom_html:has(h2):not(:first-child) {
  border-top: 1px solid var(--ilx-line);
  margin-top: 8px;
  padding-top: 28px;
}

form.fluent_form_3 .step-0 .ff-custom_html:has(h2):not(:first-child) h2 {
  margin-bottom: 22px !important;
}

/* ------------------------------------------------------------------ */
/* Labels + fields                                                     */
/* ------------------------------------------------------------------ */

form.fluent_form_3 .ff-el-input--label {
  margin-bottom: 8px;
}

form.fluent_form_3 .ff-el-input--label label {
  font-family: var(--ilx-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ilx-label) !important;
  display: block;
}

form.fluent_form_3 .ff-el-form-control,
form.fluent_form_3 input[type="text"],
form.fluent_form_3 input[type="email"],
form.fluent_form_3 input[type="tel"],
form.fluent_form_3 input[type="number"],
form.fluent_form_3 select,
form.fluent_form_3 textarea {
  font-family: var(--ilx-sans) !important;
  width: 100% !important;
  height: 50px !important;
  border: 1px solid var(--ilx-border) !important;
  border-radius: var(--ilx-radius) !important;
  padding: 0 16px !important;
  font-size: 14.5px !important;
  color: var(--ilx-text) !important;
  background: #fff !important;
  box-shadow: none !important;
  outline: none !important;
  appearance: none;
  -webkit-appearance: none;
}

form.fluent_form_3 textarea.ff-el-form-control,
form.fluent_form_3 textarea {
  height: auto !important;
  min-height: 112px !important;
  padding: 14px 16px !important;
  line-height: 1.55 !important;
  resize: vertical;
}

form.fluent_form_3 .ff-el-form-control::placeholder,
form.fluent_form_3 textarea::placeholder {
  color: var(--ilx-placeholder) !important;
  opacity: 1;
}

form.fluent_form_3 .ff-el-form-control:focus,
form.fluent_form_3 textarea:focus {
  border-color: #cfcfcf !important;
  box-shadow: none !important;
}

form.fluent_form_3 select.ff-el-form-control {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23555555' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 12px 8px !important;
  padding-right: 40px !important;
  cursor: pointer;
  color: var(--ilx-text) !important;
}

form.fluent_form_3 select.ff-el-form-control:invalid,
form.fluent_form_3 select.ff-el-form-control option[value=""] {
  color: var(--ilx-placeholder);
}

form.fluent_form_3 .ilx-row,
form.fluent_form_3 .ilx-date-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}

form.fluent_form_3 .ilx-date-fields {
  margin-bottom: 0;
}

form.fluent_form_3 .ilx-row > .ff-el-group {
  margin-bottom: 0;
}

@media (max-width: 640px) {
  form.fluent_form_3 .ilx-row,
  form.fluent_form_3 .ilx-date-fields {
    grid-template-columns: 1fr;
  }

  form.fluent_form_3 .ff-custom_html h2,
  form.fluent_form_3 .review-title {
    font-size: 28px !important;
  }
}

/* Date fields with calendar icon */
form.fluent_form_3 .ff-el-datepicker,
form.fluent_form_3 input.flatpickr-input {
  padding-left: 44px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16.5' rx='2'/%3E%3Cpath d='M16 2.5v4M8 2.5v4M3 10h18'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: 14px 50% !important;
  background-size: 16px 16px !important;
  cursor: pointer;
  font-weight: 500;
}

form.fluent_form_3 .ilx-error .ff-el-form-control,
form.fluent_form_3 .ff-el-is-error .ff-el-form-control {
  border-color: #c0392b !important;
}

form.fluent_form_3 .ilx-field-error {
  display: block;
  font-size: 12px;
  color: #b42318;
  margin-top: 6px;
}

/* ------------------------------------------------------------------ */
/* Pill radios + checkboxes                                            */
/* ------------------------------------------------------------------ */

form.fluent_form_3 .ff_list_buttons .ff-el-input--content {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px 8px;
}

form.fluent_form_3 .ff_list_buttons .ff-el-form-check {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

form.fluent_form_3 .ff_list_buttons .ff-el-form-check-label {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--ilx-text) !important;
  font-family: Inter, var(--ilx-sans) !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  font-style: normal;
  letter-spacing: 0;
  line-height: 1.2 !important;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  white-space: nowrap;
}

form.fluent_form_3 .ff_list_buttons .ff-el-form-check-input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
}

form.fluent_form_3 .ff_list_buttons .ff-el-form-check-label span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  border: 1px solid #dcdfe6 !important;
  border-radius: 100px !important;
  background: #fff;
}

form.fluent_form_3 .ff_list_buttons .ff-el-form-check.ff_item_selected .ff-el-form-check-label,
form.fluent_form_3 .ff_list_buttons .ff-el-form-check:has(input:checked) .ff-el-form-check-label,
form.fluent_form_3 .ff_list_buttons .ff-el-form-check.ff_item_selected .ff-el-form-check-label span,
form.fluent_form_3 .ff_list_buttons .ff-el-form-check:has(input:checked) .ff-el-form-check-label span {
  background: var(--ilx-black) !important;
  border-color: var(--ilx-black) !important;
  color: #fff !important;
  box-shadow: none;
  border-radius: 100px;
}

form.fluent_form_3 .ff_list_buttons input[type="checkbox"]:checked + span::before {
  content: "";
  display: inline-block;
  width: 11px;
  height: 11px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1.5 6.4L4.4 9.3L10.5 2.6'/%3E%3C/svg%3E") center / contain no-repeat;
  flex: 0 0 11px;
}

/* ------------------------------------------------------------------ */
/* Step nav + submit                                                   */
/* ------------------------------------------------------------------ */

form.fluent_form_3 .ff-custom_html:has(.ff-custom-next),
form.fluent_form_3 .ff-custom_html:has(.ff-custom-back),
form.fluent_form_3 .ilx-nav {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px;
  border-top: 1px solid var(--ilx-line);
  margin: 10px 0 0 !important;
  padding: 24px 0 8px !important;
  width: 100% !important;
}

form.fluent_form_3 .ff-custom_html:has(.ff-custom-next):not(:has(.ff-custom-back)) {
  justify-content: flex-end !important;
}

form.fluent_form_3 .ff-custom_html:has(.ff-custom-next) p,
form.fluent_form_3 .ff-custom_html:has(.ff-custom-back) p,
form.fluent_form_3 .ilx-nav p {
  margin: 0 !important;
  width: auto !important;
  flex: 0 0 auto !important;
  text-align: left !important;
  color: inherit !important;
  font-size: inherit !important;
}

form.fluent_form_3 .ff-custom_html:has(.ff-custom-next) p:last-child {
  margin-left: auto !important;
}

form.fluent_form_3 .ff-custom-next,
form.fluent_form_3 .ff-custom-back,
form.fluent_form_3 .ff-btn-submit,
form.fluent_form_3 .wpf_has_custom_css.ff-btn-submit {
  font-family: var(--ilx-sans) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  height: 48px !important;
  padding: 0 22px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none !important;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

form.fluent_form_3 .ff-custom-next,
form.fluent_form_3 .ff-btn-submit,
form.fluent_form_3 .wpf_has_custom_css.ff-btn-submit {
  background: var(--ilx-black) !important;
  border: 1px solid var(--ilx-black) !important;
  color: #fff !important;
}

form.fluent_form_3 .ff-custom-next:hover,
form.fluent_form_3 .ff-btn-submit:hover,
form.fluent_form_3 .wpf_has_custom_css.ff-btn-submit:hover {
  background: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
  min-width: 0 !important;
  width: auto !important;
}

form.fluent_form_3 .ff-custom-back {
  background: #fff !important;
  border: 1px solid var(--ilx-border) !important;
  color: var(--ilx-black) !important;
  padding: 0 20px !important;
}

form.fluent_form_3 .ff-custom-back:hover {
  border-color: #cfcfcf !important;
  background: #fafafa !important;
}

form.fluent_form_3 .final-step-container .ilx-nav {
  width: 100% !important;
  border-top: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

form.fluent_form_3 .final-step-container.ilx-active {
  margin-top: 0;
}

form.fluent_form_3 .final-step-container .ff-t-cell,
form.fluent_form_3 .final-step-container.ilx-active > .ff-t-cell {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px;
  width: 100%;
  border-top: 1px solid var(--ilx-line);
  padding-top: 24px;
  margin-top: 8px;
}

form.fluent_form_3 .final-step-container .ff-el-group,
form.fluent_form_3 .final-step-container .ff-custom_html,
form.fluent_form_3 .final-step-container .ff-custom_html:has(.ff-custom-back),
form.fluent_form_3 .final-step-container .ff_submit_btn_wrapper,
form.fluent_form_3 .final-step-container .ff_submit_btn_wrapper_custom {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

form.fluent_form_3 .final-step-container .ff-custom_html:has(.ff-custom-back) {
  margin-right: auto !important;
}

form.fluent_form_3 .final-step-container .ff_submit_btn_wrapper,
form.fluent_form_3 .final-step-container .ff_submit_btn_wrapper_custom {
  margin-left: auto !important;
  text-align: right !important;
}

form.fluent_form_3 .final-step-container .ff-btn-submit,
form.fluent_form_3 .final-step-container .wpf_has_custom_css.ff-btn-submit {
  min-width: 240px !important;
  width: auto !important;
  margin: 0 !important;
}

@media (max-width: 640px) {
  form.fluent_form_3 .ff-custom-next,
  form.fluent_form_3 .ff-custom-back,
  form.fluent_form_3 .ff-btn-submit,
  form.fluent_form_3 .final-step-container .ff-btn-submit {
    min-width: 0 !important;
    width: auto !important;
    padding: 0 14px !important;
    font-size: 11px !important;
  }

  form.fluent_form_3 .final-step-container .ff-t-cell,
  form.fluent_form_3 .final-step-container.ilx-active > .ff-t-cell,
  form.fluent_form_3 .ff-custom_html:has(.ff-custom-next),
  form.fluent_form_3 .ff-custom_html:has(.ff-custom-back),
  form.fluent_form_3 .ilx-nav {
    flex-wrap: nowrap !important;
  }

  form.fluent_form_3 .final-step-container .ff-custom_html,
  form.fluent_form_3 .final-step-container .ff_submit_btn_wrapper {
    width: auto !important;
  }

  form.fluent_form_3 .final-step-container .ff-btn-submit {
    min-width: 0 !important;
  }
}

/* ------------------------------------------------------------------ */
/* Review card                                                         */
/* ------------------------------------------------------------------ */

form.fluent_form_3 .review-card {
  width: 100%;
}

form.fluent_form_3 .review-box {
  background: var(--ilx-soft);
  border-radius: 12px;
  padding: 8px 28px 6px;
  text-align: left;
}

form.fluent_form_3 .review-section {
  padding: 20px 0;
  border-bottom: 1px solid #e6e6e6;
}

form.fluent_form_3 .review-section--last,
form.fluent_form_3 .review-section:last-child {
  border-bottom: 0;
}

form.fluent_form_3 .review-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

form.fluent_form_3 .review-label,
form.fluent_form_3 .review-subheading {
  display: block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a8a8a;
  margin-bottom: 6px;
}

form.fluent_form_3 .review-edit {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ilx-black);
  text-decoration: underline;
  text-underline-offset: 3px;
}

form.fluent_form_3 .review-edit:hover {
  color: #444;
}

form.fluent_form_3 .review-bold {
  font-size: 16px;
  font-weight: 600;
  color: var(--ilx-black);
  margin: 0 0 4px;
}

form.fluent_form_3 .review-muted,
form.fluent_form_3 .review-section p {
  font-size: 14.5px;
  color: #555;
  margin: 0 0 4px;
  line-height: 1.45;
}

form.fluent_form_3 .review-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

form.fluent_form_3 .review-cols p {
  color: var(--ilx-black);
  font-weight: 500;
  margin: 0;
}

form.fluent_form_3 .review-quote {
  font-family: var(--ilx-serif);
  font-style: italic;
  font-size: 16px !important;
  color: var(--ilx-text) !important;
  margin: 4px 0 12px !important;
  line-height: 1.5;
}

@media (max-width: 640px) {
  form.fluent_form_3 .review-box {
    padding: 4px 18px;
  }

  form.fluent_form_3 .review-cols {
    grid-template-columns: 1fr;
  }
}

/* Flatpickr above the form card */
.flatpickr-calendar {
  font-family: var(--ilx-sans);
  z-index: 99999 !important;
}

/* ------------------------------------------------------------------ */
/* Success / thank-you screen                                          */
/* ------------------------------------------------------------------ */

.fluentform_wrapper_3 .ff-message-success,
.fluentform_wrapper_3 .ff-message-success.ff-ms-default {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
}

.fluentform_wrapper_3.ilx-has-success .ff-progress-wrap,
.fluentform_wrapper_3:has(.ff-success-wrap) .ff-progress-wrap,
.fluentform_wrapper_3.ilx-has-success form.fluent_form_3 > fieldset,
.fluentform_wrapper_3.ilx-has-success .step-0,
.fluentform_wrapper_3.ilx-has-success .step-1,
.fluentform_wrapper_3.ilx-has-success .step-2,
.fluentform_wrapper_3.ilx-has-success .step-3 {
  display: none !important;
}

.fluentform_wrapper_3.ilx-has-success form.fluent_form_3:not(:has(.ff-success-wrap)):not(:has(.ff-message-success)) {
  display: none !important;
}

.fluentform_wrapper_3.ilx-has-success .ff-message-success,
.fluentform_wrapper_3 .ff-success-wrap {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
}

.ff-success-wrap {
  font-family: var(--ilx-sans);
  text-align: center;
  padding: 12px 8px 8px;
  max-width: 100%;
  margin: 0 auto;
}

.ff-success-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  margin: 28px auto 28px;
  border-radius: 50%;
  background: transparent;
  font-size: 0;
  line-height: 0;
}

.ff-success-icon img {
  width: 88px;
  height: 88px;
  object-fit: contain;
  display: block;
}

.ff-success-title {
  font-family: var(--ilx-serif) !important;
  font-weight: 500 !important;
  font-size: 32px !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em;
  color: var(--ilx-black) !important;
  text-align: center !important;
  margin: 0 0 16px !important;
  white-space: nowrap;
}

.ff-success-desc {
  font-family: var(--ilx-sans) !important;
  font-size: 15.5px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: var(--ilx-muted) !important;
  text-align: center !important;
  margin: 0 auto 28px !important;
  max-width: 480px;
}

.ff-success-divider {
  display: block;
  width: 100%;
  height: 0;
  border: 0;
  border-top: 1px solid var(--ilx-line);
  margin: 0 0 28px;
  background: none;
}

.ff-success-note {
  font-family: var(--ilx-sans) !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #8a8a8a !important;
  text-align: center !important;
  margin: 0 auto 22px !important;
}

.ff-success-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 36px;
}

.ff-success-buttons .ff-btn-outline,
.ff-success-buttons .ff-btn-solid {
  font-family: var(--ilx-sans) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 48px;
  padding: 0 22px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none !important;
  line-height: 1;
  box-sizing: border-box;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.ff-success-buttons .ff-btn-outline {
  background: #fff;
  color: var(--ilx-black) !important;
  border: 1px solid var(--ilx-black);
}

.ff-success-buttons .ff-btn-outline:hover {
  background: #f7f7f7;
}

.ff-success-buttons .ff-btn-solid {
  background: var(--ilx-black);
  color: #fff !important;
  border: 1px solid var(--ilx-black);
}

.ff-success-buttons .ff-btn-solid:hover {
  background: #000;
}

.ff-success-signature {
  margin: 8px 0 0 !important;
  font-size: 0;
  line-height: 0;
}

.ff-success-signature img {
  display: block;
  margin: 0 auto;
  max-width: 180px;
  height: auto;
}

@media (max-width: 640px) {
  .ff-success-title {
    font-size: 26px !important;
    white-space: normal;
  }

  .ff-success-wrap {
    padding: 8px 0 0;
  }

  .ff-success-buttons {
    flex-direction: column;
  }

  .ff-success-buttons .ff-btn-outline,
  .ff-success-buttons .ff-btn-solid {
    width: 100%;
    min-width: 0;
  }
}
