/* NOVA — fichier CSS séparé automatiquement à partir de style.css. */

.nova-proof-strip-swipe{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.nova-proof-strip-swipe > *{
  flex: 0 0 calc((100% - 30px) / 4) !important;
  width: calc((100% - 30px) / 4) !important;
  min-width: 0 !important;
  max-width: calc((100% - 30px) / 4) !important;
  box-sizing: border-box !important;
}

@media (max-width: 1366px){
  .nova-proof-strip-swipe {
    gap: 10px !important;
    overflow: hidden !important;
  }

  .nova-proof-strip-swipe > * {
    flex: 0 0 calc((100% - 30px) / 4) !important;
    width: calc((100% - 30px) / 4) !important;
    min-width: 0 !important;
    max-width: calc((100% - 30px) / 4) !important;
  }
}

@media (max-width: 1024px){
  .nova-proof-strip-swipe {
    gap: 5px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    touch-action: pan-x !important;
  }

  .nova-proof-strip-swipe::-webkit-scrollbar {
    display: none !important;
  }

  .nova-proof-strip-swipe > * {
    flex: 0 0 calc((100% - 10px - 32px) / 2) !important;
    width: calc((100% - 10px - 32px) / 2) !important;
    min-width: calc((100% - 10px - 32px) / 2) !important;
    max-width: calc((100% - 10px - 32px) / 2) !important;
    scroll-snap-align: start !important;
  }
}

@media (max-width: 767px){
  .nova-proof-strip-swipe {
    gap: 5px !important;
  }

  .nova-proof-strip-swipe > * {
    flex: 0 0 calc(100% - 42px) !important;
    width: calc(100% - 42px) !important;
    min-width: calc(100% - 42px) !important;
    max-width: calc(100% - 42px) !important;
  }
}

.nova-divider{
    width: 1px;
    height: 20px;
    flex: 0 0 1px;
    background: var(--nova-soft);
  }

body .diagnostic-capillaire {
  --nova-scroll-offset: 150px;
  position: relative !important;
  width: 100% !important;
  max-width: 1700px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 28px !important;
  box-shadow: 0 24px 70px rgba(11, 13, 15, 0.08) !important;
  padding: 28px !important;
  isolation: isolate !important;
  scroll-margin-top: var(--nova-scroll-offset) !important;
}

body .diagnostic-capillaire .elementor-widget-fluent-form-widget,
body .diagnostic-capillaire .fluentform-widget-wrapper,
body .diagnostic-capillaire .fluentform_wrapper_4 {
  width: 100% !important;
  max-width: 100% !important;
  scroll-margin-top: var(--nova-scroll-offset) !important;
}

form.nova-diagnostic-form,
form.nova-diagnostic-form *,
form.nova-diagnostic-form *::before,
form.nova-diagnostic-form *::after {
  box-sizing: border-box !important;
  font-family: "NOVA FONT", "Nova Font", NOVA, Arial, sans-serif !important;
}

form.nova-diagnostic-form {
  --nova-form-ready: 1;
  --nova-black: #0c0d0e;
  --nova-black-2: #323232;
  --nova-white: #ffffff;
  --nova-gray: #efeff6;
  --nova-gray-2: #d6d5d5;
  --nova-muted: #706f6f;
  --nova-quiet: #9da5ae;
  --nova-text: #17191c;
  --nova-error: #b4232d;
  --nova-error-bg: #fff0f1;
  --nova-focus: 0 0 0 4px rgba(12, 13, 14, 0.12);
  --nova-shadow: 0 24px 70px rgba(11, 13, 15, 0.08);
  color: var(--nova-text) !important;
  scroll-margin-top: var(--nova-scroll-offset, 150px) !important;
}

form.nova-diagnostic-form .ff-step-container,
form.nova-diagnostic-form .fluentform-step,
form.nova-diagnostic-form .ff-el-group {
  scroll-margin-top: var(--nova-scroll-offset, 150px) !important;
}

form.nova-diagnostic-form fieldset,
form.nova-diagnostic-form .ff-step-container,
form.nova-diagnostic-form .ff-step-body,
form.nova-diagnostic-form .fluentform-step,
form.nova-diagnostic-form .ff-el-group,
form.nova-diagnostic-form .ff-el-input--content,
form.nova-diagnostic-form .ff-column-container,
form.nova-diagnostic-form .ff-t-cell {
  min-width: 0 !important;
}

form.nova-diagnostic-form .ff-hpsf-container,
form.nova-diagnostic-form .ff-el-tooltip,
form.nova-diagnostic-form .ff-el-progress-title {
  display: none !important;
}

form.nova-diagnostic-form :focus-visible {
  outline: 3px solid var(--nova-black) !important;
  outline-offset: 3px !important;
}

form.nova-diagnostic-form .ff-step-container {
  display: grid !important;
  grid-template-columns: 340px minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

form.nova-diagnostic-form .ff_step_start {
  display: none !important;
}

form.nova-diagnostic-form .ff-step-header--tabs-left {
  position: relative !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-height: 720px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 22px !important;
  padding: 24px !important;
  margin: 0 !important;
  overflow: visible !important;
  background: var(--nova-white) !important;
  border: 1px solid var(--nova-gray) !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 32px rgba(11, 13, 15, 0.04) !important;
  align-self: stretch !important;
}

form.nova-diagnostic-form .nova-steps-intro {
  display: grid !important;
  gap: 4px !important;
}

form.nova-diagnostic-form .nova-steps-kicker {
  margin: 0 !important;
  color: var(--nova-quiet) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
    font-weight: 500 !important;
  text-transform: uppercase !important;
}

form.nova-diagnostic-form .nova-steps-title {
  margin: 0 !important;
  color: var(--nova-text) !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
    font-weight: 500 !important;
}

form.nova-diagnostic-form .ff-step-titles {
  counter-reset: nova-step !important;
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  overflow: visible !important;
}

form.nova-diagnostic-form .ff-step-titles li {
  counter-increment: nova-step !important;
  min-height: 72px !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  gap: 13px !important;
  align-items: center !important;
  padding: 14px !important;
  margin: 0 !important;
  background: var(--nova-white) !important;
  color: var(--nova-muted) !important;
  border: 1px solid var(--nova-gray-2) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease, transform 200ms ease, box-shadow 200ms ease !important;
}

form.nova-diagnostic-form .ff-step-titles li::before {
  content: counter(nova-step) !important;
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: var(--nova-gray) !important;
  color: currentColor !important;
  font-size: 14px !important;
  line-height: 1 !important;
    font-weight: 500 !important;
  border: 1px solid var(--nova-black) !important;
  outline: 0 !important;
  box-shadow: none !important;
}

form.nova-diagnostic-form .ff-step-titles li,
form.nova-diagnostic-form .ff-step-titles li *,
form.nova-diagnostic-form .ff-step-titles li::before,
form.nova-diagnostic-form .ff-step-titles li::after {
  outline-color: var(--nova-black) !important;
  -webkit-tap-highlight-color: transparent !important;
}

form.nova-diagnostic-form .ff-step-titles li span:not(.ff-step-title-text):not(.nova-step-copy):not(.nova-step-status) {
  border-color: var(--nova-black) !important;
  box-shadow: none !important;
}

form.nova-diagnostic-form .ff-step-titles li:focus,
form.nova-diagnostic-form .ff-step-titles li:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
}

form.nova-diagnostic-form .ff-step-titles li:focus::before,
form.nova-diagnostic-form .ff-step-titles li:focus-visible::before {
  border-color: var(--nova-black) !important;
  box-shadow: 0 0 0 3px rgba(12, 13, 14, 0.14) !important;
}

form.nova-diagnostic-form .ff-step-titles li:hover {
  border-color: #aab3bd !important;
  transform: translateY(-1px) !important;
}

form.nova-diagnostic-form .ff-step-titles li.ff_active {
  background: var(--nova-black) !important;
  color: var(--nova-white) !important;
  border-color: var(--nova-black) !important;
  box-shadow: 0 14px 36px rgba(11, 13, 15, 0.14) !important;
}

form.nova-diagnostic-form .ff-step-titles li.ff_active::before {
  background: var(--nova-white) !important;
  color: var(--nova-black) !important;
  border-color: var(--nova-white) !important;
}

form.nova-diagnostic-form .ff-step-titles li.ff_completed {
  background: var(--nova-gray) !important;
  color: var(--nova-text) !important;
  border-color: var(--nova-gray) !important;
}

form.nova-diagnostic-form .nova-step-copy {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

form.nova-diagnostic-form .ff-step-title-text {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  color: inherit !important;
  font-size: 15px !important;
  line-height: 1.22 !important;
    font-weight: 500 !important;
  overflow-wrap: anywhere !important;
}

form.nova-diagnostic-form .nova-step-status {
  display: block !important;
  margin-top: 3px !important;
  color: currentColor !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  opacity: 0.72 !important;
}

form.nova-diagnostic-form .ff-step-progress-wrap--tabs {
  display: grid !important;
  gap: 10px !important;
  margin-top: auto !important;
  padding-top: 20px !important;
  border-top: 1px solid var(--nova-gray) !important;
}

form.nova-diagnostic-form .nova-progress-title {
  margin: 0 !important;
  color: var(--nova-text) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
    font-weight: 500 !important;
}

form.nova-diagnostic-form .ff-el-progress {
  position: relative !important;
  height: 9px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--nova-gray) !important;
  border-radius: 999px !important;
}

form.nova-diagnostic-form .ff-el-progress::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: var(--nova-progress, 0%) !important;
  max-width: 100% !important;
  display: block !important;
  background: var(--nova-black) !important;
  border-radius: inherit !important;
  transition: width 220ms ease !important;
}

