.elementor-18879 .elementor-element.elementor-element-68ea2aae{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:70px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-18879 .elementor-element.elementor-element-68ea2aae:not(.elementor-motion-effects-element-type-background), .elementor-18879 .elementor-element.elementor-element-68ea2aae > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F8FAFC;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group{padding-right:calc( 0px/2 );padding-left:calc( 0px/2 );margin-bottom:28px;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-form-fields-wrapper{margin-left:calc( -0px/2 );margin-right:calc( -0px/2 );margin-bottom:-28px;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group.recaptcha_v3-bottomleft, .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-labels-inline .elementor-field-group > label{padding-left:6px;}body:not(.rtl) .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-labels-inline .elementor-field-group > label{padding-right:6px;}body .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-labels-above .elementor-field-group > label{padding-bottom:6px;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group > label, .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-subgroup label{color:#111827;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-mark-required .elementor-field-label:after{color:#EF4444;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-type-html{padding-bottom:0px;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group .elementor-field{color:#111827;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#F8FAFC;border-color:#E2E8F0;border-width:1px 1px 1px 1px;border-radius:10px 10px 10px 10px;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group .elementor-select-wrapper select{background-color:#F8FAFC;border-color:#E2E8F0;border-width:1px 1px 1px 1px;border-radius:10px 10px 10px 10px;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group .elementor-select-wrapper::before{color:#E2E8F0;}.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button-next{background-color:#5EC3BD;color:#FFFFFF;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-button[type="submit"]{background-color:#5EC3BD;color:#FFFFFF;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-button[type="submit"] svg *{fill:#FFFFFF;}.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button-next:hover{background-color:#4EB1AB;color:#ffffff;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-button[type="submit"]:hover{background-color:#4EB1AB;color:#ffffff;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-button{border-radius:10px 10px 10px 10px;padding:13px 32px 13px 32px;}.elementor-18879 .elementor-element.elementor-element-f0748ab{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}@media(min-width:769px){.elementor-18879 .elementor-element.elementor-element-68ea2aae{--content-width:1140px;}}@media(max-width:1024px){.elementor-18879 .elementor-element.elementor-element-68ea2aae{--padding-top:50px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}}@media(max-width:768px){.elementor-18879 .elementor-element.elementor-element-68ea2aae{--padding-top:20px;--padding-bottom:20px;--padding-left:12px;--padding-right:12px;}}/* Start custom CSS for form, class: .elementor-element-f0748ab *//* ============================================================
   DUX / DUAS TORRES - FORMULÁRIO MULTI-ETAPAS ELEMENTOR PRO
   Design System & Tokens Oficiais: #5EC3BD, #FCA54C, #FFFFFF
   ============================================================ */

.elementor-18879 .elementor-element.elementor-element-f0748ab,
.dux-form-container {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: clip !important;
  max-width: 100% !important;
  box-sizing: border-box !important;

  --dux-primary: #5EC3BD;
  --dux-primary-hover: #4EB1AB;
  --dux-primary-light: rgba(94, 195, 189, 0.12);
  --dux-primary-focus: rgba(94, 195, 189, 0.22);
  --dux-secondary: #FCA54C;
  --dux-secondary-hover: #EE963B;
  
  --dux-bg-card: #FFFFFF;
  --dux-bg-input: #F8FAFC;
  --dux-bg-input-focus: #FFFFFF;
  
  --dux-border: #E2E8F0;
  --dux-border-hover: #CBD5E1;
  --dux-border-focus: #5EC3BD;
  
  --dux-text-heading: #111827;
  --dux-text-body: #374151;
  --dux-text-muted: #6B7280;
  --dux-text-placeholder: #94A3B8;
  
  --dux-badge-req-bg: #FEF2F2;
  --dux-badge-req-border: #FEE2E2;
  --dux-badge-req-text: #EF4444;
  
  --dux-badge-opt-bg: #ECFDF5;
  --dux-badge-opt-border: #D1FAE5;
  --dux-badge-opt-text: #10B981;
  
  --dux-radius-card: 20px;
  --dux-radius-input: 10px;
  --dux-radius-button: 10px;
  
  --dux-shadow-card: 0 20px 40px -15px rgba(15, 23, 42, 0.07), 0 1px 3px 0 rgba(0, 0, 0, 0.05);
  --dux-shadow-btn: 0 8px 20px -4px rgba(94, 195, 189, 0.38);
  --dux-shadow-btn-hover: 0 12px 24px -4px rgba(94, 195, 189, 0.48);
  
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Card Wrapper Principal */
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-form,
.dux-form-container .elementor-form {
  display: flow-root !important;
  position: relative !important;
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: clip !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  background-color: var(--dux-bg-card);
  border-radius: var(--dux-radius-card);
  padding: 44px 48px;
  box-shadow: var(--dux-shadow-card);
  border: 1px solid #EDF2F7;
  transition: all 0.3s ease;
  margin: 0 auto;
}

/* ============================================================
   ANTI-SCROLLBAR UNIVERSAL (Elimina qualquer barra interna de rolagem)
   ============================================================ */
.elementor-18879 .elementor-element.elementor-element-f0748ab,
.dux-form-container,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-form,
.dux-form-container .elementor-form,
.dux-form-widget,
.dux-form-widget .elementor-form,
.elementor-form-fields-wrapper {
  overflow: visible !important;
  overflow-y: visible !important;
  scrollbar-width: none !important; /* Firefox */
  -ms-overflow-style: none !important; /* IE/Edge */
}

.elementor-18879 .elementor-element.elementor-element-f0748ab::-webkit-scrollbar,
.dux-form-container::-webkit-scrollbar,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-form::-webkit-scrollbar,
.dux-form-container .elementor-form::-webkit-scrollbar,
.dux-form-widget::-webkit-scrollbar,
.dux-form-widget .elementor-form::-webkit-scrollbar,
.elementor-form-fields-wrapper::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

/* ------------------------------------------------------------
   STEPPER PROGRESS BAR (INDICADORES DE ETAPAS)
   Divisão matemática perfeita (25% por etapa), centralização simétrica
   e conectores com position: absolute entre os círculos de 34px
   ------------------------------------------------------------ */
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators,
.dux-form-container .e-form__indicators,
.dux-form-widget .e-form__indicators {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto 34px auto !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  padding-bottom: 24px;
  border-bottom: 1px solid #F1F5F9;
  box-sizing: border-box;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator,
.dux-form-container .e-form__indicators__indicator,
.dux-form-widget .e-form__indicators__indicator {
  flex: 1 1 0 !important;
  width: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  position: relative !important;
  font-size: 13px;
  font-weight: 500;
  color: var(--dux-text-muted);
  transition: all 0.25s ease;
  box-sizing: border-box;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator__number,
.dux-form-container .e-form__indicators__indicator__number,
.dux-form-widget .e-form__indicators__indicator__number {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  background-color: #F1F5F9;
  color: var(--dux-text-muted);
  border: 2px solid #E2E8F0;
  margin-bottom: 8px !important;
  position: relative !important;
  z-index: 2 !important;
  transition: all 0.25s ease;
  box-sizing: border-box;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator__label,
.dux-form-container .e-form__indicators__indicator__label,
.dux-form-widget .e-form__indicators__indicator__label {
  white-space: nowrap !important;
  font-size: 13px;
  line-height: 1.2;
}

/* Etapa Ativa */
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator--state-active,
.dux-form-container .e-form__indicators__indicator--state-active,
.dux-form-widget .e-form__indicators__indicator--state-active {
  color: var(--dux-text-heading);
  font-weight: 700;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number,
.dux-form-container .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number,
.dux-form-widget .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number {
  background-color: var(--dux-primary);
  color: #FFFFFF;
  border-color: var(--dux-primary);
  box-shadow: 0 0 0 4px var(--dux-primary-light);
}

/* Etapa Concluída */
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator--state-completed,
.dux-form-container .e-form__indicators__indicator--state-completed,
.dux-form-widget .e-form__indicators__indicator--state-completed {
  color: var(--dux-primary);
  font-weight: 600;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number,
.dux-form-container .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number,
.dux-form-widget .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
  background-color: var(--dux-primary);
  color: #FFFFFF;
  border-color: var(--dux-primary);
}

/* Separador de etapas completamente oculto para eliminar qualquer marcação espúria no topo */
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator__separator,
.dux-form-container .e-form__indicators__indicator__separator,
.dux-form-widget .e-form__indicators__indicator__separator,
.e-form__indicators__indicator__separator {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  border: none !important;
  content: none !important;
  pointer-events: none !important;
}

/* ------------------------------------------------------------
   ISOLAMENTO RIGOROSO DE ETAPAS MULTI-STEP ELEMENTOR PRO
   Garante que etapas inativas (.elementor-hidden) sejam estritamente
   ocultadas. A etapa ativa é .e-form__step:not(.elementor-hidden).
   ------------------------------------------------------------ */
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step.elementor-hidden,
.dux-form-container .e-form__step.elementor-hidden,
.dux-form-widget .e-form__step.elementor-hidden,
.elementor-field-group.e-form__step.elementor-hidden,
.e-form__step.elementor-hidden {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ------------------------------------------------------------
   GRID & DISPOSIÇÃO DE CAMPOS (DESKTOP >= 1025px)
   Envolvido estritamente para Desktop, reservando 50% apenas para telas amplas
   ------------------------------------------------------------ */
@media (min-width: 1025px) {
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-form-fields-wrapper,
  .dux-form-container .elementor-form-fields-wrapper,
  .dux-form-widget .elementor-form-fields-wrapper,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step:not(.elementor-hidden),
  .dux-form-container .e-form__step:not(.elementor-hidden),
  .dux-form-widget .e-form__step:not(.elementor-hidden),
  .elementor-field-group.e-form__step:not(.elementor-hidden),
  .e-form__step:not(.elementor-hidden),
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step.e-form__step--active,
  .dux-form-container .e-form__step.e-form__step--active,
  .dux-form-widget .e-form__step.e-form__step--active,
  .elementor-field-group.e-form__step.e-form__step--active,
  .e-form__step.e-form__step--active {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 0 24px !important;
    column-gap: 24px !important;
    row-gap: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group.elementor-column,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step .elementor-field-group.elementor-column,
  .dux-form-container .elementor-field-group,
  .dux-form-container .elementor-field-group.elementor-column,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column,
  .dux-form-container .e-form__step .elementor-field-group,
  .dux-form-container .e-form__step .elementor-field-group.elementor-column,
  .dux-form-widget .elementor-field-group,
  .dux-form-widget .elementor-field-group.elementor-column,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column,
  .dux-form-widget .e-form__step .elementor-field-group,
  .dux-form-widget .e-form__step .elementor-field-group.elementor-column,
  .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column,
  .e-form__step .elementor-field-group,
  .e-form__step .elementor-field-group.elementor-column {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group.elementor-column.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step .elementor-field-group.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step .elementor-field-group.elementor-column.elementor-col-50,
  .dux-form-container .elementor-field-group.elementor-col-50,
  .dux-form-container .elementor-field-group.elementor-column.elementor-col-50,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-50,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-50,
  .dux-form-container .e-form__step .elementor-field-group.elementor-col-50,
  .dux-form-container .e-form__step .elementor-field-group.elementor-column.elementor-col-50,
  .dux-form-widget .elementor-field-group.elementor-col-50,
  .dux-form-widget .elementor-field-group.elementor-column.elementor-col-50,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-50,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-50,
  .dux-form-widget .e-form__step .elementor-field-group.elementor-col-50,
  .dux-form-widget .e-form__step .elementor-field-group.elementor-column.elementor-col-50,
  .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-50,
  .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-50,
  .e-form__step .elementor-field-group.elementor-col-50,
  .e-form__step .elementor-field-group.elementor-column.elementor-col-50 {
    width: calc(50% - 12px) !important;
    flex: 0 0 calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    box-sizing: border-box !important;
    margin-bottom: 24px !important;
  }

  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group.elementor-column.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step .elementor-field-group.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step .elementor-field-group.elementor-column.elementor-col-100,
  .dux-form-container .elementor-field-group.elementor-col-100,
  .dux-form-container .elementor-field-group.elementor-column.elementor-col-100,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-100,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-100,
  .dux-form-container .e-form__step .elementor-field-group.elementor-col-100,
  .dux-form-container .e-form__step .elementor-field-group.elementor-column.elementor-col-100,
  .dux-form-widget .elementor-field-group.elementor-col-100,
  .dux-form-widget .elementor-field-group.elementor-column.elementor-col-100,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-100,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-100,
  .dux-form-widget .e-form__step .elementor-field-group.elementor-col-100,
  .dux-form-widget .e-form__step .elementor-field-group.elementor-column.elementor-col-100,
  .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-100,
  .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-100,
  .e-form__step .elementor-field-group.elementor-col-100,
  .e-form__step .elementor-field-group.elementor-column.elementor-col-100 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 24px !important;
  }
}

/* Trava de campos no modo Desktop do editor Elementor (caso o painel lateral reduza a viewport) */
body.elementor-device-desktop .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step:not(.elementor-hidden),
body.elementor-device-desktop .dux-form-container .e-form__step:not(.elementor-hidden),
body.elementor-device-desktop .elementor-form-fields-wrapper,
body.elementor-device-desktop .e-form__step:not(.elementor-hidden) {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  gap: 0 24px !important;
  column-gap: 24px !important;
}
body.elementor-device-desktop .elementor-field-group.elementor-col-50,
body.elementor-device-desktop .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-50 {
  width: calc(50% - 12px) !important;
  flex: 0 0 calc(50% - 12px) !important;
  max-width: calc(50% - 12px) !important;
  margin-bottom: 24px !important;
}
body.elementor-device-desktop .elementor-field-group.elementor-col-100,
body.elementor-device-desktop .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-100 {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  margin-bottom: 24px !important;
}

/* ------------------------------------------------------------
   CABEÇALHO EDITORIAL DENTRO DA ETAPA
   ------------------------------------------------------------ */
.dux-step-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 26px;
  padding-bottom: 18px;
  border-bottom: 1px solid #F1F5F9;
  gap: 16px;
  box-sizing: border-box;
}

.dux-step-header-left {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.dux-accent-bar {
  width: 4px;
  height: 42px;
  background: linear-gradient(180deg, var(--dux-primary) 0%, #4EB1AB 100%);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
}

.dux-step-title {
  margin: 0 0 4px 0;
  font-size: 21px;
  font-weight: 700;
  color: var(--dux-text-heading);
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.dux-step-subtitle {
  margin: 0;
  font-size: 13.5px;
  color: var(--dux-text-muted);
  line-height: 1.45;
}

.dux-step-header-right {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

/* Badges Visuais */
.dux-badge-required {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  background-color: var(--dux-badge-req-bg);
  border: 1px solid var(--dux-badge-req-border);
  color: var(--dux-badge-req-text);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.dux-asterisk {
  color: var(--dux-badge-req-text);
  font-weight: 800;
  font-size: 13px;
}

.dux-tag-optional {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  background-color: var(--dux-badge-opt-bg);
  border: 1px solid var(--dux-badge-opt-border);
  color: var(--dux-badge-opt-text);
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 600;
  margin-left: 8px;
  letter-spacing: 0.01em;
  vertical-align: middle;
}

/* ------------------------------------------------------------
   CAMPOS, LABELS & INPUTS
   Espaçamento ajustado: margin-bottom de 6px no label
   ------------------------------------------------------------ */
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group,
.dux-form-container .elementor-field-group,
.dux-form-widget .elementor-field-group {
  box-sizing: border-box;
  margin-bottom: 24px !important;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-label,
.dux-form-container .elementor-field-label {
  display: flex;
  align-items: center;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--dux-text-heading);
  margin-bottom: 6px !important;
  margin-top: 0 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-mark-required,
.dux-form-container .elementor-mark-required {
  color: var(--dux-badge-req-text);
  font-weight: 700;
  margin-left: 3px;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-textual,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field,
.elementor-18879 .elementor-element.elementor-element-f0748ab select.elementor-field,
.elementor-18879 .elementor-element.elementor-element-f0748ab textarea.elementor-field,
.dux-form-container .elementor-field-textual,
.dux-form-container .elementor-field,
.dux-form-container select.elementor-field,
.dux-form-container textarea.elementor-field {
  width: 100%;
  max-width: 100% !important;
  background-color: var(--dux-bg-input);
  border: 1.5px solid var(--dux-border);
  border-radius: var(--dux-radius-input);
  padding: 12px 16px;
  font-size: 14px;
  color: var(--dux-text-heading);
  font-family: inherit;
  transition: all 0.2s ease-in-out;
  box-sizing: border-box;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-textual:hover,
.elementor-18879 .elementor-element.elementor-element-f0748ab select.elementor-field:hover,
.elementor-18879 .elementor-element.elementor-element-f0748ab textarea.elementor-field:hover,
.dux-form-container .elementor-field-textual:hover,
.dux-form-container select.elementor-field:hover,
.dux-form-container textarea.elementor-field:hover {
  border-color: var(--dux-border-hover);
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-textual:focus,
.elementor-18879 .elementor-element.elementor-element-f0748ab select.elementor-field:focus,
.elementor-18879 .elementor-element.elementor-element-f0748ab textarea.elementor-field:focus,
.dux-form-container .elementor-field-textual:focus,
.dux-form-container select.elementor-field:focus,
.dux-form-container textarea.elementor-field:focus {
  background-color: var(--dux-bg-input-focus);
  border-color: var(--dux-border-focus);
  box-shadow: 0 0 0 3px var(--dux-primary-focus);
  outline: none;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field::placeholder,
.dux-form-container .elementor-field::placeholder {
  color: var(--dux-text-placeholder);
  font-weight: 400;
}

/* ------------------------------------------------------------
   SELECT & ELIMINAÇÃO TOTAL DA SETA DUPLA DO ELEMENTOR PRO
   Oculta todos os pseudo-elementos e ícones nativos do Elementor Pro.
   IMPORTANTE: select::-ms-expand isolado em regra própria para
   não invalidar a lista no Chrome/Blink (conforme spec W3C).
   ------------------------------------------------------------ */
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-select-wrapper:before,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-select-wrapper:after,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-select-wrapper::before,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-select-wrapper::after,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-select-wrapper > *:not(select),
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-subgroup:before,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-subgroup:after,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-subgroup::before,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-subgroup::after,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-select-icon,
.dux-form-container .elementor-select-wrapper:before,
.dux-form-container .elementor-select-wrapper:after,
.dux-form-container .elementor-select-wrapper::before,
.dux-form-container .elementor-select-wrapper::after,
.dux-form-container .elementor-select-wrapper > *:not(select),
.dux-form-container .elementor-field-subgroup:before,
.dux-form-container .elementor-field-subgroup:after,
.dux-form-container .elementor-field-subgroup::before,
.dux-form-container .elementor-field-subgroup::after,
.dux-form-container .elementor-select-icon,
.dux-form-widget .elementor-select-wrapper:before,
.dux-form-widget .elementor-select-wrapper:after,
.dux-form-widget .elementor-select-wrapper::before,
.dux-form-widget .elementor-select-wrapper::after,
.dux-form-widget .elementor-select-wrapper > *:not(select),
.dux-form-widget .elementor-field-subgroup:before,
.dux-form-widget .elementor-field-subgroup:after,
.dux-form-widget .elementor-field-subgroup::before,
.dux-form-widget .elementor-field-subgroup::after,
.dux-form-widget .elementor-select-icon {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Regra isolada de compatibilidade legado (não invalida Chrome) */
.elementor-18879 .elementor-element.elementor-element-f0748ab select::-ms-expand,
.dux-form-container select::-ms-expand,
.dux-form-widget select::-ms-expand,
select::-ms-expand {
  display: none !important;
}

/* Elimina a caixa externa / borda dupla do wrapper de select do Elementor Pro */
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-select-wrapper,
.dux-form-container .elementor-select-wrapper,
.dux-form-widget .elementor-select-wrapper {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab select.elementor-field,
.dux-form-container select.elementor-field,
.dux-form-widget select.elementor-field,
.dux-form-container .elementor-select-wrapper select,
.dux-form-widget .elementor-select-wrapper select,
select.elementor-field {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px !important;
  padding-right: 40px !important;
  cursor: pointer;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* ------------------------------------------------------------
   CHECKBOXES EM CARDS / PILLS ELEGANTES (BUPPY PET)
   ------------------------------------------------------------ */
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-type-checkbox .elementor-field-subgroup,
.dux-form-container .elementor-field-type-checkbox .elementor-field-subgroup,
.dux-form-widget .elementor-field-type-checkbox .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 6px !important;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-type-checkbox .elementor-field-option,
.dux-form-container .elementor-field-type-checkbox .elementor-field-option,
.dux-form-widget .elementor-field-type-checkbox .elementor-field-option {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background-color: #F8FAFC !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 10px !important;
  padding: 8px 14px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  font-size: 13.5px !important;
  color: #1E293B !important;
  font-weight: 500 !important;
  user-select: none !important;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-type-checkbox .elementor-field-option:hover,
.dux-form-container .elementor-field-type-checkbox .elementor-field-option:hover,
.dux-form-widget .elementor-field-type-checkbox .elementor-field-option:hover {
  border-color: #5EC3BD !important;
  background-color: #F0FDFA !important;
  color: #0F766E !important;
  transform: translateY(-1px) !important;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-type-checkbox .elementor-field-option input[type="checkbox"],
.dux-form-container .elementor-field-type-checkbox .elementor-field-option input[type="checkbox"],
.dux-form-widget .elementor-field-type-checkbox .elementor-field-option input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  accent-color: #5EC3BD !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-type-checkbox .elementor-field-option label,
.dux-form-container .elementor-field-type-checkbox .elementor-field-option label,
.dux-form-widget .elementor-field-type-checkbox .elementor-field-option label {
  cursor: pointer !important;
  margin: 0 !important;
  font-size: 13.5px !important;
  color: inherit !important;
  font-weight: inherit !important;
}

/* Termos de Aceite */
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-type-acceptance .elementor-field-subgroup,
.dux-form-container .elementor-field-type-acceptance .elementor-field-subgroup {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 18px;
  background-color: #F8FAFC;
  border: 1px solid var(--dux-border);
  border-radius: var(--dux-radius-input);
  margin-top: 8px;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-type-acceptance input[type="checkbox"],
.dux-form-container .elementor-field-type-acceptance input[type="checkbox"] {
  accent-color: var(--dux-primary);
  width: 18px;
  height: 18px;
  margin-top: 2px;
  cursor: pointer;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-type-acceptance label,
.dux-form-container .elementor-field-type-acceptance label {
  font-size: 13px;
  color: var(--dux-text-body);
  line-height: 1.5;
  cursor: pointer;
}

/* ------------------------------------------------------------
   MENSAGENS DE FEEDBACK (SUCESSO & ERRO) - VISUAL ELEGANTE
   ------------------------------------------------------------ */
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-message,
.dux-form-container .elementor-message,
.dux-form-widget .elementor-message,
.elementor-message {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-sizing: border-box !important;
  border-radius: 10px !important;
  padding: 10px 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  transition: all 0.3s ease !important;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-message.elementor-message-success,
.dux-form-container .elementor-message.elementor-message-success,
.dux-form-widget .elementor-message.elementor-message-success,
.elementor-message.elementor-message-success {
  background-color: #ECFDF5 !important;
  border: 1.5px solid #A7F3D0 !important;
  color: #065F46 !important;
}

.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-message.elementor-message-danger,
.dux-form-container .elementor-message.elementor-message-danger,
.dux-form-widget .elementor-message.elementor-message-danger,
.elementor-message.elementor-message-danger {
  background-color: #FEF2F2 !important;
  border: 1.5px solid #FECACA !important;
  color: #991B1B !important;
}

/* ------------------------------------------------------------
   BOTÕES DE AÇÃO E NAVEGAÇÃO - PADRÃO BASE / DESKTOP (>= 768px)
   Linha divisória superior ÚNICA apenas no container raiz
   Alinhamento horizontal à direita, altura cravada em 46px
   ------------------------------------------------------------ */
/* Linha divisória superior única no wrapper raiz do campo de submit - barra flex de ações */
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-type-submit,
.dux-form-container .elementor-field-type-submit,
.dux-form-widget .elementor-field-type-submit {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  margin-top: 36px !important;
  padding-top: 24px !important;
  border-top: 1px solid #F1F5F9 !important;
  box-sizing: border-box !important;
  min-height: 52px !important;
}

/* ============================================================
   A) ESTILO VISUAL DOS BOTÕES (Cores 100% Ciano Dux, sem grafite)
   ============================================================ */
/* Base tipográfica e interatividade dos botões */
.elementor-form .e-form__buttons button,
.elementor-form .e-form__buttons .elementor-button,
.e-form__buttons button,
.e-form__buttons .elementor-button,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons button,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .elementor-button,
.dux-form-container .e-form__buttons button,
.dux-form-container .e-form__buttons .elementor-button {
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Botão Próxima / Enviar: Gradiente Turquesa Ciano Dux (#5EC3BD a #4EB1AB) */
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--next,
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button-next,
.elementor-form .e-form__buttons .elementor-button[type='submit'],
.e-form__buttons .e-form__buttons__wrapper__button--next,
.e-form__buttons .e-form__buttons__wrapper__button-next,
.e-form__buttons .elementor-button[type='submit'],
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button--next,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button-next,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-button[type='submit'],
.dux-form-container .e-form__buttons__wrapper__button--next,
.dux-form-container .e-form__buttons__wrapper__button-next,
.dux-form-container .elementor-button[type='submit'] {
  background: linear-gradient(135deg, #5EC3BD 0%, #4EB1AB 100%) !important;
  background-color: #5EC3BD !important;
  color: #FFFFFF !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(94, 195, 189, 0.35) !important;
  border-radius: 10px !important;
}

/* Força texto branco no botão Próxima / Enviar */
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--next *,
.elementor-form .e-form__buttons .elementor-button[type='submit'] *,
.e-form__buttons .e-form__buttons__wrapper__button--next *,
.e-form__buttons .elementor-button[type='submit'] *,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button--next *,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-button[type='submit'] *,
.dux-form-container .e-form__buttons__wrapper__button--next *,
.dux-form-container .elementor-button[type='submit'] * {
  color: #FFFFFF !important;
}

/* Hover e Active do botão Próxima / Enviar */
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--next:hover,
.elementor-form .e-form__buttons .elementor-button[type='submit']:hover,
.e-form__buttons .e-form__buttons__wrapper__button--next:hover,
.e-form__buttons .elementor-button[type='submit']:hover,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button--next:hover,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-button[type='submit']:hover,
.dux-form-container .e-form__buttons__wrapper__button--next:hover,
.dux-form-container .elementor-button[type='submit']:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(94, 195, 189, 0.45) !important;
  filter: brightness(1.05) !important;
}

.e-form__buttons .e-form__buttons__wrapper__button--next:active,
.e-form__buttons .elementor-button[type='submit']:active,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button--next:active,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-button[type='submit']:active,
.dux-form-container .e-form__buttons__wrapper__button--next:active,
.dux-form-container .elementor-button[type='submit']:active {
  transform: translateY(0) !important;
}

/* Botão Voltar: Outline Ciano Dux com Fundo Branco */
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--previous,
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button-previous,
.elementor-form .e-form__buttons button[class*='previous'],
.elementor-form .e-form__buttons .elementor-button[class*='previous'],
.e-form__buttons .e-form__buttons__wrapper__button--previous,
.e-form__buttons .e-form__buttons__wrapper__button-previous,
.e-form__buttons button[class*='previous'],
.e-form__buttons .elementor-button[class*='previous'],
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button--previous,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button-previous,
.elementor-18879 .elementor-element.elementor-element-f0748ab button[class*='previous'],
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-button[class*='previous'],
.dux-form-container .e-form__buttons__wrapper__button--previous,
.dux-form-container .e-form__buttons__wrapper__button-previous,
.dux-form-container button[class*='previous'],
.dux-form-container .elementor-button[class*='previous'],
button[class*='previous'],
.elementor-button[class*='previous'] {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
  color: #5EC3BD !important;
  border: 2px solid #5EC3BD !important;
  box-shadow: none !important;
  border-radius: 10px !important;
  transition: all 0.2s ease !important;
}

/* Força cor Ciano (#5EC3BD) em todos os filhos e spans do botão Voltar */
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--previous *,
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button-previous *,
.e-form__buttons .e-form__buttons__wrapper__button--previous *,
.e-form__buttons .e-form__buttons__wrapper__button-previous *,
.e-form__buttons button[class*='previous'] *,
.e-form__buttons .elementor-button[class*='previous'] *,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button--previous *,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button-previous *,
.elementor-18879 .elementor-element.elementor-element-f0748ab button[class*='previous'] *,
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-button[class*='previous'] *,
.dux-form-container .e-form__buttons__wrapper__button--previous *,
.dux-form-container .e-form__buttons__wrapper__button-previous *,
.dux-form-container button[class*='previous'] *,
.dux-form-container .elementor-button[class*='previous'] *,
button[class*='previous'] * {
  color: #5EC3BD !important;
}

/* Hover e Active do botão Voltar */
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--previous:hover,
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button-previous:hover,
.e-form__buttons .e-form__buttons__wrapper__button--previous:hover,
.e-form__buttons .e-form__buttons__wrapper__button-previous:hover,
.e-form__buttons button[class*='previous']:hover,
.e-form__buttons .elementor-button[class*='previous']:hover,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button--previous:hover,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button-previous:hover,
.elementor-18879 .elementor-element.elementor-element-f0748ab button[class*='previous']:hover,
.dux-form-container .e-form__buttons__wrapper__button--previous:hover,
.dux-form-container .e-form__buttons__wrapper__button-previous:hover,
.dux-form-container button[class*='previous']:hover {
  background: #F0FDFA !important;
  background-color: #F0FDFA !important;
  color: #4EB1AB !important;
  border-color: #4EB1AB !important;
  transform: translateY(-1px) !important;
}

.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--previous:hover *,
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button-previous:hover *,
.e-form__buttons .e-form__buttons__wrapper__button--previous:hover *,
.e-form__buttons .e-form__buttons__wrapper__button-previous:hover *,
.e-form__buttons button[class*='previous']:hover *,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button--previous:hover *,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button-previous:hover *,
.elementor-18879 .elementor-element.elementor-element-f0748ab button[class*='previous']:hover *,
.dux-form-container .e-form__buttons__wrapper__button--previous:hover *,
.dux-form-container .e-form__buttons__wrapper__button-previous:hover *,
button[class*='previous']:hover * {
  color: #4EB1AB !important;
}

.e-form__buttons .e-form__buttons__wrapper__button--previous:active,
.e-form__buttons .e-form__buttons__wrapper__button-previous:active,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button--previous:active,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper__button-previous:active,
.dux-form-container .e-form__buttons__wrapper__button--previous:active,
button[class*='previous']:active {
  transform: translateY(0) !important;
}

/* ============================================================
   B) DISPOSIÇÃO DESKTOP (Telas > 1024px)
   ============================================================ */
@media (min-width: 1025px) {
/* Container de navegação no Desktop: alinhamento horizontal à direita */
.elementor-form .e-form__buttons,
.e-form__buttons,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons,
.dux-form-container .elementor-form .e-form__buttons,
.dux-form-container .e-form__buttons,
body.elementor-device-desktop .e-form__buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-left: auto !important;
  gap: 14px !important;
  width: auto !important;
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Wrappers individuais de botão no Desktop: NUNCA width 100%, sempre inline-flex e width auto */
.e-form__buttons .e-form__buttons__wrapper,
.e-form__buttons .e-form__buttons__wrapper--previous,
.e-form__buttons .e-form__buttons__wrapper-previous,
.e-form__buttons .e-form__buttons__wrapper--next,
.e-form__buttons .e-form__buttons__wrapper-next,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper,
.dux-form-container .e-form__buttons .e-form__buttons__wrapper,
.dux-form-container .e-form__buttons__wrapper,
body.elementor-device-desktop .e-form__buttons__wrapper {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* Ordenação dos wrappers no Desktop: Voltar à esquerda (order: 1), Próxima/Enviar à direita (order: 2) */
.e-form__buttons .e-form__buttons__wrapper--previous,
.e-form__buttons .e-form__buttons__wrapper-previous,
.e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--previous),
.e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button-previous),
.e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper--previous,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--previous),
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
.dux-form-container .e-form__buttons .e-form__buttons__wrapper--previous,
.dux-form-container .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--previous),
.dux-form-container .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']) {
  order: 1 !important;
}

.e-form__buttons .e-form__buttons__wrapper--next,
.e-form__buttons .e-form__buttons__wrapper-next,
.e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--next),
.e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button-next),
.e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper--next,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--next),
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
.dux-form-container .e-form__buttons .e-form__buttons__wrapper--next,
.dux-form-container .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--next),
.dux-form-container .e-form__buttons .e-form__buttons__wrapper:has([type='submit']) {
  order: 2 !important;
}

/* Dimensões dos botões no Desktop: altura cravada em 46px */
.e-form__buttons button,
.e-form__buttons .elementor-button,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons button,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .elementor-button,
.dux-form-container .e-form__buttons button,
.dux-form-container .e-form__buttons .elementor-button,
body.elementor-device-desktop .e-form__buttons button,
body.elementor-device-desktop .e-form__buttons .elementor-button {
  width: auto !important;
  max-width: max-content !important;
  flex: 0 0 auto !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Botão Voltar no Desktop: order: 1 */
.e-form__buttons .e-form__buttons__wrapper__button--previous,
.e-form__buttons .e-form__buttons__wrapper__button-previous,
.e-form__buttons button[class*='previous'],
.e-form__buttons .elementor-button[class*='previous'],
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper__button--previous,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper__button-previous,
.dux-form-container .e-form__buttons .e-form__buttons__wrapper__button--previous,
.dux-form-container .e-form__buttons .e-form__buttons__wrapper__button-previous {
  order: 1 !important;
  padding: 0 24px !important;
}

/* Botão Próxima / Enviar no Desktop: order: 2 */
.e-form__buttons .e-form__buttons__wrapper__button--next,
.e-form__buttons .e-form__buttons__wrapper__button-next,
.e-form__buttons .elementor-button[type='submit'],
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper__button--next,
.elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .elementor-button[type='submit'],
.dux-form-container .e-form__buttons .e-form__buttons__wrapper__button--next,
.dux-form-container .e-form__buttons .elementor-button[type='submit'] {
  order: 2 !important;
  padding: 0 32px !important;
}

/* Mensagem de feedback alinhada à esquerda na mesma linha horizontal dos botões no Desktop (V34) */
.elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-message,
.dux-form-container .elementor-message,
.dux-form-widget .elementor-message,
body.elementor-device-desktop .elementor-message {
  position: relative !important;
  float: left !important;
  margin-top: -8px !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: calc(100% - 280px) !important;
  z-index: 5 !important;
  box-sizing: border-box !important;
  display: flex !important;
}
}

/* ============================================================
   C) DISPOSIÇÃO TABLET & MOBILE (Telas <= 1024px e Modos do Editor)
   ============================================================ */
@media (max-width: 1024px) {
  /* ------------------------------------------------------------
     STEPPER PROGRESS BAR NO TABLET (<= 1024px e Modos do Editor)
     Quebra de linha suave nos rótulos para evitar sobreposição
     ------------------------------------------------------------ */
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators,
  .dux-form-container .e-form__indicators,
  .dux-form-widget .e-form__indicators,
  body.elementor-device-tablet .e-form__indicators {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 28px auto !important;
    padding-bottom: 20px !important;
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
  }

  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator,
  .dux-form-container .e-form__indicators__indicator,
  .dux-form-widget .e-form__indicators__indicator,
  body.elementor-device-tablet .e-form__indicators__indicator {
    flex: 1 1 25% !important;
    width: 25% !important;
    max-width: 25% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
  }

  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator__number,
  .dux-form-container .e-form__indicators__indicator__number,
  .dux-form-widget .e-form__indicators__indicator__number,
  body.elementor-device-tablet .e-form__indicators__indicator__number {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    margin: 0 auto 8px auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator__label,
  .dux-form-container .e-form__indicators__indicator__label,
  .dux-form-widget .e-form__indicators__indicator__label,
  body.elementor-device-tablet .e-form__indicators__indicator__label {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-align: center !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    max-width: 110px !important;
    margin: 0 auto !important;
    display: block !important;
    box-sizing: border-box !important;
  }

  /* ------------------------------------------------------------
     COLAPSO PARA 1 COLUNA VERTICAL NO TABLET & MOBILE (CAMPOS 100%)
     Elimina desalinhamento e quebras de rótulos em viewports reduzidas
     ------------------------------------------------------------ */
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-form-fields-wrapper,
  .dux-form-container .elementor-form-fields-wrapper,
  .dux-form-widget .elementor-form-fields-wrapper,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step:not(.elementor-hidden),
  .dux-form-container .e-form__step:not(.elementor-hidden),
  .dux-form-widget .e-form__step:not(.elementor-hidden),
  .elementor-field-group.e-form__step:not(.elementor-hidden),
  .e-form__step:not(.elementor-hidden),
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step.e-form__step--active,
  .dux-form-container .e-form__step.e-form__step--active,
  .dux-form-widget .e-form__step.e-form__step--active,
  .elementor-field-group.e-form__step.e-form__step--active,
  .e-form__step.e-form__step--active {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group.elementor-column,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step.e-form__step--active .elementor-field-group,
  .dux-form-container .elementor-field-group,
  .dux-form-container .elementor-field-group.elementor-col-50,
  .dux-form-container .elementor-field-group.elementor-col-100,
  .dux-form-container .elementor-field-group.elementor-column,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .dux-form-container .e-form__step.e-form__step--active .elementor-field-group,
  .dux-form-widget .elementor-field-group,
  .dux-form-widget .elementor-field-group.elementor-col-50,
  .dux-form-widget .elementor-field-group.elementor-col-100,
  .dux-form-widget .elementor-field-group.elementor-column,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .dux-form-widget .e-form__step.e-form__step--active .elementor-field-group,
  .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .e-form__step.e-form__step--active .elementor-field-group {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 18px !important;
    box-sizing: border-box !important;
  }

  .elementor-form .e-form__buttons,
  .e-form__buttons,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons,
  .dux-form-container .elementor-form .e-form__buttons,
  .dux-form-container .e-form__buttons,
  body.elementor-device-tablet .e-form__buttons,
  body.elementor-device-mobile .e-form__buttons {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex: 1 1 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
    gap: 12px !important;
    border: none !important;
    padding: 0 !important;
  }

  .e-form__buttons .e-form__buttons__wrapper,
  .e-form__buttons .e-form__buttons__wrapper--previous,
  .e-form__buttons .e-form__buttons__wrapper-previous,
  .e-form__buttons .e-form__buttons__wrapper--next,
  .e-form__buttons .e-form__buttons__wrapper-next,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper,
  .dux-form-container .e-form__buttons__wrapper,
  body.elementor-device-tablet .e-form__buttons__wrapper,
  body.elementor-device-mobile .e-form__buttons__wrapper {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex: 1 1 100% !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
    text-align: center !important;
    padding: 0 !important;
    border: none !important;
  }

  .e-form__buttons button,
  .e-form__buttons .elementor-button,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons button,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .elementor-button,
  .dux-form-container .e-form__buttons button,
  .dux-form-container .e-form__buttons .elementor-button,
  body.elementor-device-tablet .e-form__buttons button,
  body.elementor-device-tablet .e-form__buttons .elementor-button,
  body.elementor-device-mobile .e-form__buttons button,
  body.elementor-device-mobile .e-form__buttons .elementor-button {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex: 1 1 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 20px !important;
  }

  /* 1. Wrappers: Próxima/Enviar no topo (order: 1) */
  .e-form__buttons .e-form__buttons__wrapper--next,
  .e-form__buttons .e-form__buttons__wrapper-next,
  .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--next),
  .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button-next),
  .e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper--next,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--next),
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper--next,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--next),
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
  body.elementor-device-tablet .e-form__buttons__wrapper--next,
  body.elementor-device-tablet .e-form__buttons__wrapper:has([type='submit']),
  body.elementor-device-mobile .e-form__buttons__wrapper--next,
  body.elementor-device-mobile .e-form__buttons__wrapper:has([type='submit']) {
    order: 1 !important;
  }

  /* 2. Wrappers: Voltar embaixo (order: 2) */
  .e-form__buttons .e-form__buttons__wrapper--previous,
  .e-form__buttons .e-form__buttons__wrapper-previous,
  .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--previous),
  .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button-previous),
  .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper--previous,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--previous),
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper--previous,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--previous),
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
  body.elementor-device-tablet .e-form__buttons__wrapper--previous,
  body.elementor-device-tablet .e-form__buttons__wrapper:has(button[class*='previous']),
  body.elementor-device-mobile .e-form__buttons__wrapper--previous,
  body.elementor-device-mobile .e-form__buttons__wrapper:has(button[class*='previous']) {
    order: 2 !important;
  }

  /* 3. Botões: Próxima/Enviar no topo (order: 1) */
  .e-form__buttons .e-form__buttons__wrapper__button--next,
  .e-form__buttons .e-form__buttons__wrapper__button-next,
  .e-form__buttons .elementor-button[type='submit'],
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper__button--next,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .elementor-button[type='submit'],
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper__button--next,
  .dux-form-container .e-form__buttons .elementor-button[type='submit'],
  body.elementor-device-tablet .e-form__buttons__wrapper__button--next,
  body.elementor-device-tablet .elementor-button[type='submit'],
  body.elementor-device-mobile .e-form__buttons__wrapper__button--next,
  body.elementor-device-mobile .elementor-button[type='submit'] {
    order: 1 !important;
  }

  /* 4. Botões: Voltar embaixo (order: 2) */
  .e-form__buttons .e-form__buttons__wrapper__button--previous,
  .e-form__buttons .e-form__buttons__wrapper__button-previous,
  .e-form__buttons button[class*='previous'],
  .e-form__buttons .elementor-button[class*='previous'],
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper__button--previous,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .e-form__buttons__wrapper__button-previous,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper__button--previous,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper__button-previous,
  body.elementor-device-tablet .e-form__buttons__wrapper__button--previous,
  body.elementor-device-tablet .e-form__buttons__wrapper__button-previous,
  body.elementor-device-mobile .e-form__buttons__wrapper__button--previous,
  body.elementor-device-mobile .e-form__buttons__wrapper__button-previous {
    order: 2 !important;
  }

  /* Trava de segurança para Desktop no editor do Elementor (caso o iframe tenha <= 1024px) */
  body.elementor-device-desktop .e-form__buttons {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
  }
  body.elementor-device-desktop .e-form__buttons__wrapper {
    display: inline-flex !important;
    width: auto !important;
    flex: 0 0 auto !important;
  }
  body.elementor-device-desktop .e-form__buttons button {
    width: auto !important;
    flex: 0 0 auto !important;
    height: 46px !important;
  }
  body.elementor-device-desktop .e-form__buttons__wrapper:has([class*='previous']),
  body.elementor-device-desktop .e-form__buttons__wrapper__button--previous {
    order: 1 !important;
  }
  body.elementor-device-desktop .e-form__buttons__wrapper:has([class*='next']),
  body.elementor-device-desktop .e-form__buttons__wrapper:has([type='submit']),
  body.elementor-device-desktop .e-form__buttons__wrapper__button--next {
    order: 2 !important;
  }

  /* Linha de ações em coluna no Tablet e Mobile */
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-type-submit,
  .dux-form-container .elementor-field-type-submit,
  .dux-form-widget .elementor-field-type-submit,
  body.elementor-device-tablet .elementor-field-type-submit,
  body.elementor-device-mobile .elementor-field-type-submit {
    flex-direction: column !important;
  }

  /* Mensagem de feedback em fluxo natural centralizado no Tablet e Mobile (V33) */
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-message,
  .dux-form-container .elementor-message,
  .dux-form-widget .elementor-message,
  body.elementor-device-tablet .elementor-message,
  body.elementor-device-mobile .elementor-message {
    position: static !important;
    float: none !important;
    margin-top: 16px !important;
    margin-bottom: 8px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    display: flex !important;
    clear: both !important;
  }
}

/* Suporte aos modos Tablet e Mobile no editor do Elementor */
body.elementor-device-tablet .elementor-form-fields-wrapper,
body.elementor-device-tablet .e-form__step:not(.elementor-hidden),
body.elementor-device-mobile .elementor-form-fields-wrapper,
body.elementor-device-mobile .e-form__step:not(.elementor-hidden) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
}

body.elementor-device-tablet .elementor-field-group,
body.elementor-device-tablet .elementor-field-group.elementor-col-50,
body.elementor-device-tablet .elementor-field-group.elementor-col-100,
body.elementor-device-tablet .elementor-field-group.elementor-column,
body.elementor-device-tablet .e-form__step:not(.elementor-hidden) .elementor-field-group,
body.elementor-device-mobile .elementor-field-group,
body.elementor-device-mobile .elementor-field-group.elementor-col-50,
body.elementor-device-mobile .elementor-field-group.elementor-col-100,
body.elementor-device-mobile .elementor-field-group.elementor-column,
body.elementor-device-mobile .e-form__step:not(.elementor-hidden) .elementor-field-group {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  margin-bottom: 18px !important;
  box-sizing: border-box !important;
}

body.elementor-device-tablet .elementor-form,
body.elementor-device-mobile .elementor-form {
  padding-bottom: 48px !important;
}

body.elementor-device-tablet .elementor-field-type-submit,
body.elementor-device-mobile .elementor-field-type-submit {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 14px !important;
  margin-top: 14px !important;
  margin-bottom: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.elementor-device-tablet .e-form__buttons,
body.elementor-device-mobile .e-form__buttons {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  flex: 1 1 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
  gap: 12px !important;
  border: none !important;
  padding: 0 !important;
}

body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper,
body.elementor-device-tablet .e-form__buttons__wrapper,
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper,
body.elementor-device-mobile .e-form__buttons__wrapper {
  display: flex !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  flex: 1 1 100% !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto !important;
  text-align: center !important;
  padding: 0 !important;
  border: none !important;
}

body.elementor-device-tablet .e-form__buttons button,
body.elementor-device-tablet .e-form__buttons .elementor-button,
body.elementor-device-mobile .e-form__buttons button,
body.elementor-device-mobile .e-form__buttons .elementor-button {
  display: flex !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  flex: 1 1 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 0 20px !important;
}

body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper--next,
body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper-next,
body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
body.elementor-device-tablet .e-form__buttons__wrapper__button--next,
body.elementor-device-tablet .elementor-button[type='submit'],
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper--next,
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper-next,
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
body.elementor-device-mobile .e-form__buttons__wrapper__button--next,
body.elementor-device-mobile .elementor-button[type='submit'] {
  order: 1 !important;
}

body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper--previous,
body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper-previous,
body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
body.elementor-device-tablet .e-form__buttons__wrapper__button--previous,
body.elementor-device-tablet .e-form__buttons__wrapper__button-previous,
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper--previous,
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper-previous,
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
body.elementor-device-mobile .e-form__buttons__wrapper__button--previous,
body.elementor-device-mobile .e-form__buttons__wrapper__button-previous {
  order: 2 !important;
}

/* ------------------------------------------------------------
   RESPONSIVIDADE (MOBILE < 768px)
   Força 1 coluna 100% vertical e sem interferência do desktop
   ------------------------------------------------------------ */
@media (max-width: 767px) {
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-form,
  .dux-form-container .elementor-form {
    display: flow-root !important;
    padding: 20px 14px 48px 14px !important;
    border-radius: 16px !important;
    overflow: visible !important;
    overflow-y: visible !important;
    overflow-x: clip !important;
    height: auto !important;
    min-height: auto !important;
  }

  /* ============================================================
     BOTÕES FULL-WIDTH 100% NO MOBILE (< 768px)
     ============================================================ */
  .elementor-form .elementor-field-type-submit,
  .dux-form-container .elementor-field-type-submit,
  .dux-form-widget .elementor-field-type-submit,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-type-submit {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
    margin-bottom: 8px !important;
  }

  .elementor-form .e-form__buttons,
  .dux-form-container .e-form__buttons,
  .dux-form-widget .e-form__buttons,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons,
  .e-form__buttons {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
    gap: 12px !important;
  }

  .elementor-form .e-form__buttons__wrapper,
  .dux-form-container .e-form__buttons__wrapper,
  .dux-form-widget .e-form__buttons__wrapper,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons__wrapper,
  .e-form__buttons__wrapper,
  .e-form__buttons .e-form__buttons__wrapper--next,
  .e-form__buttons .e-form__buttons__wrapper--previous,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper--next,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper--previous {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
    text-align: center !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .elementor-form .elementor-button,
  .dux-form-container .e-form__buttons .elementor-button,
  .dux-form-widget .e-form__buttons .elementor-button,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__buttons .elementor-button,
  .e-form__buttons button,
  .e-form__buttons .elementor-button,
  .elementor-button.e-form__buttons__wrapper__button,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper__button--next,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper__button--previous,
  .dux-form-container .elementor-button[type='submit'] {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 16px !important;
  }
  
  /* Indicadores no mobile: 4 círculos em linha única */
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators,
  .dux-form-container .e-form__indicators,
  .dux-form-widget .e-form__indicators {
    display: flex !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    margin-bottom: 20px !important;
    padding-bottom: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px 0 !important;
    justify-content: space-between !important;
  }
  
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator,
  .dux-form-container .e-form__indicators__indicator,
  .dux-form-widget .e-form__indicators__indicator {
    flex: 1 1 0 !important;
    width: auto !important;
    position: relative !important;
    font-size: 12px !important;
  }
  
  /* Oculta os textos dos steps no mobile para visual clean */
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator__label,
  .dux-form-container .e-form__indicators__indicator__label,
  .dux-form-widget .e-form__indicators__indicator__label {
    display: none !important;
  }
  
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__indicators__indicator__separator,
  .dux-form-container .e-form__indicators__indicator__separator,
  .dux-form-widget .e-form__indicators__indicator__separator,
  .e-form__indicators__indicator__separator {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
  }
  
  /* Colapso para 1 coluna vertical no mobile */
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-form-fields-wrapper,
  .dux-form-container .elementor-form-fields-wrapper,
  .dux-form-widget .elementor-form-fields-wrapper,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step:not(.elementor-hidden),
  .dux-form-container .e-form__step:not(.elementor-hidden),
  .dux-form-widget .e-form__step:not(.elementor-hidden),
  .elementor-field-group.e-form__step:not(.elementor-hidden),
  .e-form__step:not(.elementor-hidden),
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step.e-form__step--active,
  .dux-form-container .e-form__step.e-form__step--active,
  .dux-form-widget .e-form__step.e-form__step--active,
  .elementor-field-group.e-form__step.e-form__step--active,
  .e-form__step.e-form__step--active {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .elementor-field-group.elementor-column,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-f0748ab .e-form__step.e-form__step--active .elementor-field-group,
  .dux-form-container .elementor-field-group,
  .dux-form-container .elementor-field-group.elementor-col-50,
  .dux-form-container .elementor-field-group.elementor-col-100,
  .dux-form-container .elementor-field-group.elementor-column,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .dux-form-container .e-form__step.e-form__step--active .elementor-field-group,
  .dux-form-widget .elementor-field-group,
  .dux-form-widget .elementor-field-group.elementor-col-50,
  .dux-form-widget .elementor-field-group.elementor-col-100,
  .dux-form-widget .elementor-field-group.elementor-column,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .dux-form-widget .e-form__step.e-form__step--active .elementor-field-group,
  .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .e-form__step.e-form__step--active .elementor-field-group {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 18px !important;
    box-sizing: border-box !important;
  }

  .dux-step-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
  }
  
  .dux-step-title {
    font-size: 19px;
  }
  
  .dux-step-subtitle {
    font-size: 13px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-68ea2aae *//* ============================================================
   DUX / DUAS TORRES - FORMULÁRIO MULTI-ETAPAS ELEMENTOR PRO
   Design System & Tokens Oficiais: #5EC3BD, #FCA54C, #FFFFFF
   ============================================================ */

.elementor-18879 .elementor-element.elementor-element-68ea2aae,
.dux-form-container {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: clip !important;
  max-width: 100% !important;
  box-sizing: border-box !important;

  --dux-primary: #5EC3BD;
  --dux-primary-hover: #4EB1AB;
  --dux-primary-light: rgba(94, 195, 189, 0.12);
  --dux-primary-focus: rgba(94, 195, 189, 0.22);
  --dux-secondary: #FCA54C;
  --dux-secondary-hover: #EE963B;
  
  --dux-bg-card: #FFFFFF;
  --dux-bg-input: #F8FAFC;
  --dux-bg-input-focus: #FFFFFF;
  
  --dux-border: #E2E8F0;
  --dux-border-hover: #CBD5E1;
  --dux-border-focus: #5EC3BD;
  
  --dux-text-heading: #111827;
  --dux-text-body: #374151;
  --dux-text-muted: #6B7280;
  --dux-text-placeholder: #94A3B8;
  
  --dux-badge-req-bg: #FEF2F2;
  --dux-badge-req-border: #FEE2E2;
  --dux-badge-req-text: #EF4444;
  
  --dux-badge-opt-bg: #ECFDF5;
  --dux-badge-opt-border: #D1FAE5;
  --dux-badge-opt-text: #10B981;
  
  --dux-radius-card: 20px;
  --dux-radius-input: 10px;
  --dux-radius-button: 10px;
  
  --dux-shadow-card: 0 20px 40px -15px rgba(15, 23, 42, 0.07), 0 1px 3px 0 rgba(0, 0, 0, 0.05);
  --dux-shadow-btn: 0 8px 20px -4px rgba(94, 195, 189, 0.38);
  --dux-shadow-btn-hover: 0 12px 24px -4px rgba(94, 195, 189, 0.48);
  
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Card Wrapper Principal */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-form,
.dux-form-container .elementor-form {
  display: flow-root !important;
  position: relative !important;
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: clip !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  background-color: var(--dux-bg-card);
  border-radius: var(--dux-radius-card);
  padding: 44px 48px;
  box-shadow: var(--dux-shadow-card);
  border: 1px solid #EDF2F7;
  transition: all 0.3s ease;
  margin: 0 auto;
}

/* ============================================================
   ANTI-SCROLLBAR UNIVERSAL (Elimina qualquer barra interna de rolagem)
   ============================================================ */
.elementor-18879 .elementor-element.elementor-element-68ea2aae,
.dux-form-container,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-form,
.dux-form-container .elementor-form,
.dux-form-widget,
.dux-form-widget .elementor-form,
.elementor-form-fields-wrapper {
  overflow: visible !important;
  overflow-y: visible !important;
  scrollbar-width: none !important; /* Firefox */
  -ms-overflow-style: none !important; /* IE/Edge */
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae::-webkit-scrollbar,
.dux-form-container::-webkit-scrollbar,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-form::-webkit-scrollbar,
.dux-form-container .elementor-form::-webkit-scrollbar,
.dux-form-widget::-webkit-scrollbar,
.dux-form-widget .elementor-form::-webkit-scrollbar,
.elementor-form-fields-wrapper::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

/* ------------------------------------------------------------
   STEPPER PROGRESS BAR (INDICADORES DE ETAPAS)
   Divisão matemática perfeita (25% por etapa), centralização simétrica
   e conectores com position: absolute entre os círculos de 34px
   ------------------------------------------------------------ */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators,
.dux-form-container .e-form__indicators,
.dux-form-widget .e-form__indicators {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto 34px auto !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  padding-bottom: 24px;
  border-bottom: 1px solid #F1F5F9;
  box-sizing: border-box;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator,
.dux-form-container .e-form__indicators__indicator,
.dux-form-widget .e-form__indicators__indicator {
  flex: 1 1 0 !important;
  width: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  position: relative !important;
  font-size: 13px;
  font-weight: 500;
  color: var(--dux-text-muted);
  transition: all 0.25s ease;
  box-sizing: border-box;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator__number,
.dux-form-container .e-form__indicators__indicator__number,
.dux-form-widget .e-form__indicators__indicator__number {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  background-color: #F1F5F9;
  color: var(--dux-text-muted);
  border: 2px solid #E2E8F0;
  margin-bottom: 8px !important;
  position: relative !important;
  z-index: 2 !important;
  transition: all 0.25s ease;
  box-sizing: border-box;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator__label,
.dux-form-container .e-form__indicators__indicator__label,
.dux-form-widget .e-form__indicators__indicator__label {
  white-space: nowrap !important;
  font-size: 13px;
  line-height: 1.2;
}

/* Etapa Ativa */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator--state-active,
.dux-form-container .e-form__indicators__indicator--state-active,
.dux-form-widget .e-form__indicators__indicator--state-active {
  color: var(--dux-text-heading);
  font-weight: 700;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number,
.dux-form-container .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number,
.dux-form-widget .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number {
  background-color: var(--dux-primary);
  color: #FFFFFF;
  border-color: var(--dux-primary);
  box-shadow: 0 0 0 4px var(--dux-primary-light);
}

/* Etapa Concluída */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator--state-completed,
.dux-form-container .e-form__indicators__indicator--state-completed,
.dux-form-widget .e-form__indicators__indicator--state-completed {
  color: var(--dux-primary);
  font-weight: 600;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number,
.dux-form-container .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number,
.dux-form-widget .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
  background-color: var(--dux-primary);
  color: #FFFFFF;
  border-color: var(--dux-primary);
}

/* Separador de etapas completamente oculto para eliminar qualquer marcação espúria no topo */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator__separator,
.dux-form-container .e-form__indicators__indicator__separator,
.dux-form-widget .e-form__indicators__indicator__separator,
.e-form__indicators__indicator__separator {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  border: none !important;
  content: none !important;
  pointer-events: none !important;
}

/* ------------------------------------------------------------
   ISOLAMENTO RIGOROSO DE ETAPAS MULTI-STEP ELEMENTOR PRO
   Garante que etapas inativas (.elementor-hidden) sejam estritamente
   ocultadas. A etapa ativa é .e-form__step:not(.elementor-hidden).
   ------------------------------------------------------------ */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step.elementor-hidden,
.dux-form-container .e-form__step.elementor-hidden,
.dux-form-widget .e-form__step.elementor-hidden,
.elementor-field-group.e-form__step.elementor-hidden,
.e-form__step.elementor-hidden {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ------------------------------------------------------------
   GRID & DISPOSIÇÃO DE CAMPOS (DESKTOP >= 1025px)
   Envolvido estritamente para Desktop, reservando 50% apenas para telas amplas
   ------------------------------------------------------------ */
@media (min-width: 1025px) {
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-form-fields-wrapper,
  .dux-form-container .elementor-form-fields-wrapper,
  .dux-form-widget .elementor-form-fields-wrapper,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step:not(.elementor-hidden),
  .dux-form-container .e-form__step:not(.elementor-hidden),
  .dux-form-widget .e-form__step:not(.elementor-hidden),
  .elementor-field-group.e-form__step:not(.elementor-hidden),
  .e-form__step:not(.elementor-hidden),
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step.e-form__step--active,
  .dux-form-container .e-form__step.e-form__step--active,
  .dux-form-widget .e-form__step.e-form__step--active,
  .elementor-field-group.e-form__step.e-form__step--active,
  .e-form__step.e-form__step--active {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 0 24px !important;
    column-gap: 24px !important;
    row-gap: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group.elementor-column,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step .elementor-field-group.elementor-column,
  .dux-form-container .elementor-field-group,
  .dux-form-container .elementor-field-group.elementor-column,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column,
  .dux-form-container .e-form__step .elementor-field-group,
  .dux-form-container .e-form__step .elementor-field-group.elementor-column,
  .dux-form-widget .elementor-field-group,
  .dux-form-widget .elementor-field-group.elementor-column,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column,
  .dux-form-widget .e-form__step .elementor-field-group,
  .dux-form-widget .e-form__step .elementor-field-group.elementor-column,
  .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column,
  .e-form__step .elementor-field-group,
  .e-form__step .elementor-field-group.elementor-column {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group.elementor-column.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step .elementor-field-group.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step .elementor-field-group.elementor-column.elementor-col-50,
  .dux-form-container .elementor-field-group.elementor-col-50,
  .dux-form-container .elementor-field-group.elementor-column.elementor-col-50,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-50,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-50,
  .dux-form-container .e-form__step .elementor-field-group.elementor-col-50,
  .dux-form-container .e-form__step .elementor-field-group.elementor-column.elementor-col-50,
  .dux-form-widget .elementor-field-group.elementor-col-50,
  .dux-form-widget .elementor-field-group.elementor-column.elementor-col-50,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-50,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-50,
  .dux-form-widget .e-form__step .elementor-field-group.elementor-col-50,
  .dux-form-widget .e-form__step .elementor-field-group.elementor-column.elementor-col-50,
  .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-50,
  .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-50,
  .e-form__step .elementor-field-group.elementor-col-50,
  .e-form__step .elementor-field-group.elementor-column.elementor-col-50 {
    width: calc(50% - 12px) !important;
    flex: 0 0 calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    box-sizing: border-box !important;
    margin-bottom: 24px !important;
  }

  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group.elementor-column.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step .elementor-field-group.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step .elementor-field-group.elementor-column.elementor-col-100,
  .dux-form-container .elementor-field-group.elementor-col-100,
  .dux-form-container .elementor-field-group.elementor-column.elementor-col-100,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-100,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-100,
  .dux-form-container .e-form__step .elementor-field-group.elementor-col-100,
  .dux-form-container .e-form__step .elementor-field-group.elementor-column.elementor-col-100,
  .dux-form-widget .elementor-field-group.elementor-col-100,
  .dux-form-widget .elementor-field-group.elementor-column.elementor-col-100,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-100,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-100,
  .dux-form-widget .e-form__step .elementor-field-group.elementor-col-100,
  .dux-form-widget .e-form__step .elementor-field-group.elementor-column.elementor-col-100,
  .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-100,
  .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-column.elementor-col-100,
  .e-form__step .elementor-field-group.elementor-col-100,
  .e-form__step .elementor-field-group.elementor-column.elementor-col-100 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 24px !important;
  }
}

/* Trava de campos no modo Desktop do editor Elementor (caso o painel lateral reduza a viewport) */
body.elementor-device-desktop .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step:not(.elementor-hidden),
body.elementor-device-desktop .dux-form-container .e-form__step:not(.elementor-hidden),
body.elementor-device-desktop .elementor-form-fields-wrapper,
body.elementor-device-desktop .e-form__step:not(.elementor-hidden) {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  gap: 0 24px !important;
  column-gap: 24px !important;
}
body.elementor-device-desktop .elementor-field-group.elementor-col-50,
body.elementor-device-desktop .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-50 {
  width: calc(50% - 12px) !important;
  flex: 0 0 calc(50% - 12px) !important;
  max-width: calc(50% - 12px) !important;
  margin-bottom: 24px !important;
}
body.elementor-device-desktop .elementor-field-group.elementor-col-100,
body.elementor-device-desktop .e-form__step:not(.elementor-hidden) .elementor-field-group.elementor-col-100 {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  margin-bottom: 24px !important;
}

/* ------------------------------------------------------------
   CABEÇALHO EDITORIAL DENTRO DA ETAPA
   ------------------------------------------------------------ */
.dux-step-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 26px;
  padding-bottom: 18px;
  border-bottom: 1px solid #F1F5F9;
  gap: 16px;
  box-sizing: border-box;
}

.dux-step-header-left {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.dux-accent-bar {
  width: 4px;
  height: 42px;
  background: linear-gradient(180deg, var(--dux-primary) 0%, #4EB1AB 100%);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
}

.dux-step-title {
  margin: 0 0 4px 0;
  font-size: 21px;
  font-weight: 700;
  color: var(--dux-text-heading);
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.dux-step-subtitle {
  margin: 0;
  font-size: 13.5px;
  color: var(--dux-text-muted);
  line-height: 1.45;
}

.dux-step-header-right {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

/* Badges Visuais */
.dux-badge-required {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  background-color: var(--dux-badge-req-bg);
  border: 1px solid var(--dux-badge-req-border);
  color: var(--dux-badge-req-text);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.dux-asterisk {
  color: var(--dux-badge-req-text);
  font-weight: 800;
  font-size: 13px;
}

.dux-tag-optional {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  background-color: var(--dux-badge-opt-bg);
  border: 1px solid var(--dux-badge-opt-border);
  color: var(--dux-badge-opt-text);
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 600;
  margin-left: 8px;
  letter-spacing: 0.01em;
  vertical-align: middle;
}

/* ------------------------------------------------------------
   CAMPOS, LABELS & INPUTS
   Espaçamento ajustado: margin-bottom de 6px no label
   ------------------------------------------------------------ */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group,
.dux-form-container .elementor-field-group,
.dux-form-widget .elementor-field-group {
  box-sizing: border-box;
  margin-bottom: 24px !important;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-label,
.dux-form-container .elementor-field-label {
  display: flex;
  align-items: center;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--dux-text-heading);
  margin-bottom: 6px !important;
  margin-top: 0 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-mark-required,
.dux-form-container .elementor-mark-required {
  color: var(--dux-badge-req-text);
  font-weight: 700;
  margin-left: 3px;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-textual,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field,
.elementor-18879 .elementor-element.elementor-element-68ea2aae select.elementor-field,
.elementor-18879 .elementor-element.elementor-element-68ea2aae textarea.elementor-field,
.dux-form-container .elementor-field-textual,
.dux-form-container .elementor-field,
.dux-form-container select.elementor-field,
.dux-form-container textarea.elementor-field {
  width: 100%;
  max-width: 100% !important;
  background-color: var(--dux-bg-input);
  border: 1.5px solid var(--dux-border);
  border-radius: var(--dux-radius-input);
  padding: 12px 16px;
  font-size: 14px;
  color: var(--dux-text-heading);
  font-family: inherit;
  transition: all 0.2s ease-in-out;
  box-sizing: border-box;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-textual:hover,
.elementor-18879 .elementor-element.elementor-element-68ea2aae select.elementor-field:hover,
.elementor-18879 .elementor-element.elementor-element-68ea2aae textarea.elementor-field:hover,
.dux-form-container .elementor-field-textual:hover,
.dux-form-container select.elementor-field:hover,
.dux-form-container textarea.elementor-field:hover {
  border-color: var(--dux-border-hover);
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-textual:focus,
.elementor-18879 .elementor-element.elementor-element-68ea2aae select.elementor-field:focus,
.elementor-18879 .elementor-element.elementor-element-68ea2aae textarea.elementor-field:focus,
.dux-form-container .elementor-field-textual:focus,
.dux-form-container select.elementor-field:focus,
.dux-form-container textarea.elementor-field:focus {
  background-color: var(--dux-bg-input-focus);
  border-color: var(--dux-border-focus);
  box-shadow: 0 0 0 3px var(--dux-primary-focus);
  outline: none;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field::placeholder,
.dux-form-container .elementor-field::placeholder {
  color: var(--dux-text-placeholder);
  font-weight: 400;
}

/* ------------------------------------------------------------
   SELECT & ELIMINAÇÃO TOTAL DA SETA DUPLA DO ELEMENTOR PRO
   Oculta todos os pseudo-elementos e ícones nativos do Elementor Pro.
   IMPORTANTE: select::-ms-expand isolado em regra própria para
   não invalidar a lista no Chrome/Blink (conforme spec W3C).
   ------------------------------------------------------------ */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-select-wrapper:before,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-select-wrapper:after,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-select-wrapper::before,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-select-wrapper::after,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-select-wrapper > *:not(select),
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-subgroup:before,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-subgroup:after,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-subgroup::before,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-subgroup::after,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-select-icon,
.dux-form-container .elementor-select-wrapper:before,
.dux-form-container .elementor-select-wrapper:after,
.dux-form-container .elementor-select-wrapper::before,
.dux-form-container .elementor-select-wrapper::after,
.dux-form-container .elementor-select-wrapper > *:not(select),
.dux-form-container .elementor-field-subgroup:before,
.dux-form-container .elementor-field-subgroup:after,
.dux-form-container .elementor-field-subgroup::before,
.dux-form-container .elementor-field-subgroup::after,
.dux-form-container .elementor-select-icon,
.dux-form-widget .elementor-select-wrapper:before,
.dux-form-widget .elementor-select-wrapper:after,
.dux-form-widget .elementor-select-wrapper::before,
.dux-form-widget .elementor-select-wrapper::after,
.dux-form-widget .elementor-select-wrapper > *:not(select),
.dux-form-widget .elementor-field-subgroup:before,
.dux-form-widget .elementor-field-subgroup:after,
.dux-form-widget .elementor-field-subgroup::before,
.dux-form-widget .elementor-field-subgroup::after,
.dux-form-widget .elementor-select-icon {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Regra isolada de compatibilidade legado (não invalida Chrome) */
.elementor-18879 .elementor-element.elementor-element-68ea2aae select::-ms-expand,
.dux-form-container select::-ms-expand,
.dux-form-widget select::-ms-expand,
select::-ms-expand {
  display: none !important;
}

/* Elimina a caixa externa / borda dupla do wrapper de select do Elementor Pro */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-select-wrapper,
.dux-form-container .elementor-select-wrapper,
.dux-form-widget .elementor-select-wrapper {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae select.elementor-field,
.dux-form-container select.elementor-field,
.dux-form-widget select.elementor-field,
.dux-form-container .elementor-select-wrapper select,
.dux-form-widget .elementor-select-wrapper select,
select.elementor-field {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px !important;
  padding-right: 40px !important;
  cursor: pointer;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* ------------------------------------------------------------
   CHECKBOXES EM CARDS / PILLS ELEGANTES (BUPPY PET)
   ------------------------------------------------------------ */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-type-checkbox .elementor-field-subgroup,
.dux-form-container .elementor-field-type-checkbox .elementor-field-subgroup,
.dux-form-widget .elementor-field-type-checkbox .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 6px !important;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-type-checkbox .elementor-field-option,
.dux-form-container .elementor-field-type-checkbox .elementor-field-option,
.dux-form-widget .elementor-field-type-checkbox .elementor-field-option {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background-color: #F8FAFC !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 10px !important;
  padding: 8px 14px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  font-size: 13.5px !important;
  color: #1E293B !important;
  font-weight: 500 !important;
  user-select: none !important;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-type-checkbox .elementor-field-option:hover,
.dux-form-container .elementor-field-type-checkbox .elementor-field-option:hover,
.dux-form-widget .elementor-field-type-checkbox .elementor-field-option:hover {
  border-color: #5EC3BD !important;
  background-color: #F0FDFA !important;
  color: #0F766E !important;
  transform: translateY(-1px) !important;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-type-checkbox .elementor-field-option input[type="checkbox"],
.dux-form-container .elementor-field-type-checkbox .elementor-field-option input[type="checkbox"],
.dux-form-widget .elementor-field-type-checkbox .elementor-field-option input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  accent-color: #5EC3BD !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-type-checkbox .elementor-field-option label,
.dux-form-container .elementor-field-type-checkbox .elementor-field-option label,
.dux-form-widget .elementor-field-type-checkbox .elementor-field-option label {
  cursor: pointer !important;
  margin: 0 !important;
  font-size: 13.5px !important;
  color: inherit !important;
  font-weight: inherit !important;
}

/* Termos de Aceite */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-type-acceptance .elementor-field-subgroup,
.dux-form-container .elementor-field-type-acceptance .elementor-field-subgroup {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 18px;
  background-color: #F8FAFC;
  border: 1px solid var(--dux-border);
  border-radius: var(--dux-radius-input);
  margin-top: 8px;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-type-acceptance input[type="checkbox"],
.dux-form-container .elementor-field-type-acceptance input[type="checkbox"] {
  accent-color: var(--dux-primary);
  width: 18px;
  height: 18px;
  margin-top: 2px;
  cursor: pointer;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-type-acceptance label,
.dux-form-container .elementor-field-type-acceptance label {
  font-size: 13px;
  color: var(--dux-text-body);
  line-height: 1.5;
  cursor: pointer;
}

/* ------------------------------------------------------------
   MENSAGENS DE FEEDBACK (SUCESSO & ERRO) - VISUAL ELEGANTE
   ------------------------------------------------------------ */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-message,
.dux-form-container .elementor-message,
.dux-form-widget .elementor-message,
.elementor-message {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-sizing: border-box !important;
  border-radius: 10px !important;
  padding: 10px 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  transition: all 0.3s ease !important;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-message.elementor-message-success,
.dux-form-container .elementor-message.elementor-message-success,
.dux-form-widget .elementor-message.elementor-message-success,
.elementor-message.elementor-message-success {
  background-color: #ECFDF5 !important;
  border: 1.5px solid #A7F3D0 !important;
  color: #065F46 !important;
}

.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-message.elementor-message-danger,
.dux-form-container .elementor-message.elementor-message-danger,
.dux-form-widget .elementor-message.elementor-message-danger,
.elementor-message.elementor-message-danger {
  background-color: #FEF2F2 !important;
  border: 1.5px solid #FECACA !important;
  color: #991B1B !important;
}

/* ------------------------------------------------------------
   BOTÕES DE AÇÃO E NAVEGAÇÃO - PADRÃO BASE / DESKTOP (>= 768px)
   Linha divisória superior ÚNICA apenas no container raiz
   Alinhamento horizontal à direita, altura cravada em 46px
   ------------------------------------------------------------ */
/* Linha divisória superior única no wrapper raiz do campo de submit - barra flex de ações */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-type-submit,
.dux-form-container .elementor-field-type-submit,
.dux-form-widget .elementor-field-type-submit {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  margin-top: 36px !important;
  padding-top: 24px !important;
  border-top: 1px solid #F1F5F9 !important;
  box-sizing: border-box !important;
  min-height: 52px !important;
}

/* ============================================================
   A) ESTILO VISUAL DOS BOTÕES (Cores 100% Ciano Dux, sem grafite)
   ============================================================ */
/* Base tipográfica e interatividade dos botões */
.elementor-form .e-form__buttons button,
.elementor-form .e-form__buttons .elementor-button,
.e-form__buttons button,
.e-form__buttons .elementor-button,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons button,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .elementor-button,
.dux-form-container .e-form__buttons button,
.dux-form-container .e-form__buttons .elementor-button {
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Botão Próxima / Enviar: Gradiente Turquesa Ciano Dux (#5EC3BD a #4EB1AB) */
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--next,
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button-next,
.elementor-form .e-form__buttons .elementor-button[type='submit'],
.e-form__buttons .e-form__buttons__wrapper__button--next,
.e-form__buttons .e-form__buttons__wrapper__button-next,
.e-form__buttons .elementor-button[type='submit'],
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button--next,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button-next,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-button[type='submit'],
.dux-form-container .e-form__buttons__wrapper__button--next,
.dux-form-container .e-form__buttons__wrapper__button-next,
.dux-form-container .elementor-button[type='submit'] {
  background: linear-gradient(135deg, #5EC3BD 0%, #4EB1AB 100%) !important;
  background-color: #5EC3BD !important;
  color: #FFFFFF !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(94, 195, 189, 0.35) !important;
  border-radius: 10px !important;
}

/* Força texto branco no botão Próxima / Enviar */
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--next *,
.elementor-form .e-form__buttons .elementor-button[type='submit'] *,
.e-form__buttons .e-form__buttons__wrapper__button--next *,
.e-form__buttons .elementor-button[type='submit'] *,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button--next *,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-button[type='submit'] *,
.dux-form-container .e-form__buttons__wrapper__button--next *,
.dux-form-container .elementor-button[type='submit'] * {
  color: #FFFFFF !important;
}

/* Hover e Active do botão Próxima / Enviar */
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--next:hover,
.elementor-form .e-form__buttons .elementor-button[type='submit']:hover,
.e-form__buttons .e-form__buttons__wrapper__button--next:hover,
.e-form__buttons .elementor-button[type='submit']:hover,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button--next:hover,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-button[type='submit']:hover,
.dux-form-container .e-form__buttons__wrapper__button--next:hover,
.dux-form-container .elementor-button[type='submit']:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(94, 195, 189, 0.45) !important;
  filter: brightness(1.05) !important;
}

.e-form__buttons .e-form__buttons__wrapper__button--next:active,
.e-form__buttons .elementor-button[type='submit']:active,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button--next:active,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-button[type='submit']:active,
.dux-form-container .e-form__buttons__wrapper__button--next:active,
.dux-form-container .elementor-button[type='submit']:active {
  transform: translateY(0) !important;
}

/* Botão Voltar: Outline Ciano Dux com Fundo Branco */
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--previous,
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button-previous,
.elementor-form .e-form__buttons button[class*='previous'],
.elementor-form .e-form__buttons .elementor-button[class*='previous'],
.e-form__buttons .e-form__buttons__wrapper__button--previous,
.e-form__buttons .e-form__buttons__wrapper__button-previous,
.e-form__buttons button[class*='previous'],
.e-form__buttons .elementor-button[class*='previous'],
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button--previous,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button-previous,
.elementor-18879 .elementor-element.elementor-element-68ea2aae button[class*='previous'],
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-button[class*='previous'],
.dux-form-container .e-form__buttons__wrapper__button--previous,
.dux-form-container .e-form__buttons__wrapper__button-previous,
.dux-form-container button[class*='previous'],
.dux-form-container .elementor-button[class*='previous'],
button[class*='previous'],
.elementor-button[class*='previous'] {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
  color: #5EC3BD !important;
  border: 2px solid #5EC3BD !important;
  box-shadow: none !important;
  border-radius: 10px !important;
  transition: all 0.2s ease !important;
}

/* Força cor Ciano (#5EC3BD) em todos os filhos e spans do botão Voltar */
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--previous *,
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button-previous *,
.e-form__buttons .e-form__buttons__wrapper__button--previous *,
.e-form__buttons .e-form__buttons__wrapper__button-previous *,
.e-form__buttons button[class*='previous'] *,
.e-form__buttons .elementor-button[class*='previous'] *,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button--previous *,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button-previous *,
.elementor-18879 .elementor-element.elementor-element-68ea2aae button[class*='previous'] *,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-button[class*='previous'] *,
.dux-form-container .e-form__buttons__wrapper__button--previous *,
.dux-form-container .e-form__buttons__wrapper__button-previous *,
.dux-form-container button[class*='previous'] *,
.dux-form-container .elementor-button[class*='previous'] *,
button[class*='previous'] * {
  color: #5EC3BD !important;
}

/* Hover e Active do botão Voltar */
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--previous:hover,
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button-previous:hover,
.e-form__buttons .e-form__buttons__wrapper__button--previous:hover,
.e-form__buttons .e-form__buttons__wrapper__button-previous:hover,
.e-form__buttons button[class*='previous']:hover,
.e-form__buttons .elementor-button[class*='previous']:hover,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button--previous:hover,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button-previous:hover,
.elementor-18879 .elementor-element.elementor-element-68ea2aae button[class*='previous']:hover,
.dux-form-container .e-form__buttons__wrapper__button--previous:hover,
.dux-form-container .e-form__buttons__wrapper__button-previous:hover,
.dux-form-container button[class*='previous']:hover {
  background: #F0FDFA !important;
  background-color: #F0FDFA !important;
  color: #4EB1AB !important;
  border-color: #4EB1AB !important;
  transform: translateY(-1px) !important;
}

.elementor-form .e-form__buttons .e-form__buttons__wrapper__button--previous:hover *,
.elementor-form .e-form__buttons .e-form__buttons__wrapper__button-previous:hover *,
.e-form__buttons .e-form__buttons__wrapper__button--previous:hover *,
.e-form__buttons .e-form__buttons__wrapper__button-previous:hover *,
.e-form__buttons button[class*='previous']:hover *,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button--previous:hover *,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button-previous:hover *,
.elementor-18879 .elementor-element.elementor-element-68ea2aae button[class*='previous']:hover *,
.dux-form-container .e-form__buttons__wrapper__button--previous:hover *,
.dux-form-container .e-form__buttons__wrapper__button-previous:hover *,
button[class*='previous']:hover * {
  color: #4EB1AB !important;
}

.e-form__buttons .e-form__buttons__wrapper__button--previous:active,
.e-form__buttons .e-form__buttons__wrapper__button-previous:active,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button--previous:active,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper__button-previous:active,
.dux-form-container .e-form__buttons__wrapper__button--previous:active,
button[class*='previous']:active {
  transform: translateY(0) !important;
}

/* ============================================================
   B) DISPOSIÇÃO DESKTOP (Telas > 1024px)
   ============================================================ */
@media (min-width: 1025px) {
/* Container de navegação no Desktop: alinhamento horizontal à direita */
.elementor-form .e-form__buttons,
.e-form__buttons,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons,
.dux-form-container .elementor-form .e-form__buttons,
.dux-form-container .e-form__buttons,
body.elementor-device-desktop .e-form__buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-left: auto !important;
  gap: 14px !important;
  width: auto !important;
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Wrappers individuais de botão no Desktop: NUNCA width 100%, sempre inline-flex e width auto */
.e-form__buttons .e-form__buttons__wrapper,
.e-form__buttons .e-form__buttons__wrapper--previous,
.e-form__buttons .e-form__buttons__wrapper-previous,
.e-form__buttons .e-form__buttons__wrapper--next,
.e-form__buttons .e-form__buttons__wrapper-next,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper,
.dux-form-container .e-form__buttons .e-form__buttons__wrapper,
.dux-form-container .e-form__buttons__wrapper,
body.elementor-device-desktop .e-form__buttons__wrapper {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* Ordenação dos wrappers no Desktop: Voltar à esquerda (order: 1), Próxima/Enviar à direita (order: 2) */
.e-form__buttons .e-form__buttons__wrapper--previous,
.e-form__buttons .e-form__buttons__wrapper-previous,
.e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--previous),
.e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button-previous),
.e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper--previous,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--previous),
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
.dux-form-container .e-form__buttons .e-form__buttons__wrapper--previous,
.dux-form-container .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--previous),
.dux-form-container .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']) {
  order: 1 !important;
}

.e-form__buttons .e-form__buttons__wrapper--next,
.e-form__buttons .e-form__buttons__wrapper-next,
.e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--next),
.e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button-next),
.e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper--next,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--next),
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
.dux-form-container .e-form__buttons .e-form__buttons__wrapper--next,
.dux-form-container .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--next),
.dux-form-container .e-form__buttons .e-form__buttons__wrapper:has([type='submit']) {
  order: 2 !important;
}

/* Dimensões dos botões no Desktop: altura cravada em 46px */
.e-form__buttons button,
.e-form__buttons .elementor-button,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons button,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .elementor-button,
.dux-form-container .e-form__buttons button,
.dux-form-container .e-form__buttons .elementor-button,
body.elementor-device-desktop .e-form__buttons button,
body.elementor-device-desktop .e-form__buttons .elementor-button {
  width: auto !important;
  max-width: max-content !important;
  flex: 0 0 auto !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Botão Voltar no Desktop: order: 1 */
.e-form__buttons .e-form__buttons__wrapper__button--previous,
.e-form__buttons .e-form__buttons__wrapper__button-previous,
.e-form__buttons button[class*='previous'],
.e-form__buttons .elementor-button[class*='previous'],
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper__button--previous,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper__button-previous,
.dux-form-container .e-form__buttons .e-form__buttons__wrapper__button--previous,
.dux-form-container .e-form__buttons .e-form__buttons__wrapper__button-previous {
  order: 1 !important;
  padding: 0 24px !important;
}

/* Botão Próxima / Enviar no Desktop: order: 2 */
.e-form__buttons .e-form__buttons__wrapper__button--next,
.e-form__buttons .e-form__buttons__wrapper__button-next,
.e-form__buttons .elementor-button[type='submit'],
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper__button--next,
.elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .elementor-button[type='submit'],
.dux-form-container .e-form__buttons .e-form__buttons__wrapper__button--next,
.dux-form-container .e-form__buttons .elementor-button[type='submit'] {
  order: 2 !important;
  padding: 0 32px !important;
}

/* Mensagem de feedback alinhada à esquerda na mesma linha horizontal dos botões no Desktop (V34) */
.elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-message,
.dux-form-container .elementor-message,
.dux-form-widget .elementor-message,
body.elementor-device-desktop .elementor-message {
  position: relative !important;
  float: left !important;
  margin-top: -8px !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: calc(100% - 280px) !important;
  z-index: 5 !important;
  box-sizing: border-box !important;
  display: flex !important;
}
}

/* ============================================================
   C) DISPOSIÇÃO TABLET & MOBILE (Telas <= 1024px e Modos do Editor)
   ============================================================ */
@media (max-width: 1024px) {
  /* ------------------------------------------------------------
     STEPPER PROGRESS BAR NO TABLET (<= 1024px e Modos do Editor)
     Quebra de linha suave nos rótulos para evitar sobreposição
     ------------------------------------------------------------ */
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators,
  .dux-form-container .e-form__indicators,
  .dux-form-widget .e-form__indicators,
  body.elementor-device-tablet .e-form__indicators {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 28px auto !important;
    padding-bottom: 20px !important;
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
  }

  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator,
  .dux-form-container .e-form__indicators__indicator,
  .dux-form-widget .e-form__indicators__indicator,
  body.elementor-device-tablet .e-form__indicators__indicator {
    flex: 1 1 25% !important;
    width: 25% !important;
    max-width: 25% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
  }

  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator__number,
  .dux-form-container .e-form__indicators__indicator__number,
  .dux-form-widget .e-form__indicators__indicator__number,
  body.elementor-device-tablet .e-form__indicators__indicator__number {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    margin: 0 auto 8px auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator__label,
  .dux-form-container .e-form__indicators__indicator__label,
  .dux-form-widget .e-form__indicators__indicator__label,
  body.elementor-device-tablet .e-form__indicators__indicator__label {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-align: center !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    max-width: 110px !important;
    margin: 0 auto !important;
    display: block !important;
    box-sizing: border-box !important;
  }

  /* ------------------------------------------------------------
     COLAPSO PARA 1 COLUNA VERTICAL NO TABLET & MOBILE (CAMPOS 100%)
     Elimina desalinhamento e quebras de rótulos em viewports reduzidas
     ------------------------------------------------------------ */
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-form-fields-wrapper,
  .dux-form-container .elementor-form-fields-wrapper,
  .dux-form-widget .elementor-form-fields-wrapper,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step:not(.elementor-hidden),
  .dux-form-container .e-form__step:not(.elementor-hidden),
  .dux-form-widget .e-form__step:not(.elementor-hidden),
  .elementor-field-group.e-form__step:not(.elementor-hidden),
  .e-form__step:not(.elementor-hidden),
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step.e-form__step--active,
  .dux-form-container .e-form__step.e-form__step--active,
  .dux-form-widget .e-form__step.e-form__step--active,
  .elementor-field-group.e-form__step.e-form__step--active,
  .e-form__step.e-form__step--active {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group.elementor-column,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step.e-form__step--active .elementor-field-group,
  .dux-form-container .elementor-field-group,
  .dux-form-container .elementor-field-group.elementor-col-50,
  .dux-form-container .elementor-field-group.elementor-col-100,
  .dux-form-container .elementor-field-group.elementor-column,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .dux-form-container .e-form__step.e-form__step--active .elementor-field-group,
  .dux-form-widget .elementor-field-group,
  .dux-form-widget .elementor-field-group.elementor-col-50,
  .dux-form-widget .elementor-field-group.elementor-col-100,
  .dux-form-widget .elementor-field-group.elementor-column,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .dux-form-widget .e-form__step.e-form__step--active .elementor-field-group,
  .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .e-form__step.e-form__step--active .elementor-field-group {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 18px !important;
    box-sizing: border-box !important;
  }

  .elementor-form .e-form__buttons,
  .e-form__buttons,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons,
  .dux-form-container .elementor-form .e-form__buttons,
  .dux-form-container .e-form__buttons,
  body.elementor-device-tablet .e-form__buttons,
  body.elementor-device-mobile .e-form__buttons {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex: 1 1 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
    gap: 12px !important;
    border: none !important;
    padding: 0 !important;
  }

  .e-form__buttons .e-form__buttons__wrapper,
  .e-form__buttons .e-form__buttons__wrapper--previous,
  .e-form__buttons .e-form__buttons__wrapper-previous,
  .e-form__buttons .e-form__buttons__wrapper--next,
  .e-form__buttons .e-form__buttons__wrapper-next,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper,
  .dux-form-container .e-form__buttons__wrapper,
  body.elementor-device-tablet .e-form__buttons__wrapper,
  body.elementor-device-mobile .e-form__buttons__wrapper {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex: 1 1 100% !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
    text-align: center !important;
    padding: 0 !important;
    border: none !important;
  }

  .e-form__buttons button,
  .e-form__buttons .elementor-button,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons button,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .elementor-button,
  .dux-form-container .e-form__buttons button,
  .dux-form-container .e-form__buttons .elementor-button,
  body.elementor-device-tablet .e-form__buttons button,
  body.elementor-device-tablet .e-form__buttons .elementor-button,
  body.elementor-device-mobile .e-form__buttons button,
  body.elementor-device-mobile .e-form__buttons .elementor-button {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex: 1 1 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 20px !important;
  }

  /* 1. Wrappers: Próxima/Enviar no topo (order: 1) */
  .e-form__buttons .e-form__buttons__wrapper--next,
  .e-form__buttons .e-form__buttons__wrapper-next,
  .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--next),
  .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button-next),
  .e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper--next,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--next),
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper--next,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--next),
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
  body.elementor-device-tablet .e-form__buttons__wrapper--next,
  body.elementor-device-tablet .e-form__buttons__wrapper:has([type='submit']),
  body.elementor-device-mobile .e-form__buttons__wrapper--next,
  body.elementor-device-mobile .e-form__buttons__wrapper:has([type='submit']) {
    order: 1 !important;
  }

  /* 2. Wrappers: Voltar embaixo (order: 2) */
  .e-form__buttons .e-form__buttons__wrapper--previous,
  .e-form__buttons .e-form__buttons__wrapper-previous,
  .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--previous),
  .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button-previous),
  .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper--previous,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--previous),
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper--previous,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button--previous),
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
  body.elementor-device-tablet .e-form__buttons__wrapper--previous,
  body.elementor-device-tablet .e-form__buttons__wrapper:has(button[class*='previous']),
  body.elementor-device-mobile .e-form__buttons__wrapper--previous,
  body.elementor-device-mobile .e-form__buttons__wrapper:has(button[class*='previous']) {
    order: 2 !important;
  }

  /* 3. Botões: Próxima/Enviar no topo (order: 1) */
  .e-form__buttons .e-form__buttons__wrapper__button--next,
  .e-form__buttons .e-form__buttons__wrapper__button-next,
  .e-form__buttons .elementor-button[type='submit'],
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper__button--next,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .elementor-button[type='submit'],
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper__button--next,
  .dux-form-container .e-form__buttons .elementor-button[type='submit'],
  body.elementor-device-tablet .e-form__buttons__wrapper__button--next,
  body.elementor-device-tablet .elementor-button[type='submit'],
  body.elementor-device-mobile .e-form__buttons__wrapper__button--next,
  body.elementor-device-mobile .elementor-button[type='submit'] {
    order: 1 !important;
  }

  /* 4. Botões: Voltar embaixo (order: 2) */
  .e-form__buttons .e-form__buttons__wrapper__button--previous,
  .e-form__buttons .e-form__buttons__wrapper__button-previous,
  .e-form__buttons button[class*='previous'],
  .e-form__buttons .elementor-button[class*='previous'],
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper__button--previous,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .e-form__buttons__wrapper__button-previous,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper__button--previous,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper__button-previous,
  body.elementor-device-tablet .e-form__buttons__wrapper__button--previous,
  body.elementor-device-tablet .e-form__buttons__wrapper__button-previous,
  body.elementor-device-mobile .e-form__buttons__wrapper__button--previous,
  body.elementor-device-mobile .e-form__buttons__wrapper__button-previous {
    order: 2 !important;
  }

  /* Trava de segurança para Desktop no editor do Elementor (caso o iframe tenha <= 1024px) */
  body.elementor-device-desktop .e-form__buttons {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
  }
  body.elementor-device-desktop .e-form__buttons__wrapper {
    display: inline-flex !important;
    width: auto !important;
    flex: 0 0 auto !important;
  }
  body.elementor-device-desktop .e-form__buttons button {
    width: auto !important;
    flex: 0 0 auto !important;
    height: 46px !important;
  }
  body.elementor-device-desktop .e-form__buttons__wrapper:has([class*='previous']),
  body.elementor-device-desktop .e-form__buttons__wrapper__button--previous {
    order: 1 !important;
  }
  body.elementor-device-desktop .e-form__buttons__wrapper:has([class*='next']),
  body.elementor-device-desktop .e-form__buttons__wrapper:has([type='submit']),
  body.elementor-device-desktop .e-form__buttons__wrapper__button--next {
    order: 2 !important;
  }

  /* Linha de ações em coluna no Tablet e Mobile */
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-type-submit,
  .dux-form-container .elementor-field-type-submit,
  .dux-form-widget .elementor-field-type-submit,
  body.elementor-device-tablet .elementor-field-type-submit,
  body.elementor-device-mobile .elementor-field-type-submit {
    flex-direction: column !important;
  }

  /* Mensagem de feedback em fluxo natural centralizado no Tablet e Mobile (V33) */
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-message,
  .dux-form-container .elementor-message,
  .dux-form-widget .elementor-message,
  body.elementor-device-tablet .elementor-message,
  body.elementor-device-mobile .elementor-message {
    position: static !important;
    float: none !important;
    margin-top: 16px !important;
    margin-bottom: 8px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    display: flex !important;
    clear: both !important;
  }
}

/* Suporte aos modos Tablet e Mobile no editor do Elementor */
body.elementor-device-tablet .elementor-form-fields-wrapper,
body.elementor-device-tablet .e-form__step:not(.elementor-hidden),
body.elementor-device-mobile .elementor-form-fields-wrapper,
body.elementor-device-mobile .e-form__step:not(.elementor-hidden) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
}

body.elementor-device-tablet .elementor-field-group,
body.elementor-device-tablet .elementor-field-group.elementor-col-50,
body.elementor-device-tablet .elementor-field-group.elementor-col-100,
body.elementor-device-tablet .elementor-field-group.elementor-column,
body.elementor-device-tablet .e-form__step:not(.elementor-hidden) .elementor-field-group,
body.elementor-device-mobile .elementor-field-group,
body.elementor-device-mobile .elementor-field-group.elementor-col-50,
body.elementor-device-mobile .elementor-field-group.elementor-col-100,
body.elementor-device-mobile .elementor-field-group.elementor-column,
body.elementor-device-mobile .e-form__step:not(.elementor-hidden) .elementor-field-group {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  margin-bottom: 18px !important;
  box-sizing: border-box !important;
}

body.elementor-device-tablet .elementor-form,
body.elementor-device-mobile .elementor-form {
  padding-bottom: 48px !important;
}

body.elementor-device-tablet .elementor-field-type-submit,
body.elementor-device-mobile .elementor-field-type-submit {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 14px !important;
  margin-top: 14px !important;
  margin-bottom: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.elementor-device-tablet .e-form__buttons,
body.elementor-device-mobile .e-form__buttons {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  flex: 1 1 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
  gap: 12px !important;
  border: none !important;
  padding: 0 !important;
}

body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper,
body.elementor-device-tablet .e-form__buttons__wrapper,
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper,
body.elementor-device-mobile .e-form__buttons__wrapper {
  display: flex !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  flex: 1 1 100% !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto !important;
  text-align: center !important;
  padding: 0 !important;
  border: none !important;
}

body.elementor-device-tablet .e-form__buttons button,
body.elementor-device-tablet .e-form__buttons .elementor-button,
body.elementor-device-mobile .e-form__buttons button,
body.elementor-device-mobile .e-form__buttons .elementor-button {
  display: flex !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  flex: 1 1 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 0 20px !important;
}

body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper--next,
body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper-next,
body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
body.elementor-device-tablet .e-form__buttons__wrapper__button--next,
body.elementor-device-tablet .elementor-button[type='submit'],
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper--next,
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper-next,
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper:has([type='submit']),
body.elementor-device-mobile .e-form__buttons__wrapper__button--next,
body.elementor-device-mobile .elementor-button[type='submit'] {
  order: 1 !important;
}

body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper--previous,
body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper-previous,
body.elementor-device-tablet .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
body.elementor-device-tablet .e-form__buttons__wrapper__button--previous,
body.elementor-device-tablet .e-form__buttons__wrapper__button-previous,
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper--previous,
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper-previous,
body.elementor-device-mobile .e-form__buttons .e-form__buttons__wrapper:has(button[class*='previous']),
body.elementor-device-mobile .e-form__buttons__wrapper__button--previous,
body.elementor-device-mobile .e-form__buttons__wrapper__button-previous {
  order: 2 !important;
}

/* ------------------------------------------------------------
   RESPONSIVIDADE (MOBILE < 768px)
   Força 1 coluna 100% vertical e sem interferência do desktop
   ------------------------------------------------------------ */
@media (max-width: 767px) {
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-form,
  .dux-form-container .elementor-form {
    display: flow-root !important;
    padding: 20px 14px 48px 14px !important;
    border-radius: 16px !important;
    overflow: visible !important;
    overflow-y: visible !important;
    overflow-x: clip !important;
    height: auto !important;
    min-height: auto !important;
  }

  /* ============================================================
     BOTÕES FULL-WIDTH 100% NO MOBILE (< 768px)
     ============================================================ */
  .elementor-form .elementor-field-type-submit,
  .dux-form-container .elementor-field-type-submit,
  .dux-form-widget .elementor-field-type-submit,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-type-submit {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
    margin-bottom: 8px !important;
  }

  .elementor-form .e-form__buttons,
  .dux-form-container .e-form__buttons,
  .dux-form-widget .e-form__buttons,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons,
  .e-form__buttons {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
    gap: 12px !important;
  }

  .elementor-form .e-form__buttons__wrapper,
  .dux-form-container .e-form__buttons__wrapper,
  .dux-form-widget .e-form__buttons__wrapper,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons__wrapper,
  .e-form__buttons__wrapper,
  .e-form__buttons .e-form__buttons__wrapper--next,
  .e-form__buttons .e-form__buttons__wrapper--previous,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper--next,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper--previous {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
    text-align: center !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .elementor-form .elementor-button,
  .dux-form-container .e-form__buttons .elementor-button,
  .dux-form-widget .e-form__buttons .elementor-button,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__buttons .elementor-button,
  .e-form__buttons button,
  .e-form__buttons .elementor-button,
  .elementor-button.e-form__buttons__wrapper__button,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper__button--next,
  .dux-form-container .e-form__buttons .e-form__buttons__wrapper__button--previous,
  .dux-form-container .elementor-button[type='submit'] {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 16px !important;
  }
  
  /* Indicadores no mobile: 4 círculos em linha única */
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators,
  .dux-form-container .e-form__indicators,
  .dux-form-widget .e-form__indicators {
    display: flex !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    margin-bottom: 20px !important;
    padding-bottom: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px 0 !important;
    justify-content: space-between !important;
  }
  
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator,
  .dux-form-container .e-form__indicators__indicator,
  .dux-form-widget .e-form__indicators__indicator {
    flex: 1 1 0 !important;
    width: auto !important;
    position: relative !important;
    font-size: 12px !important;
  }
  
  /* Oculta os textos dos steps no mobile para visual clean */
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator__label,
  .dux-form-container .e-form__indicators__indicator__label,
  .dux-form-widget .e-form__indicators__indicator__label {
    display: none !important;
  }
  
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__indicators__indicator__separator,
  .dux-form-container .e-form__indicators__indicator__separator,
  .dux-form-widget .e-form__indicators__indicator__separator,
  .e-form__indicators__indicator__separator {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
  }
  
  /* Colapso para 1 coluna vertical no mobile */
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-form-fields-wrapper,
  .dux-form-container .elementor-form-fields-wrapper,
  .dux-form-widget .elementor-form-fields-wrapper,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step:not(.elementor-hidden),
  .dux-form-container .e-form__step:not(.elementor-hidden),
  .dux-form-widget .e-form__step:not(.elementor-hidden),
  .elementor-field-group.e-form__step:not(.elementor-hidden),
  .e-form__step:not(.elementor-hidden),
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step.e-form__step--active,
  .dux-form-container .e-form__step.e-form__step--active,
  .dux-form-widget .e-form__step.e-form__step--active,
  .elementor-field-group.e-form__step.e-form__step--active,
  .e-form__step.e-form__step--active {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group.elementor-col-50,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group.elementor-col-100,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .elementor-field-group.elementor-column,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .elementor-18879 .elementor-element.elementor-element-68ea2aae .e-form__step.e-form__step--active .elementor-field-group,
  .dux-form-container .elementor-field-group,
  .dux-form-container .elementor-field-group.elementor-col-50,
  .dux-form-container .elementor-field-group.elementor-col-100,
  .dux-form-container .elementor-field-group.elementor-column,
  .dux-form-container .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .dux-form-container .e-form__step.e-form__step--active .elementor-field-group,
  .dux-form-widget .elementor-field-group,
  .dux-form-widget .elementor-field-group.elementor-col-50,
  .dux-form-widget .elementor-field-group.elementor-col-100,
  .dux-form-widget .elementor-field-group.elementor-column,
  .dux-form-widget .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .dux-form-widget .e-form__step.e-form__step--active .elementor-field-group,
  .e-form__step:not(.elementor-hidden) .elementor-field-group,
  .e-form__step.e-form__step--active .elementor-field-group {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 18px !important;
    box-sizing: border-box !important;
  }

  .dux-step-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
  }
  
  .dux-step-title {
    font-size: 19px;
  }
  
  .dux-step-subtitle {
    font-size: 13px;
  }
}/* End custom CSS */