.elementor-47 .elementor-element.elementor-element-5729276{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-47 .elementor-element.elementor-element-98c4813{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#E6EAF2;--border-color:#E6EAF2;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-47 .elementor-element.elementor-element-98c4813:not(.elementor-motion-effects-element-type-background), .elementor-47 .elementor-element.elementor-element-98c4813 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F6FB;}.elementor-47 .elementor-element.elementor-element-65aa2f3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:48px;--padding-bottom:52px;--padding-left:24px;--padding-right:24px;}.elementor-widget-breadcrumbs{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-47 .elementor-element.elementor-element-d2535c7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 17.6px) 0px;font-family:"Libre Franklin", Sans-serif;font-size:13px;color:#323843;}.elementor-47 .elementor-element.elementor-element-d2535c7 a{color:#565E6C;}.elementor-47 .elementor-element.elementor-element-d2535c7 a:hover{color:#0D4A9A;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-47 .elementor-element.elementor-element-1327851 .elementor-heading-title{font-family:"Libre Franklin", Sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#0D4A9A;}.elementor-47 .elementor-element.elementor-element-c598ca2{width:var( --container-widget-width, 563px );max-width:563px;margin:5.6px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:563px;--container-widget-flex-grow:0;}.elementor-47 .elementor-element.elementor-element-c598ca2 .elementor-heading-title{font-family:"Spectral", Sans-serif;font-size:45.6px;font-weight:700;line-height:1.1em;color:#14181F;}.elementor-47 .elementor-element.elementor-element-b465974{width:var( --container-widget-width, 908px );max-width:908px;margin:14.4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:908px;--container-widget-flex-grow:0;}.elementor-47 .elementor-element.elementor-element-b465974 .elementor-heading-title{font-family:"Libre Franklin", Sans-serif;font-size:20px;font-weight:400;line-height:1.55em;color:#565E6C;}.elementor-47 .elementor-element.elementor-element-723bf0f{--display:flex;--position:relative;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:24px;--margin-bottom:9px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;}body:not(.rtl) .elementor-47 .elementor-element.elementor-element-723bf0f{left:0px;}body.rtl .elementor-47 .elementor-element.elementor-element-723bf0f{right:0px;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-47 .elementor-element.elementor-element-2c94eb1{--divider-border-style:solid;--divider-color:#D3DAE6;--divider-border-width:1px;}.elementor-47 .elementor-element.elementor-element-2c94eb1 .elementor-divider-separator{width:100%;margin:0 auto;margin-left:0;}.elementor-47 .elementor-element.elementor-element-2c94eb1 .elementor-divider{text-align:left;padding-block-start:0px;padding-block-end:0px;}.elementor-47 .elementor-element.elementor-element-bcc4eee{--display:flex;--position:absolute;--min-height:2px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;}.elementor-47 .elementor-element.elementor-element-bcc4eee:not(.elementor-motion-effects-element-type-background), .elementor-47 .elementor-element.elementor-element-bcc4eee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0D4A9A;}body:not(.rtl) .elementor-47 .elementor-element.elementor-element-bcc4eee{left:0px;}body.rtl .elementor-47 .elementor-element.elementor-element-bcc4eee{right:0px;}.elementor-47 .elementor-element.elementor-element-015559c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:96px;--padding-bottom:96px;--padding-left:0px;--padding-right:0px;}.elementor-47 .elementor-element.elementor-element-015559c:not(.elementor-motion-effects-element-type-background), .elementor-47 .elementor-element.elementor-element-015559c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-47 .elementor-element.elementor-element-5059786{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-47 .elementor-element.elementor-element-c2b13a3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E6EAF2;--border-color:#E6EAF2;--border-radius:8px 8px 8px 8px;box-shadow:0px 1px 1px 0px rgba(20,24,31,0.04);--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-47 .elementor-element.elementor-element-c2b13a3:not(.elementor-motion-effects-element-type-background), .elementor-47 .elementor-element.elementor-element-c2b13a3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-button-content-wrapper{flex-direction:row;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group{padding-right:calc( 17.6px/2 );padding-left:calc( 17.6px/2 );margin-bottom:17.6px;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-form-fields-wrapper{margin-left:calc( -17.6px/2 );margin-right:calc( -17.6px/2 );margin-bottom:-17.6px;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-labels-inline .elementor-field-group > label{padding-left:6.4px;}body:not(.rtl) .elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-labels-inline .elementor-field-group > label{padding-right:6.4px;}body .elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-labels-above .elementor-field-group > label{padding-bottom:6.4px;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group > label, .elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-subgroup label{color:#14181F;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-mark-required .elementor-field-label:after{color:#BC2E2E;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group > label{font-family:"Libre Franklin", Sans-serif;font-size:16px;font-weight:600;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-type-html{padding-bottom:0px;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group .elementor-field{color:#14181F;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group .elementor-field, .elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-subgroup label{font-family:"Libre Franklin", Sans-serif;font-size:17px;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#FFFFFF;border-color:#7A8393;border-width:1.5px 1.5px 1.5px 1.5px;border-radius:6px 6px 6px 6px;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group .elementor-select-wrapper select{background-color:#FFFFFF;border-color:#7A8393;border-width:1.5px 1.5px 1.5px 1.5px;border-radius:6px 6px 6px 6px;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group .elementor-select-wrapper::before{color:#7A8393;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-button{font-family:"Libre Franklin", Sans-serif;font-size:17px;font-weight:600;border-radius:6px 6px 6px 6px;padding:11.2px 20px 11.2px 20px;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper__button-next{background-color:#0D4A9A;color:#FFFFFF;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-button[type="submit"]{background-color:#0D4A9A;color:#FFFFFF;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-button[type="submit"] svg *{fill:#FFFFFF;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper__button-previous{background-color:rgba(0,0,0,0);color:#0D4A9A;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper__button-next:hover{background-color:#0B3E86;color:#FFFFFF;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-button[type="submit"]:hover{background-color:#0B3E86;color:#FFFFFF;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-button[type="submit"]:hover svg *{fill:#FFFFFF;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper__button-previous:hover{background-color:#EAF1F9;color:#0D4A9A;}.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator, .elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator__label{font-family:"Libre Franklin", Sans-serif;font-size:13px;font-weight:600;}.elementor-47 .elementor-element.elementor-element-a2ccb24{--e-form-steps-indicators-spacing:32px;--e-form-steps-indicator-padding:34px;--e-form-steps-indicator-inactive-primary-color:#7A8393;--e-form-steps-indicator-inactive-secondary-color:#FBFCFE;--e-form-steps-indicator-active-primary-color:#0D4A9A;--e-form-steps-indicator-active-secondary-color:#EAF1F9;--e-form-steps-indicator-completed-primary-color:#0D4A9A;--e-form-steps-indicator-completed-secondary-color:#FFFFFF;--e-form-steps-divider-width:2px;--e-form-steps-divider-gap:10px;}@media(min-width:768px){.elementor-47 .elementor-element.elementor-element-65aa2f3{--content-width:1152px;}.elementor-47 .elementor-element.elementor-element-723bf0f{--width:200px;}.elementor-47 .elementor-element.elementor-element-bcc4eee{--width:36px;}.elementor-47 .elementor-element.elementor-element-5059786{--content-width:1152px;}.elementor-47 .elementor-element.elementor-element-c2b13a3{--width:780px;}}/* Start custom CSS for form, class: .elementor-element-a2ccb24 *//* =========================== .control =============================== */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-textual {
  min-height: 48px;
  padding: 11.2px 14.4px;
  transition: border-color 140ms cubic-bezier(0.2, 0, 0, 1),
              box-shadow 140ms cubic-bezier(0.2, 0, 0, 1);
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-textual::placeholder { color: #7A8393; opacity: 1; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-textual:focus {
  border-color: #0D4A9A;
  box-shadow: 0 0 0 3px rgba(13, 74, 154, 0.35);
  outline: none;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 input.elementor-field-textual,
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-select-wrapper select { line-height: normal; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 textarea.elementor-field-textual {
  line-height: 1.55;
  min-height: 128px;
  resize: vertical;
}

/* ---- select: a seta do Elementor e um triangulo cheio do eicons ---- */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-select-wrapper select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 44px;
  cursor: pointer;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .select-caret-down-wrapper i,
.elementor-47 .elementor-element.elementor-element-a2ccb24 .select-caret-down-wrapper svg { display: none; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .select-caret-down-wrapper {
  inset-inline-end: 13.6px;
  display: inline-flex;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .select-caret-down-wrapper::after {
  content: "";
  width: 18px;
  height: 18px;
  background-color: #565E6C;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-chevron-down%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22m6%209%206%206%206-6%22%20%2F%3E%20%3C%2Fsvg%3E") center / 18px 18px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-chevron-down%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22m6%209%206%206%206-6%22%20%2F%3E%20%3C%2Fsvg%3E") center / 18px 18px no-repeat;
}

/* ============================ rotulos ================================ */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group > label { line-height: 1.55; }
/* o Elementor separa o asterisco com .2em; a .field__req usa 3px */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-mark-required .elementor-field-label::after { padding-inline-start: 3px; }

/* .field__opt — o Elementor nao tem marcador de opcional */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group:not(.elementor-field-required):not(.elementor-field-type-acceptance):not(.elementor-field-type-html):not(.elementor-field-type-step):not(.elementor-field-type-submit):not(.elementor-field-type-honeypot) > label::after {
  content: "(opcional)";
  color: #7A8393;
  font-weight: 400;
  margin-left: 6px;
}

/* ====================== .checkbox (aceite LGPD) ====================== */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-type-acceptance > .elementor-field-label { display: none; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-type-acceptance .elementor-field-option {
  display: flex;
  align-items: flex-start;
  gap: 9.6px;
  min-height: 44px;
  padding: 3.2px 0;
  cursor: pointer;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-type-acceptance .elementor-field-option input {
  margin-top: 3px;
  width: 20px;
  height: 20px;
  min-height: 0;
  accent-color: #0D4A9A;
  flex: none;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-type-acceptance .elementor-field-option label {
  font-size: 1.0625rem;
  color: #323843;
  line-height: 1.4;
  cursor: pointer;
}

/* ============================== .btn ================================= */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-button {
  min-height: 54px;
  line-height: 1.1;
  letter-spacing: 0.005em;
  white-space: nowrap;
  /* .btn { border: 1px solid transparent } — nos botoes cheios a borda tem a
     cor do fundo, entao transparente da o mesmo desenho; o Voltar recebe a
     sua pelo controle previous_button_border_color. */
  border: 1px solid transparent;
  transition: background 140ms cubic-bezier(0.2, 0, 0, 1),
              transform 140ms cubic-bezier(0.2, 0, 0, 1);
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-button .elementor-button-content-wrapper { gap: 8px; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-button .elementor-button-icon svg { width: 18px; height: 18px; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-button:active { transform: translateY(1px); }

/* ======================= .form-alert (estados) ======================= */
/* O Elementor anexa a mensagem no fim do <form>; o original mostra antes. */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-form { display: flex; flex-direction: column; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-message:not(.elementor-help-inline) {
  order: -1;
  display: flex;
  align-items: flex-start;
  gap: 13.6px;
  margin: 0 0 24px;
  padding: 16px 18.4px;
  border-radius: 6px;
  font-size: 1.125rem;
  line-height: 1.5;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-message:not(.elementor-help-inline)::before {
  content: "";
  flex: none;
  width: 22px;
  height: 22px;
  margin-top: 2px;
  background-image: none;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 22px 22px;
  mask-size: 22px 22px;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-message:not(.elementor-help-inline) strong {
  display: block;
  font-weight: 700;
  color: #14181F;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-message:not(.elementor-help-inline) p {
  margin: 4px 0 0;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #323843;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-message:not(.elementor-help-inline) a { color: #0D4A9A; }

.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-message-success {
  background: #E4F1E9;
  border-left: 3px solid #1E7D4E;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-message-success::before {
  background-color: #1E7D4E;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-check-circle-2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M21.801%2010A10%2010%200%201%201%2017%203.335%22%20%2F%3E%20%3Cpath%20d%3D%22m9%2011%203%203L22%204%22%20%2F%3E%20%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-check-circle-2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M21.801%2010A10%2010%200%201%201%2017%203.335%22%20%2F%3E%20%3Cpath%20d%3D%22m9%2011%203%203L22%204%22%20%2F%3E%20%3C%2Fsvg%3E");
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-message-danger:not(.elementor-help-inline) {
  background: #F8E7E7;
  border-left: 3px solid #BC2E2E;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-message-danger:not(.elementor-help-inline)::before {
  background-color: #BC2E2E;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-alert-circle%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%20%3Cline%20x1%3D%2212%22%20x2%3D%2212%22%20y1%3D%228%22%20y2%3D%2212%22%20%2F%3E%20%3Cline%20x1%3D%2212%22%20x2%3D%2212.01%22%20y1%3D%2216%22%20y2%3D%2216%22%20%2F%3E%20%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-alert-circle%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%20%3Cline%20x1%3D%2212%22%20x2%3D%2212%22%20y1%3D%228%22%20y2%3D%2212%22%20%2F%3E%20%3Cline%20x1%3D%2212%22%20x2%3D%2212.01%22%20y1%3D%2216%22%20y2%3D%2216%22%20%2F%3E%20%3C%2Fsvg%3E");
}
/* .form-alert--falha: o Elementor usa a mesma div do erro, entao o estado
   ambar e marcado por um <span class="tn-falha"> dentro da mensagem. */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-message-danger:has(.tn-falha) {
  background: #F7ECDD;
  border-left-color: #A85D00;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-message-danger:has(.tn-falha)::before {
  background-color: #A85D00;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-alert-triangle%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%20%2F%3E%20%3Cpath%20d%3D%22M12%209v4%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2017h.01%22%20%2F%3E%20%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-alert-triangle%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%20%2F%3E%20%3Cpath%20d%3D%22M12%209v4%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2017h.01%22%20%2F%3E%20%3C%2Fsvg%3E");
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .tn-falha { display: none; }

/* ---- .field__erro + .control[aria-invalid="true"] ---- */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-help-inline {
  display: block;
  margin: 2.4px 0 0;
  font-size: 0.875rem;
  line-height: 1.4;
  color: #BC2E2E;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-help-inline::before { content: none; }
/* precisa passar da regra de field_border_color, que tem cinco classes */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group.elementor-error .elementor-field.elementor-field-textual,
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-group.elementor-error .elementor-select-wrapper select.elementor-field-textual { border-color: #BC2E2E; }

/* O row_gap deixa sobra depois do botao, dentro do .form-card */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-form-fields-wrapper > .elementor-field-group:last-child { margin-bottom: 0; }

/* A isca anti-spam: o Honeypot_Handler troca a classe da div por
   `elementor-field-type-text` e some com a de grupo. Cuidado: o FormSteps
   tambem tira `elementor-field-group` do wrapper de cada etapa, entao a regra
   precisa casar o tipo, e nao so a ausencia da classe. */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-form-fields-wrapper > .elementor-field-type-text:not(.elementor-field-group) { display: none; }

/* ========================= .cert-option ============================== */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-type-radio .elementor-field-subgroup {
  display: grid;
  gap: 12px;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-type-radio .elementor-field-option {
  display: flex;
  gap: 13.6px;
  align-items: flex-start;
  padding: 16px 18.4px;
  background: #FFFFFF;
  border: 1.5px solid #D3DAE6;
  border-radius: 6px;
  cursor: pointer;
  transition: border-color 140ms cubic-bezier(0.2, 0, 0, 1),
              background 140ms cubic-bezier(0.2, 0, 0, 1);
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-type-radio .elementor-field-option:hover { border-color: #0D4A9A; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-type-radio .elementor-field-option:has(input:checked) {
  border-color: #0D4A9A;
  background: #EAF1F9;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-type-radio .elementor-field-option input {
  margin-top: 2px;
  width: 20px;
  height: 20px;
  min-height: 0;
  accent-color: #0D4A9A;
  flex: none;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-type-radio .elementor-field-option label { cursor: pointer; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .cert-option__title {
  display: block;
  font-weight: 600;
  font-size: 1.125rem;
  color: #14181F;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .cert-option__desc {
  display: block;
  font-size: 0.875rem;
  color: #565E6C;
  margin-top: 1.6px;
}
/* o rotulo do radio nao mostra o marcador de obrigatorio no original */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-type-radio.elementor-mark-required .elementor-field-label::after { content: none; }

/* ==================== .wizard__legend / __hint ======================= */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .wizard__legend {
  font-family: 'Spectral', Georgia, 'Times New Roman', serif;
  font-size: clamp(1.3rem, 2.2vw, 1.6rem);
  font-weight: 700;
  line-height: 1.25;
  color: #14181F;
  margin: 0 0 6.4px;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .wizard__hint {
  color: #565E6C;
  font-size: 0.9375rem;
  line-height: 1.5;
  margin: 0 0 22.4px;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-field-type-html { width: 100%; }

/* ========================== .wizard__note ============================ */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .wizard__note {
  display: flex;
  align-items: flex-start;
  gap: 9.6px;
  margin-top: 19.2px;
  font-size: 0.875rem;
  color: #565E6C;
  line-height: 1.5;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .wizard__note::before {
  content: "";
  flex: none;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  background-color: #0D4A9A;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-info%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2016v-4%22%20%2F%3E%20%3Cpath%20d%3D%22M12%208h.01%22%20%2F%3E%20%3C%2Fsvg%3E") center / 16px 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-info%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2016v-4%22%20%2F%3E%20%3Cpath%20d%3D%22M12%208h.01%22%20%2F%3E%20%3C%2Fsvg%3E") center / 16px 16px no-repeat;
}

/* ============================ .stepper =============================== */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators { align-items: flex-start; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator { flex-grow: 1; position: relative; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator__separator { display: none; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator::before {
  content: "";
  position: absolute;
  top: 16px;
  right: 50%;
  width: 100%;
  height: 2px;
  background: #D3DAE6;
  z-index: 0;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator:first-child::before { display: none; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator--state-active::before,
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator--state-completed::before { background: #0D4A9A; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator__number { position: relative; z-index: 1; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator__number {
  border-width: 2px;
  margin-bottom: 7.2px;
  font-size: 0.875rem;
  font-weight: 700;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator--state-inactive .e-form__indicators__indicator__number { border-color: #D3DAE6; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator--state-inactive .e-form__indicators__indicator__label { color: #7A8393; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number {
  border-color: #0D4A9A;
  background-color: #EAF1F9;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator--state-active .e-form__indicators__indicator__label { color: #14181F; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number { border-color: #0D4A9A; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__label { color: #565E6C; }

/* ========================== .wizard__nav ============================= */
/* `.e-form__buttons` e a barra; cada botao ganha um `__wrapper` proprio, que
   ainda carrega `elementor-field-group` e por isso herda o gap do formulario. */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 30.4px;
  margin-bottom: 0;
  /* o wrapper dos campos usa margem negativa de metade do column_gap; sem
     isto o filete da barra passa 8,8px de cada lado dos campos */
  margin-left: 8.8px;
  margin-right: 8.8px;
  padding-top: 22.4px;
  border-top: 1px solid #E6EAF2;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper {
  flex: 0 0 auto;
  width: auto;
  margin-bottom: 0;
  padding-right: 0;
  padding-left: 0;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper.elementor-field-type-next,
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper.elementor-field-type-submit,
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons > .elementor-field-type-submit { margin-left: auto; }
/* aqui os botoes sao .btn (48px), e nao o .btn--lg do formulario de contato */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons .elementor-button { min-height: 48px; }

/* .btn--secondary do Voltar e .btn--whatsapp do envio; o controle
   button_background_color vale para Continuar e Enviar ao mesmo tempo */
/* .btn--secondary: aqui a borda aparece, e a base transparente a cobriria */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper__button-previous { border: 1.5px solid #0D4A9A; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-button[type="submit"] {
  background-color: #25D366;
  border-color: #25D366;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .elementor-button[type="submit"]:hover {
  background-color: #1EB958;
  border-color: #1EB958;
}
/* Os botoes Voltar/Continuar sao criados pelo JS e nao aceitam icone */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper__button-previous::before,
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper__button-next::after {
  content: "";
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 18px 18px;
  mask-size: 18px 18px;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper__button-previous::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-arrow-left%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22m12%2019-7-7%207-7%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2012H5%22%20%2F%3E%20%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-arrow-left%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22m12%2019-7-7%207-7%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2012H5%22%20%2F%3E%20%3C%2Fsvg%3E");
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper__button-next::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-arrow-right%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M5%2012h14%22%20%2F%3E%20%3Cpath%20d%3D%22m12%205%207%207-7%207%22%20%2F%3E%20%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-arrow-right%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M5%2012h14%22%20%2F%3E%20%3Cpath%20d%3D%22m12%205%207%207-7%207%22%20%2F%3E%20%3C%2Fsvg%3E");
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper__button-previous,
.elementor-47 .elementor-element.elementor-element-a2ccb24 .e-form__buttons__wrapper__button-next {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* ============================= .review =============================== */
.elementor-47 .elementor-element.elementor-element-a2ccb24 .review { display: flex; flex-direction: column; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .review__row {
  display: flex;
  flex-direction: column;
  gap: 2.4px;
  padding: 11.2px 0;
  border-bottom: 1px solid #E6EAF2;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .review__row:first-child { padding-top: 0; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .review__k {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #0D4A9A;
}
.elementor-47 .elementor-element.elementor-element-a2ccb24 .review__v { color: #323843; white-space: pre-wrap; word-break: break-word; }
.elementor-47 .elementor-element.elementor-element-a2ccb24 .review__empty { color: #7A8393; }/* End custom CSS */