form.nova-diagnostic-form .ff-el-progress-bar,
form.nova-diagnostic-form .ff-el-progress-bar span {
  height: 100% !important;
  border-radius: inherit !important;
}

form.nova-diagnostic-form .ff-el-progress-bar {
  display: none !important;
}

form.nova-diagnostic-form .ff-el-progress-bar span {
  display: none !important;
}

form.nova-diagnostic-form .ff-el-progress-status {
  color: var(--nova-muted) !important;
  font-size: 0 !important;
  line-height: 0 !important;
    font-weight: 500 !important;
  text-align: right !important;
}

form.nova-diagnostic-form .ff-el-progress-status::before {
  content: attr(data-nova-progress) !important;
  color: var(--nova-muted) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
    font-weight: 500 !important;
}

form.nova-diagnostic-form .nova-mobile-steps {
  display: none !important;
}

form.nova-diagnostic-form .ff-step-body {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  justify-self: stretch !important;
  padding: 34px !important;
  background: transparent !important;
}

form.nova-diagnostic-form .fluentform-step {
  width: 100% !important;
  max-width: none !important;
}

form.nova-diagnostic-form .ff-el-group,
form.nova-diagnostic-form .ff-column-container {
  margin-bottom: 30px !important;
}

form.nova-diagnostic-form .ff-el-group:last-child,
form.nova-diagnostic-form .ff-column-container:last-child {
  margin-bottom: 0 !important;
}

form.nova-diagnostic-form .ff-el-input--label {
  margin: 0 0 12px !important;
}

form.nova-diagnostic-form .ff-el-input--label label,
form.nova-diagnostic-form .ff-el-input--label > label {
  display: block !important;
  margin: 0 !important;
  color: var(--nova-black-2) !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
    font-weight: 500 !important;
}

form.nova-diagnostic-form .ff-el-form-control,
form.nova-diagnostic-form textarea,
form.nova-diagnostic-form select,
form.nova-diagnostic-form .choices__inner {
  width: 100% !important;
  color: var(--nova-text) !important;
  background: var(--nova-white) !important;
  border: 1px solid var(--nova-gray-2) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transition: border-color 180ms ease, box-shadow 180ms ease !important;
}

form.nova-diagnostic-form .ff-el-form-control:hover,
form.nova-diagnostic-form textarea:hover,
form.nova-diagnostic-form select:hover,
form.nova-diagnostic-form .choices__inner:hover {
  border-color: #aab3bd !important;
}

form.nova-diagnostic-form .ff-el-form-control:focus,
form.nova-diagnostic-form textarea:focus,
form.nova-diagnostic-form select:focus,
form.nova-diagnostic-form .choices.is-open .choices__inner {
  border-color: var(--nova-black) !important;
  box-shadow: var(--nova-focus) !important;
  outline: 0 !important;
}

form.nova-diagnostic-form input.ff-el-form-control,
form.nova-diagnostic-form select.ff-el-form-control {
  min-height: 54px !important;
  padding: 0 16px !important;
}

form.nova-diagnostic-form .iti,
form.nova-diagnostic-form .iti--allow-dropdown,
form.nova-diagnostic-form .iti--separate-dial-code {
  display: block !important;
  width: 100% !important;
}

form.nova-diagnostic-form .iti input.ff-el-form-control,
form.nova-diagnostic-form .iti input[type="tel"],
form.nova-diagnostic-form input[type="tel"].ff-el-form-control {
  padding-left: 64px !important;
}

form.nova-diagnostic-form .iti__flag-container,
form.nova-diagnostic-form .iti__country-container {
  left: 10px !important;
}

form.nova-diagnostic-form .iti__selected-flag {
  padding: 0 10px !important;
}

form.nova-diagnostic-form select.ff-el-form-control {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding-right: 54px !important;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--nova-black) 50%),
    linear-gradient(135deg, var(--nova-black) 50%, transparent 50%) !important;
  background-position:
    calc(100% - 23px) 50%,
    calc(100% - 17px) 50% !important;
  background-size: 7px 7px, 7px 7px !important;
  background-repeat: no-repeat !important;
}

form.nova-diagnostic-form textarea.ff-el-form-control {
  min-height: 132px !important;
  padding: 14px 16px !important;
  resize: vertical !important;
}

form.nova-diagnostic-form .ff-el-group.ff-el-is-error .ff-el-form-control,
form.nova-diagnostic-form .ff-el-group.ff-el-is-error .ff-el-form-check-label,
form.nova-diagnostic-form .ff-el-group.ff-el-is-error .ff_file_upload_holder,
form.nova-diagnostic-form .ff-el-group.ff-el-is-error .choices__inner {
  border-color: var(--nova-error) !important;
}

form.nova-diagnostic-form .ff-el-group .error,
form.nova-diagnostic-form .ff-errors-in-stack {
  margin-top: 10px !important;
  padding: 10px 12px !important;
  color: var(--nova-error) !important;
  background: var(--nova-error-bg) !important;
  border: 1px solid rgba(180, 35, 45, 0.14) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
    font-weight: 500 !important;
}

form.nova-diagnostic-form .nova-step-heading,
form.nova-diagnostic-form .nova-upload-intro {
  margin-bottom: 28px !important;
}

form.nova-diagnostic-form .nova-step-heading h3,
form.nova-diagnostic-form .nova-upload-intro h3 {
  margin: 0 0 8px !important;
  color: var(--nova-text) !important;
  font-size: 36px !important;
  line-height: 1.13 !important;
    font-weight: 500 !important;
}

form.nova-diagnostic-form .nova-step-heading p,
form.nova-diagnostic-form .nova-upload-intro p {
  margin: 0 !important;
  color: var(--nova-muted) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

form.nova-diagnostic-form .nova-upload-title {
  margin: 0 0 8px !important;
  color: var(--nova-black-2) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
    font-weight: 500 !important;
}

form.nova-diagnostic-form .nova-upload-text {
  margin: 0 !important;
  color: var(--nova-muted) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
    font-weight: 500 !important;
}

form.nova-diagnostic-form .nova-divider {
  width: min(80%, 720px) !important;
  height: 1px !important;
  margin: 12px auto !important;
  background: var(--nova-gray-2) !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff_el_checkable_photo_holders {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  overflow: visible !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 22px !important;
  overflow: visible !important;
  background: var(--nova-white) !important;
  border: 1px solid var(--nova-gray) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 32px rgba(11, 13, 15, 0.04) !important;
  text-align: center !important;
  transition: transform 200ms ease, border-color 200ms ease, background 200ms ease, box-shadow 200ms ease !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder:hover {
  border-color: #aab3bd !important;
  transform: none !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff-el-image-input-src {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: clamp(220px, 18vw, 310px) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background-color: var(--nova-gray) !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  background-size: auto 104% !important;
  border: 5px solid var(--nova-white) !important;
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow: 0 16px 40px rgba(11, 13, 15, 0.12) !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff-el-image-input-src::before {
  display: none !important;
  content: none !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff-el-form-check-label {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 14px !important;
}

form.nova-diagnostic-form .nova-profile-cards input[type="radio"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  opacity: 0 !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

form.nova-diagnostic-form .nova-profile-cards input[type="radio"]::before,
form.nova-diagnostic-form .nova-profile-cards input[type="radio"]::after {
  display: none !important;
  content: none !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff-el-form-check-label span {
  color: var(--nova-text) !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
    font-weight: 500 !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder.is-selected,
form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder.ff_item_selected {
  background: var(--nova-black) !important;
  border-color: var(--nova-black) !important;
  box-shadow: 0 18px 44px rgba(11, 13, 15, 0.16) !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder:has(input[type="radio"]:checked) {
  background: var(--nova-black) !important;
  border-color: var(--nova-black) !important;
  box-shadow: 0 18px 44px rgba(11, 13, 15, 0.16) !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder.is-selected .ff-el-image-input-src,
form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder.ff_item_selected .ff-el-image-input-src {
  border-color: var(--nova-white) !important;
  outline: 0 !important;
  box-shadow: none !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder:has(input[type="radio"]:checked) .ff-el-image-input-src {
  border-color: var(--nova-white) !important;
  outline: 0 !important;
  box-shadow: none !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder.is-selected .ff-el-form-check-label span,
form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder.ff_item_selected .ff-el-form-check-label span {
  color: var(--nova-white) !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder:has(input[type="radio"]:checked) .ff-el-form-check-label span {
  color: var(--nova-white) !important;
}

form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder.is-selected .ff-el-image-input-src::before,
form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder.ff_item_selected .ff-el-image-input-src::before {
  display: none !important;
  content: none !important;
}

form.nova-diagnostic-form .nova-age-slider .ff-el-input--content {
  padding: 22px !important;
  background: var(--nova-white) !important;
  border: 1px solid var(--nova-gray) !important;
  border-radius: 8px !important;
}

form.nova-diagnostic-form .nova-age-slider .ff_slider_wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

form.nova-diagnostic-form .nova-age-slider .ff_range_value {
  align-self: flex-end !important;
  min-width: 112px !important;
  padding: 8px 12px !important;
  color: var(--nova-white) !important;
  background: var(--nova-black) !important;
  border-radius: 8px !important;
  text-align: center !important;
  font-size: 15px !important;
  line-height: 1 !important;
    font-weight: 500 !important;
}

form.nova-diagnostic-form .nova-age-slider .ff_range_value::after {
  content: " ANS" !important;
}

form.nova-diagnostic-form .nova-age-slider .rangeslider,
form.nova-diagnostic-form .nova-age-slider .rangeslider--horizontal {
  width: 100% !important;
  height: 14px !important;
  background: var(--nova-gray-2) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

form.nova-diagnostic-form .nova-age-slider .rangeslider__fill {
  background: var(--nova-black) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

form.nova-diagnostic-form .nova-age-slider .rangeslider__handle {
  width: 34px !important;
  height: 34px !important;
  top: 50% !important;
  background: var(--nova-white) !important;
  border: 3px solid var(--nova-black) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 8px rgba(12, 13, 14, 0.1) !important;
  transform: translateY(-50%) !important;
}

form.nova-diagnostic-form .nova-age-slider .rangeslider__handle::after {
  display: none !important;
}

form.nova-diagnostic-form .nova-choice-grid .ff-el-input--content {
  display: grid !important;
  gap: 12px !important;
}

form.nova-diagnostic-form .nova-choice-grid--2 .ff-el-input--content {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

form.nova-diagnostic-form .nova-choice-grid--4 .ff-el-input--content {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

form.nova-diagnostic-form .nova-choice-grid--check .ff-el-input--content {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

form.nova-diagnostic-form .nova-choice-grid .ff-el-form-check {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

form.nova-diagnostic-form .nova-choice-grid .ff-el-form-check-label {
  --nova-choice-marker: 22px;
  --nova-choice-dot: 10px;
  --nova-choice-pad-x: 16px;
  --nova-choice-dot-left: 22px;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 58px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 15px 16px !important;
  margin: 0 !important;
  background: var(--nova-white) !important;
  color: var(--nova-text) !important;
  border: 1px solid var(--nova-gray) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: transform 200ms ease, border-color 200ms ease, background 200ms ease, color 200ms ease, box-shadow 200ms ease !important;
}

form.nova-diagnostic-form .nova-choice-grid .ff-el-form-check-label::before {
  content: "" !important;
  width: var(--nova-choice-marker) !important;
  height: var(--nova-choice-marker) !important;
  flex: 0 0 var(--nova-choice-marker) !important;
  background: var(--nova-white) !important;
  border: 1.5px solid var(--nova-gray-2) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}

form.nova-diagnostic-form .nova-choice-grid .ff-el-form-check.is-checkbox .ff-el-form-check-label::before {
  border-radius: 6px !important;
}

form.nova-diagnostic-form .nova-choice-grid .ff-el-form-check.is-selected .ff-el-form-check-label::before {
  background: var(--nova-white) !important;
  border-color: var(--nova-white) !important;
}

form.nova-diagnostic-form .nova-choice-grid .ff-el-form-check.is-selected.is-radio .ff-el-form-check-label::after {
  content: "" !important;
  position: absolute !important;
  left: var(--nova-choice-dot-left) !important;
  top: 50% !important;
  width: var(--nova-choice-dot) !important;
  height: var(--nova-choice-dot) !important;
  background: var(--nova-black) !important;
  border-radius: 50% !important;
  transform: translateY(-50%) !important;
}

form.nova-diagnostic-form .nova-choice-grid .ff-el-form-check.is-selected.is-checkbox .ff-el-form-check-label::after {
  content: "" !important;
  position: absolute !important;
  left: calc(var(--nova-choice-pad-x) + ((var(--nova-choice-marker) - 10px) / 2)) !important;
  top: 50% !important;
  width: 10px !important;
  height: 6px !important;
  border-left: 2px solid var(--nova-black) !important;
  border-bottom: 2px solid var(--nova-black) !important;
  transform: translateY(-65%) rotate(-45deg) !important;
}

form.nova-diagnostic-form .nova-choice-grid .ff-el-form-check-label:hover {
  border-color: #aab3bd !important;
  transform: none !important;
}

form.nova-diagnostic-form .nova-choice-grid .ff-el-form-check-label span {
  min-width: 0 !important;
  color: inherit !important;
  font-size: 16px !important;
  line-height: 1.22 !important;
    font-weight: 500 !important;
  overflow-wrap: anywhere !important;
}

form.nova-diagnostic-form .nova-choice-grid input[type="radio"],
form.nova-diagnostic-form .nova-choice-grid input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  flex: 0 0 1px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

form.nova-diagnostic-form .nova-choice-grid input[type="radio"]::before,
form.nova-diagnostic-form .nova-choice-grid input[type="radio"]::after,
form.nova-diagnostic-form .nova-choice-grid input[type="checkbox"]::before,
form.nova-diagnostic-form .nova-choice-grid input[type="checkbox"]::after {
  display: none !important;
  content: none !important;
}

form.nova-diagnostic-form .nova-choice-grid input[type="radio"] {
  border-radius: 50% !important;
}

form.nova-diagnostic-form .nova-choice-grid input[type="checkbox"] {
  border-radius: 6px !important;
}

form.nova-diagnostic-form .nova-choice-grid .ff-el-form-check.is-selected .ff-el-form-check-label {
  background: var(--nova-black) !important;
  color: var(--nova-white) !important;
  border-color: var(--nova-black) !important;
  box-shadow: 0 14px 36px rgba(11, 13, 15, 0.14) !important;
}

form.nova-diagnostic-form .nova-conditional-card {
  margin-top: 18px !important;
  margin-bottom: 34px !important;
  padding: 0 !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid var(--nova-gray) !important;
  border-radius: 8px !important;
}

form.nova-diagnostic-form .nova-conditional-card > .ff-el-input--label {
  margin: 0 !important;
  padding: 22px 18px 0 !important;
}

form.nova-diagnostic-form .nova-conditional-card > .ff-el-input--content {
  width: calc(100% - 36px) !important;
  max-width: calc(100% - 36px) !important;
  margin-left: 18px !important;
  margin-right: 18px !important;
  padding: 0 0 24px !important;
}

form.nova-diagnostic-form .ff-step-body,
form.nova-diagnostic-form .fluentform-step,
form.nova-diagnostic-form .ff-column-container,
form.nova-diagnostic-form .ff-el-group,
form.nova-diagnostic-form .nova-upload-grid,
form.nova-diagnostic-form .nova-upload-card,
form.nova-diagnostic-form .nova-upload-card .ff_file_upload_holder,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list {
  min-width: 0 !important;
  max-width: 100% !important;
}

form.nova-diagnostic-form .nova-upload-grid,
form.nova-diagnostic-form .nova-upload-card .ff_file_upload_holder,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list {
  width: 100% !important;
}

form.nova-diagnostic-form .ff-step-container,
form.nova-diagnostic-form .ff-step-body,
form.nova-diagnostic-form .nova-upload-grid {
  overflow-x: clip !important;
}

form.nova-diagnostic-form .nova-upload-grid > .ff-t-cell {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 1 1 0 !important;
}

form.nova-diagnostic-form .nova-upload-card {
  overflow: hidden !important;
}

form.nova-diagnostic-form .nova-upload-card .ff_file_upload_holder,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list {
  overflow: hidden !important;
}

form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list > div,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-uploaded-item,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-upload-preview,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff_file_upload_preview,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list > div > * {
  min-width: 0 !important;
  max-width: 100% !important;
}

form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list a,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list span,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list strong,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list p {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
}

form.nova-diagnostic-form .nova-upload-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
}

form.nova-diagnostic-form .nova-upload-card {
  height: 100% !important;
  padding: 16px !important;
  background: var(--nova-white) !important;
  border: 1px solid var(--nova-gray) !important;
  border-radius: 8px !important;
}

form.nova-diagnostic-form .nova-upload-card .ff-el-input--label {
  margin-bottom: 10px !important;
}

form.nova-diagnostic-form .nova-upload-card .ff_file_upload_holder {
  min-height: 230px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 10px !important;
  background: var(--nova-gray) !important;
  border: 1.5px dashed #c7ced6 !important;
  border-radius: 8px !important;
  text-align: center !important;
  transition: background 200ms ease, border-color 200ms ease, transform 200ms ease !important;
}

form.nova-diagnostic-form .nova-upload-card .ff_file_upload_holder:hover,
form.nova-diagnostic-form .nova-upload-card:focus-within .ff_file_upload_holder {
  background: #e6e9f3 !important;
  border-color: var(--nova-black) !important;
  transform: translateY(-1px) !important;
}

form.nova-diagnostic-form .nova-upload-card .ff_file_upload_holder::before {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  border: 1px solid var(--nova-gray) !important;
  border-radius: 8px !important;
  background-color: var(--nova-white) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

form.nova-diagnostic-form .nova-upload-card--face .ff_file_upload_holder::before {
  background-image: url("/wp-content/uploads/face.webp") !important;
}

form.nova-diagnostic-form .nova-upload-card--back .ff_file_upload_holder::before {
  background-image: url("/wp-content/uploads/arriere.webp") !important;
}

form.nova-diagnostic-form .nova-upload-card--top .ff_file_upload_holder::before {
  background-image: url("/wp-content/uploads/dessus.webp") !important;
}

form.nova-diagnostic-form .nova-upload-card .ff_upload_btn {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  padding: 11px 14px !important;
  background: var(--nova-black) !important;
  color: var(--nova-white) !important;
  border: 1px solid var(--nova-black) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
    font-weight: 500 !important;
  text-decoration: none !important;
}

form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list {
  display: grid !important;
  gap: 10px !important;
  margin-top: 14px !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list * {
  line-height: 1.35 !important;
}

form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list > div,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-uploaded-item,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-upload-preview,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff_file_upload_preview {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) 18px !important;
  gap: 8px 12px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px !important;
  background: var(--nova-white) !important;
  border: 1px solid var(--nova-gray-2) !important;
  border-radius: 8px !important;
}

form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
}

form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list a,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list button,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-upload-remove,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff_upload_remove {
  justify-self: end !important;
  align-self: start !important;
  margin: 0 !important;
}

form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-upload-details,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-upload-file-info,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-upload-progress-inline,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-upload-info {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
}

form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .progress,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .progress-bar,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-upload-progress,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-el-progress {
  height: 8px !important;
  margin: 6px 0 !important;
  overflow: hidden !important;
  background: var(--nova-gray) !important;
  border-radius: 999px !important;
}

form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .progress-bar,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-upload-progress span,
form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-el-progress-bar span {
  background: var(--nova-black) !important;
}

form.nova-diagnostic-form .nova-upload-card.has-file .ff_upload_btn {
  background: var(--nova-white) !important;
  color: var(--nova-text) !important;
  border-color: var(--nova-gray-2) !important;
}

form.nova-diagnostic-form .nova-upload-meta {
  margin-top: 14px !important;
  color: var(--nova-muted) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere !important;
}

form.nova-diagnostic-form .nova-select-card .choices__inner {
  min-height: 54px !important;
  padding: 11px 16px 6px !important;
}

form.nova-diagnostic-form .nova-select-card,
form.nova-diagnostic-form .nova-select-card > .ff-el-input--content,
form.nova-diagnostic-form .nova-select-card .choices {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
}

form.nova-diagnostic-form .nova-select-card .choices.is-open {
  z-index: 100 !important;
}

form.nova-diagnostic-form .nova-select-card .choices__list--dropdown {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 8px !important;
  background: var(--nova-white) !important;
  border: 1px solid var(--nova-gray) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 40px rgba(11, 13, 15, 0.08) !important;
  z-index: 100 !important;
}

form.nova-diagnostic-form .nova-field-grid {
  display: grid !important;
  gap: 16px !important;
}

form.nova-diagnostic-form .nova-field-grid.ff_columns_total_2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

form.nova-diagnostic-form .nova-field-grid.ff_columns_total_1 {
  grid-template-columns: 1fr !important;
}

form.nova-diagnostic-form .nova-terms-field .ff-el-form-check-label.ff_tc_label {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  padding: 16px !important;
  background: var(--nova-white) !important;
  border: 1px solid var(--nova-gray) !important;
  border-radius: 8px !important;
  cursor: pointer !important;
}

form.nova-diagnostic-form .nova-terms-field .ff_tc_checkbox {
  position: relative !important;
  width: 22px !important;
  height: 22px !important;
  margin: 1px 0 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

form.nova-diagnostic-form .nova-terms-field .ff_tc_checkbox::before {
  content: "" !important;
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  background: var(--nova-white) !important;
  border: 1.5px solid var(--nova-gray-2) !important;
  border-radius: 6px !important;
}

form.nova-diagnostic-form .nova-terms-field .ff_tc_checkbox input {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: absolute !important;
  inset: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  opacity: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

form.nova-diagnostic-form .nova-terms-field .ff_tc_checkbox.is-checked::before,
form.nova-diagnostic-form .nova-terms-field .ff_tc_checkbox:has(input:checked)::before {
  background-color: var(--nova-black) !important;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='14'%20height='14'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%206L9%2017l-5-5'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 14px 14px !important;
  border-color: var(--nova-black) !important;
}

form.nova-diagnostic-form .nova-terms-field .ff_tc_checkbox.is-checked::after,
form.nova-diagnostic-form .nova-terms-field .ff_tc_checkbox:has(input:checked)::after {
  display: none !important;
  content: none !important;
}

form.nova-diagnostic-form .nova-terms-field .ff_tc_checkbox input::before,
form.nova-diagnostic-form .nova-terms-field .ff_tc_checkbox input::after {
  display: none !important;
  content: none !important;
}

form.nova-diagnostic-form .nova-consent-status {
  width: max-content !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 10px !important;
  margin-bottom: 8px !important;
  color: var(--nova-black) !important;
  background: var(--nova-gray) !important;
  border: 1px solid var(--nova-gray-2) !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  line-height: 1 !important;
    font-weight: 500 !important;
}

form.nova-diagnostic-form .nova-consent-status::before {
  content: "" !important;
  width: 14px !important;
  height: 14px !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='14'%20height='14'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000000'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%206L9%2017l-5-5'/%3E%3C/svg%3E") center / 14px 14px no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='14'%20height='14'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000000'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%206L9%2017l-5-5'/%3E%3C/svg%3E") center / 14px 14px no-repeat !important;
}

form.nova-diagnostic-form .nova-consent-status[hidden] {
  display: none !important;
}

form.nova-diagnostic-form .nova-terms-box {
  display: grid !important;
  gap: 10px !important;
}

form.nova-diagnostic-form .nova-terms-box h5 {
  margin: 0 !important;
  color: var(--nova-text) !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
    font-weight: 500 !important;
}

form.nova-diagnostic-form .nova-terms-box ul {
  max-height: 150px !important;
  margin: 0 !important;
  padding: 18px 18px 18px 34px !important;
  overflow-y: auto !important;
  background: var(--nova-gray) !important;
  border: 1px solid var(--nova-gray) !important;
  border-radius: 8px !important;
  color: var(--nova-muted) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  scrollbar-color: var(--nova-black) var(--nova-gray) !important;
  scrollbar-width: thin !important;
}

form.nova-diagnostic-form .nova-terms-box li + li {
  margin-top: 8px !important;
}

form.nova-diagnostic-form .nova-terms-box a {
  color: var(--nova-black) !important;
    font-weight: 500 !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

form.nova-diagnostic-form .step-nav,
form.nova-diagnostic-form .nova-final-actions {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: 30px !important;
}

form.nova-diagnostic-form .step-nav .ff-btn,
form.nova-diagnostic-form .nova-final-actions .ff-btn,
form.nova-diagnostic-form .ff-btn-submit,
form.nova-diagnostic-form .nova-submit-button {
  min-height: 44px !important;
  min-width: 170px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 13px 18px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
    font-weight: 500 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  float: none !important;
  transition: transform 200ms ease, background 200ms ease, border-color 200ms ease, color 200ms ease, opacity 200ms ease !important;
}

form.nova-diagnostic-form .ff-btn-prev {
  background: var(--nova-white) !important;
  color: var(--nova-text) !important;
  border: 1px solid var(--nova-gray-2) !important;
}

form.nova-diagnostic-form .ff-btn-next,
form.nova-diagnostic-form .ff-btn-submit,
form.nova-diagnostic-form .nova-submit-button {
  background: var(--nova-black) !important;
  color: var(--nova-white) !important;
  border: 1px solid var(--nova-black) !important;
}

form.nova-diagnostic-form .ff-btn-prev:hover,
form.nova-diagnostic-form .ff-btn-next:hover,
form.nova-diagnostic-form .ff-btn-submit:hover,
form.nova-diagnostic-form .nova-submit-button:hover {
  transform: translateY(-1px) !important;
}

form.nova-diagnostic-form .ff-btn-prev:hover {
  border-color: #aab3bd !important;
}

form.nova-diagnostic-form .ff-btn-next:hover,
form.nova-diagnostic-form .ff-btn-submit:hover,
form.nova-diagnostic-form .nova-submit-button:hover {
  background: var(--nova-black-2) !important;
  border-color: var(--nova-black-2) !important;
}

form.nova-diagnostic-form .ff-btn-prev::before {
  content: "\2190" !important;
}

form.nova-diagnostic-form .ff-btn-next::after,
form.nova-diagnostic-form .ff-btn-submit::after,
form.nova-diagnostic-form .nova-submit-button::after {
  content: "\2192" !important;
}

form.nova-diagnostic-form .ff_submit_btn_wrapper_custom.nova-submit-wrapper-empty {
  display: none !important;
}

form.nova-diagnostic-form .ff-inner_submit_container {
  display: block !important;
  width: 100% !important;
  margin: 30px 0 0 !important;
}

form.nova-diagnostic-form .ff-inner_submit_container .ff-t-column-1 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
}

form.nova-diagnostic-form .ff-inner_submit_container .ff-t-column-2 {
  display: none !important;
}

form.nova-diagnostic-form .ff-inner_submit_container .step-nav {
  margin-top: 0 !important;
}

@media (max-width: 1180px) {
  form.nova-diagnostic-form .ff-step-container {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 42px !important;
  }

  form.nova-diagnostic-form .ff-step-header--tabs-left {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: auto !important;
    height: auto !important;
    padding: 18px !important;
    border-radius: 14px !important;
  }

  form.nova-diagnostic-form .nova-steps-intro,
  form.nova-diagnostic-form .ff-step-titles,
  form.nova-diagnostic-form .ff-step-progress-wrap--tabs {
    display: none !important;
  }

  form.nova-diagnostic-form .nova-mobile-steps {
    display: block !important;
  }

  form.nova-diagnostic-form .nova-mobile-kicker {
    margin: 0 0 6px !important;
    color: var(--nova-quiet) !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
      font-weight: 500 !important;
    text-transform: uppercase !important;
  }

  form.nova-diagnostic-form .nova-mobile-title {
    margin: 0 0 14px !important;
    color: var(--nova-text) !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
      font-weight: 500 !important;
  }

  form.nova-diagnostic-form .nova-mobile-current {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
  }

  form.nova-diagnostic-form .nova-mobile-current strong {
    min-width: 0 !important;
    color: var(--nova-text) !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
      font-weight: 500 !important;
    overflow-wrap: anywhere !important;
  }

  form.nova-diagnostic-form .nova-mobile-dots {
    display: flex !important;
    flex: 0 0 auto !important;
    gap: 7px !important;
  }

  form.nova-diagnostic-form .nova-mobile-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: var(--nova-gray) !important;
  }

  form.nova-diagnostic-form .nova-mobile-dot.is-active {
    width: 22px !important;
    border-radius: 999px !important;
    background: var(--nova-black) !important;
  }

  form.nova-diagnostic-form .nova-mobile-progress-label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
    color: var(--nova-text) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
      font-weight: 500 !important;
  }

  form.nova-diagnostic-form .ff-step-titles {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  form.nova-diagnostic-form .ff-step-titles li {
    min-height: 68px !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 10px !important;
  }

  form.nova-diagnostic-form .ff-step-titles li::before {
    width: 32px !important;
    height: 32px !important;
    font-size: 13px !important;
  }

  form.nova-diagnostic-form .ff-step-title-text {
    font-size: 12px !important;
    line-height: 1.18 !important;
  }

  form.nova-diagnostic-form .nova-step-status {
    font-size: 11px !important;
  }

  form.nova-diagnostic-form .ff-step-body {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: 0 8px 12px !important;
  }
}

@media (max-width: 900px) {
  form.nova-diagnostic-form .ff-step-header--tabs-left {
    padding: 16px !important;
  }

  form.nova-diagnostic-form .nova-choice-grid--4 .ff-el-input--content {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 860px) {
  form.nova-diagnostic-form .ff-step-body {
    padding: 0 4px 6px !important;
  }

  form.nova-diagnostic-form .nova-conditional-card {
    padding: 0 !important;
  }

  form.nova-diagnostic-form .nova-conditional-card > .ff-el-input--label {
    padding: 18px 18px 0 !important;
  }

  form.nova-diagnostic-form .nova-conditional-card > .ff-el-input--content {
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    margin-left: 18px !important;
    margin-right: 18px !important;
    padding: 0 0 18px !important;
  }

  form.nova-diagnostic-form .nova-step-heading h3,
  form.nova-diagnostic-form .nova-upload-intro h3 {
    font-size: 32px !important;
  }

  form.nova-diagnostic-form .nova-field-grid.ff_columns_total_2 {
    grid-template-columns: 1fr !important;
  }

  form.nova-diagnostic-form .nova-choice-grid--2 .ff-el-input--content,
  form.nova-diagnostic-form .nova-choice-grid--4 .ff-el-input--content,
  form.nova-diagnostic-form .nova-choice-grid--check .ff-el-input--content {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  form.nova-diagnostic-form .nova-choice-grid .ff-el-form-check-label {
    --nova-choice-marker: 19px;
    --nova-choice-dot: 8px;
    --nova-choice-pad-x: 12px;
    --nova-choice-dot-left: 17.5px;
    min-height: 56px !important;
    gap: 10px !important;
    padding: 13px 12px !important;
  }
}

@media (max-width: 640px) {
  body .diagnostic-capillaire {
    --nova-scroll-offset: 125px;
    border-radius: 18px !important;
    padding: 12px !important;
  }

  form.nova-diagnostic-form .nova-conditional-card {
    padding: 0 !important;
  }

  form.nova-diagnostic-form .nova-conditional-card > .ff-el-input--label {
    padding: 18px 12px 0 !important;
  }

  form.nova-diagnostic-form .nova-conditional-card > .ff-el-input--content {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
    padding: 0 0 20px !important;
  }

  form.nova-diagnostic-form .nova-step-heading,
  form.nova-diagnostic-form .nova-upload-intro {
    margin-bottom: 24px !important;
  }

  form.nova-diagnostic-form .nova-step-heading h3,
  form.nova-diagnostic-form .nova-upload-intro h3 {
    font-size: 28px !important;
  }

  form.nova-diagnostic-form .nova-choice-grid .ff-el-form-check-label {
    --nova-choice-marker: 18px;
    --nova-choice-dot: 8px;
    --nova-choice-pad-x: 10px;
    --nova-choice-dot-left: 15px;
    min-height: 52px !important;
    gap: 10px !important;
    padding: 12px 10px !important;
  }

  form.nova-diagnostic-form .nova-choice-grid .ff-el-input--content {
    gap: 8px !important;
  }

  form.nova-diagnostic-form .nova-choice-grid--check,
  form.nova-diagnostic-form .nova-choice-grid--check .ff-el-input--content {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    justify-content: center !important;
  }

  form.nova-diagnostic-form .nova-choice-grid .ff-el-form-check-label span {
    font-size: 14px !important;
    line-height: 1.2 !important;
  }

  form.nova-diagnostic-form .nova-profile-cards .ff_el_checkable_photo_holders {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  form.nova-diagnostic-form .nova-profile-cards .ff-el-image-holder {
    width: 100% !important;
    min-width: 0 !important;
    padding: 6px !important;
    overflow: visible !important;
  }

  form.nova-diagnostic-form .nova-profile-cards .ff-el-image-input-src {
    height: clamp(150px, 44vw, 220px) !important;
    background-position: center bottom !important;
    background-size: auto 102% !important;
    border-width: 2px !important;
    box-shadow: 0 10px 22px rgba(11, 13, 15, 0.08) !important;
  }

  form.nova-diagnostic-form .nova-profile-cards .ff-el-image-input-src::before {
    inset: -3px !important;
    border-width: 1px !important;
  }

  form.nova-diagnostic-form .nova-profile-cards .ff-el-form-check-label {
    margin-top: 8px !important;
  }

  form.nova-diagnostic-form .nova-profile-cards .ff-el-form-check-label span {
    font-size: 12px !important;
    line-height: 1.15 !important;
  }

  form.nova-diagnostic-form .nova-upload-grid {
    gap: 6px !important;
  }

  form.nova-diagnostic-form .nova-upload-card {
    padding: 7px !important;
  }

  form.nova-diagnostic-form .nova-upload-card .ff-el-input--label {
    margin-bottom: 7px !important;
  }

  form.nova-diagnostic-form .nova-upload-card .ff-el-input--label label {
    font-size: 12px !important;
  }

  form.nova-diagnostic-form .nova-upload-card .ff_file_upload_holder {
    min-height: 112px !important;
    gap: 8px !important;
    padding: 8px 4px !important;
  }

  form.nova-diagnostic-form .nova-upload-card .ff_upload_btn {
    min-height: 34px !important;
    padding: 7px 5px !important;
    font-size: 10px !important;
  }

  form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list {
    gap: 7px !important;
    margin-top: 10px !important;
    font-size: 10px !important;
  }

  form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list > div,
  form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-uploaded-item,
  form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff-upload-preview,
  form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list .ff_file_upload_preview {
    grid-template-columns: 46px minmax(0, 1fr) 14px !important;
    gap: 6px !important;
    padding: 7px !important;
  }

  form.nova-diagnostic-form .nova-upload-card .ff-uploaded-list img {
    width: 46px !important;
    height: 46px !important;
  }

  form.nova-diagnostic-form .nova-upload-meta {
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  form.nova-diagnostic-form .step-nav,
  form.nova-diagnostic-form .nova-final-actions {
    flex-direction: column-reverse !important;
  }

  form.nova-diagnostic-form .step-nav .ff-btn,
  form.nova-diagnostic-form .nova-final-actions .ff-btn,
  form.nova-diagnostic-form .ff-btn-submit,
  form.nova-diagnostic-form .nova-submit-button {
    width: 100% !important;
  }
}

body .fluentform form.nova-diagnostic-form .nova-choice-grid.nova-conditional-card > .ff-el-input--content {
  width: calc(100% - 36px) !important;
  max-width: calc(100% - 36px) !important;
  margin-left: 18px !important;
  margin-right: 18px !important;
  padding-top: 18px !important;
}

@media (max-width: 640px) {
  body .fluentform form.nova-diagnostic-form .nova-choice-grid.nova-conditional-card > .ff-el-input--content {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
    padding-top: 18px !important;
  }
}

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



/* NOVA - Derniere etape Fluent Form : validation native et actions alignees. */
/* Fluent Form rend le bouton Envoyer avant .ff-inner_submit_container.
   On le cale donc dans la meme ligne sans le deplacer dans le DOM. */
form.nova-diagnostic-form .fluentform-step:last-child {
  position: relative !important;
}

form.nova-diagnostic-form .fluentform-step:last-child > .ff_submit_btn_wrapper_custom {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 1 !important;
  width: auto !important;
  margin: 0 !important;
}

form.nova-diagnostic-form .fluentform-step:last-child > .ff_submit_btn_wrapper_custom .ff-btn-submit {
  width: auto !important;
  margin: 0 !important;
}

form.nova-diagnostic-form .fluentform-step:last-child .ff-inner_submit_container {
  display: flex !important;
  width: 100% !important;
  margin: 30px 0 0 !important;
  align-items: center !important;
}

form.nova-diagnostic-form .fluentform-step:last-child .ff-inner_submit_container .ff-t-column-1 {
  display: flex !important;
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
}

/* Cette colonne est vide dans le HTML Fluent Form : on la retire. */
form.nova-diagnostic-form .fluentform-step:last-child .ff-inner_submit_container .ff-t-column-2 {
  display: none !important;
}

form.nova-diagnostic-form .fluentform-step:last-child .step-nav {
  width: 100% !important;
  margin: 0 !important;
  justify-content: flex-start !important;
}

/* Telephone : les deux actions reprennent leur flux naturel, l'une sous l'autre. */
@media (max-width: 640px) {
  form.nova-diagnostic-form .fluentform-step:last-child > .ff_submit_btn_wrapper_custom {
    position: static !important;
    width: 100% !important;
    margin: 0 0 12px !important;
  }

  form.nova-diagnostic-form .fluentform-step:last-child > .ff_submit_btn_wrapper_custom .ff-btn-submit,
  form.nova-diagnostic-form .fluentform-step:last-child .step-nav .ff-btn-prev {
    width: 100% !important;
  }

  form.nova-diagnostic-form .fluentform-step:last-child .ff-inner_submit_container {
    margin-top: 0 !important;
  }
}

/* NOVA - Formulaire de contact Fluent Form.
   Classe du formulaire: nova-contact-form
   Classe Civilite: nova-contact-civility
   Classe RGPD: nova-contact-consent (sur la case a cocher) */

form.nova-contact-form,
form.nova-contact-form *,
form.nova-contact-form *::before,
form.nova-contact-form *::after {
  box-sizing: border-box;
}

form.nova-contact-form {
  --nova-contact-black: #0c0d0e;
  --nova-contact-text: #17191c;
  --nova-contact-muted: #706f6f;
  --nova-contact-surface: #ffffff;
  --nova-contact-gray: #edeff6;
  --nova-contact-border: #d5dae1;
  --nova-contact-error: #b4232d;
  --nova-contact-error-bg: #fff2f3;
  width: 100%;
  margin: 0;
  color: var(--nova-contact-text);
  font-family: inherit;
}

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

form.nova-contact-form .ff-hpsf-container {
  display: none !important;
}

form.nova-contact-form > fieldset > .ff-el-group,
form.nova-contact-form > fieldset > .ff-field_container,
form.nova-contact-form > fieldset > .ff-t-container {
  margin: 0 0 22px !important;
}

form.nova-contact-form .ff-field_container > .ff-t-container,
form.nova-contact-form > fieldset > .ff-t-container:not(.ff-inner_submit_container) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
}

form.nova-contact-form .ff-field_container > .ff-t-container > .ff-t-cell,
form.nova-contact-form > fieldset > .ff-t-container:not(.ff-inner_submit_container) > .ff-t-cell {
  width: auto !important;
  min-width: 0 !important;
  flex: initial !important;
  flex-basis: auto !important;
}

form.nova-contact-form .ff-t-cell .ff-el-group,
form.nova-contact-form .ff-field_container .ff-el-group {
  margin: 0 !important;
}

form.nova-contact-form .ff-el-input--label {
  margin: 0 0 10px !important;
}

form.nova-contact-form .ff-el-input--label label,
form.nova-contact-form .ff-el-input--label > label {
  display: block !important;
  margin: 0 !important;
  color: var(--nova-contact-text) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

form.nova-contact-form .ff-el-form-control,
form.nova-contact-form textarea,
form.nova-contact-form select,
form.nova-contact-form .choices__inner {
  width: 100% !important;
  color: var(--nova-contact-text) !important;
  background: var(--nova-contact-surface) !important;
  border: 1px solid var(--nova-contact-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-family: inherit !important;
  transition: border-color 180ms ease, box-shadow 180ms ease !important;
}

form.nova-contact-form input.ff-el-form-control,
form.nova-contact-form select.ff-el-form-control {
  min-height: 54px !important;
  padding: 0 16px !important;
}

form.nova-contact-form textarea.ff-el-form-control {
  min-height: 154px !important;
  padding: 15px 16px !important;
  resize: vertical !important;
}

form.nova-contact-form .ff-el-form-control::placeholder,
form.nova-contact-form textarea::placeholder {
  color: #8a929e !important;
  opacity: 1 !important;
}

form.nova-contact-form .ff-el-form-control:hover,
form.nova-contact-form textarea:hover,
form.nova-contact-form select:hover,
form.nova-contact-form .choices__inner:hover {
  border-color: #aab3bd !important;
}

form.nova-contact-form .ff-el-form-control:focus,
form.nova-contact-form textarea:focus,
form.nova-contact-form select:focus,
form.nova-contact-form .choices.is-open .choices__inner {
  border-color: var(--nova-contact-black) !important;
  box-shadow: 0 0 0 3px rgba(12, 13, 14, 0.1) !important;
  outline: 0 !important;
}

form.nova-contact-form .iti,
form.nova-contact-form .iti--allow-dropdown,
form.nova-contact-form .iti--separate-dial-code {
  display: block !important;
  width: 100% !important;
}

form.nova-contact-form .iti input.ff-el-form-control,
form.nova-contact-form .iti input[type="tel"],
form.nova-contact-form input[type="tel"].ff-el-form-control {
  padding-left: 68px !important;
}

form.nova-contact-form .iti__flag-container,
form.nova-contact-form .iti__country-container {
  left: 10px !important;
}

form.nova-contact-form .iti__selected-flag,
form.nova-contact-form .iti__selected-country {
  padding: 0 10px !important;
}

/* Civilite: controle segmente compact, distinct des grandes cartes du diagnostic. */
form.nova-contact-form .nova-contact-civility > .ff-el-input--content {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  width: min(100%, 270px) !important;
  padding: 3px !important;
  background: var(--nova-contact-gray) !important;
  border: 1px solid var(--nova-contact-border) !important;
  border-radius: 8px !important;
}

form.nova-contact-form .nova-contact-civility .ff-el-form-check {
  min-width: 0 !important;
  margin: 0 !important;
}

form.nova-contact-form .nova-contact-civility .ff-el-form-check-label {
  display: flex !important;
  min-height: 40px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  color: var(--nova-contact-text) !important;
  background: var(--nova-contact-surface) !important;
  border: 1px solid transparent !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease !important;
}

form.nova-contact-form .nova-contact-civility .ff-el-form-check-label:hover {
  border-color: #aab3bd !important;
}

form.nova-contact-form .nova-contact-civility input[type="radio"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 15px !important;
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  background: var(--nova-contact-surface) !important;
  border: 1.5px solid #cbd1d9 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}

form.nova-contact-form .nova-contact-civility input[type="radio"]:checked {
  background: var(--nova-contact-surface) !important;
  border-color: var(--nova-contact-surface) !important;
  box-shadow: inset 0 0 0 3px var(--nova-contact-black) !important;
}

form.nova-contact-form .nova-contact-civility .ff-el-form-check-label:has(input[type="radio"]:checked) {
  color: var(--nova-contact-surface) !important;
  background: var(--nova-contact-black) !important;
  border-color: var(--nova-contact-black) !important;
}

form.nova-contact-form .nova-contact-civility .ff-el-form-check-label:has(input[type="radio"]:checked) input[type="radio"] {
  box-shadow: inset 0 0 0 3px var(--nova-contact-black) !important;
}

form.nova-contact-form .nova-contact-civility .ff-el-form-check-label:has(input:focus-visible) {
  box-shadow: 0 0 0 3px rgba(12, 13, 14, 0.12) !important;
}

/* Civilite invalide: un seul signal visuel, sans denaturer les deux choix. */
form.nova-contact-form .nova-contact-civility.ff-el-is-error > .ff-el-input--content {
  padding-bottom: 8px !important;
  background: var(--nova-contact-error-bg) !important;
  border-color: var(--nova-contact-error) !important;
}

form.nova-contact-form .nova-contact-civility.ff-el-is-error .ff-el-form-check-label {
  border-color: transparent !important;
}

form.nova-contact-form .nova-contact-civility.ff-el-is-error .ff-el-form-check-label:has(input[type="radio"]:checked) {
  border-color: var(--nova-contact-black) !important;
}

form.nova-contact-form .nova-contact-civility .ff-errors-in-stack,
form.nova-contact-form .nova-contact-civility .error {
  display: block !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 6px 0 0 !important;
  padding: 9px 10px !important;
  color: var(--nova-contact-error) !important;
  background: var(--nova-contact-error-bg) !important;
  border: 1px solid rgba(180, 35, 45, 0.14) !important;
  border-radius: 4px !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

/* Consentement RGPD: meme presentation que le diagnostic, isolee au contact. */
form.nova-contact-form .nova-contact-consent-field .ff-el-form-check-label.ff_tc_label {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 16px !important;
  background: var(--nova-contact-surface) !important;
  border: 1px solid var(--nova-contact-border) !important;
  border-radius: 8px !important;
  cursor: pointer !important;
}

form.nova-contact-form .nova-contact-consent-field .ff_tc_checkbox {
  position: relative !important;
  display: inline-flex !important;
  width: 22px !important;
  height: 22px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 1px 0 0 !important;
}

form.nova-contact-form .nova-contact-consent-field .ff_tc_checkbox::before {
  content: "" !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  background: var(--nova-contact-surface) !important;
  border: 1.5px solid #cbd1d9 !important;
  border-radius: 6px !important;
}

form.nova-contact-form .nova-contact-consent-field .ff_tc_checkbox input {
  position: absolute !important;
  inset: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  opacity: 0 !important;
}

form.nova-contact-form .nova-contact-consent-field .ff_tc_checkbox.is-checked::before,
form.nova-contact-form .nova-contact-consent-field .ff_tc_checkbox:has(input:checked)::before {
  background-color: var(--nova-contact-black) !important;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='14'%20height='14'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%206L9%2017l-5-5'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 14px 14px !important;
  border-color: var(--nova-contact-black) !important;
}

form.nova-contact-form .nova-contact-consent-field .ff_t_c {
  min-width: 0 !important;
}

form.nova-contact-form .nova-contact-consent-status {
  display: inline-flex !important;
  width: max-content !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 8px !important;
  padding: 6px 10px !important;
  color: var(--nova-contact-black) !important;
  background: var(--nova-contact-gray) !important;
  border: 1px solid var(--nova-contact-border) !important;
  border-radius: 999px !important;
  font-family: inherit !important;
  font-size: 13px !important;
    font-weight: 500 !important;
  line-height: 1 !important;
}

form.nova-contact-form .nova-contact-consent-status::before {
  content: "" !important;
  width: 14px !important;
  height: 14px !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='14'%20height='14'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000000'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%206L9%2017l-5-5'/%3E%3C/svg%3E") center / 14px 14px no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='14'%20height='14'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000000'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%206L9%2017l-5-5'/%3E%3C/svg%3E") center / 14px 14px no-repeat !important;
}

form.nova-contact-form .nova-contact-consent-status[hidden] {
  display: none !important;
}

form.nova-contact-form .nova-contact-consent-field .nova-terms-box {
  display: grid !important;
  gap: 10px !important;
}

form.nova-contact-form .nova-contact-consent-field .nova-terms-box h5 {
  margin: 0 !important;
  color: var(--nova-contact-text) !important;
  font-family: inherit !important;
  font-size: 16px !important;
    font-weight: 500 !important;
  line-height: 1.35 !important;
}

form.nova-contact-form .nova-contact-consent-field .nova-terms-box p {
  max-height: 110px !important;
  margin: 0 !important;
  padding: 18px !important;
  overflow-y: auto !important;
  background: var(--nova-contact-gray) !important;
  border: 1px solid var(--nova-contact-gray) !important;
  border-radius: 8px !important;
  color: var(--nova-contact-muted) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  scrollbar-color: var(--nova-contact-black) var(--nova-contact-gray) !important;
  scrollbar-width: thin !important;
}

form.nova-contact-form .nova-contact-consent-field .nova-terms-box a {
  color: var(--nova-contact-black) !important;
  font-weight: 500 !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

form.nova-contact-form .ff-el-group.ff-el-is-error .ff-el-form-control,
form.nova-contact-form .ff-el-group.ff-el-is-error .ff-el-form-check-label {
  border-color: var(--nova-contact-error) !important;
}

form.nova-contact-form .ff-el-group .error,
form.nova-contact-form .ff-errors-in-stack {
  margin-top: 10px !important;
  padding: 10px 12px !important;
  color: var(--nova-contact-error) !important;
  background: var(--nova-contact-error-bg) !important;
  border: 1px solid rgba(180, 35, 45, 0.14) !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

form.nova-contact-form .ff_submit_btn_wrapper {
  display: flex !important;
  justify-content: flex-start !important;
  width: 100% !important;
  margin: 30px 0 0 !important;
}

form.nova-contact-form .ff-btn-submit {
  display: inline-flex !important;
  width: 100% !important;
  min-width: 170px !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 13px 18px !important;
  color: var(--nova-contact-surface) !important;
  background: var(--nova-contact-black) !important;
  border: 1px solid var(--nova-contact-black) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 16px !important;
    font-weight: 500 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease !important;
}

form.nova-contact-form .ff-btn-submit::after {
  content: "\2192" !important;
}

form.nova-contact-form .ff-btn-submit:hover {
  background: #23262a !important;
  border-color: #23262a !important;
  transform: translateY(-1px) !important;
}

form.nova-contact-form .ff-btn-submit:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(12, 13, 14, 0.14) !important;
}

form.nova-contact-form .ff-btn-submit:disabled,
form.nova-contact-form .ff-btn-submit[aria-disabled="true"] {
  cursor: default !important;
  opacity: 0.55 !important;
  transform: none !important;
}

form.nova-contact-form .ff-message-success {
  margin: 0 !important;
  padding: 16px !important;
  color: var(--nova-contact-text) !important;
  background: var(--nova-contact-gray) !important;
  border: 1px solid var(--nova-contact-border) !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  font-weight: 500 !important;
}

@media (max-width: 767px) {
  form.nova-contact-form > fieldset > .ff-el-group,
  form.nova-contact-form > fieldset > .ff-field_container,
  form.nova-contact-form > fieldset > .ff-t-container {
    margin-bottom: 18px !important;
  }

  form.nova-contact-form .ff-field_container > .ff-t-container,
  form.nova-contact-form > fieldset > .ff-t-container:not(.ff-inner_submit_container) {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  form.nova-contact-form .nova-contact-civility > .ff-el-input--content {
    width: 100% !important;
  }

  form.nova-contact-form .nova-contact-consent-field .ff-el-form-check-label.ff_tc_label {
    grid-template-columns: 22px minmax(0, 1fr) !important;
    padding: 14px !important;
  }

  form.nova-contact-form .nova-contact-consent-field .nova-terms-box p {
    padding: 16px !important;
    font-size: 13px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  form.nova-contact-form .ff-el-form-control,
  form.nova-contact-form textarea,
  form.nova-contact-form .nova-contact-civility .ff-el-form-check-label,
  form.nova-contact-form .ff-btn-submit {
    transition: none !important;
  }
}
