/* RETINA DISPLAY STYLES */ 
/*=================================================================
FORMULARIOS

  0. VARIAVEIS / TOKENS

  FORMULARIO GERAL
  1. TITULOS
     1.1 Esconder titulo do formulario
     1.2 Secoes do formulario
  2. TEXTOS DOS CAMPOS
     2.1 Margens e labels
     2.2 Legend
     2.3 Labels
     2.4 Descricoes
  3. ESTILOS DOS CAMPOS
     3.1 Inputs gerais
     3.2 Selects
     3.3 Textareas
     3.4 Checkbox e Radio
     3.5 Image choice
     3.6 Inputs file
  4. BOTOES
     4.1 Lista de textos (+/-)
     4.2 Botao Submeter
     4.3 Botao input file
  5. ESTADOS GERAIS
     5.1 Focus
     5.2 Hover
     5.3 Checked
     5.4 Erros / Campos obrigatorios
	 5.5 Popup de envio

  FORMULARIO DE NEWSLETTER
  6. CONTAINER GERAL
  7. LABELS
  8. INPUTS DE TEXTO / EMAIL / SELECT / TEXTAREA
  9. CONSENTIMENTO (Checkbox)
 10. BOTAO SUBMIT
=================================================================*/

/*========================== 0. VARIAVEIS / TOKENS ==========================*/
:root {
  --form-font-family: var(--e-global-typography-primary-font-family);

  --form-title-size: 1rem;
  --form-title-line-height: 1.4;
  --form-title-weight: 700;

  --form-label-size: 1rem;
  --form-label-line-height: var(--e-global-typography-primary-line-height);
  --form-label-weight: 700;

  --form-description-size: 1rem;
  --form-description-line-height: 1.6;
  --form-description-weight: 400;

  --form-field-size: 1rem;
  --form-button-size: 1rem;

  --form-field-height: 56px;
  --form-field-radius: 8px;
  --form-field-padding: 12px 16px;
  --form-field-border: 1px solid var(--line-default);
  --form-choice-gap: 16px;

  --form-error-size: 0.875rem;
  --form-error-color: #c02b0a;
  --form-newsletter-check-size: 26px;

}


/*========================== 1. TITULOS ==========================*/
/* 1.1 Esconder titulo do formulario */
body .gform_wrapper .gform_heading h2.gform_title {
  display: none !important;
}

/* 1.2 Secoes do formulario */
.gsection_title {
  margin-top: 16px;
  margin-bottom: 0 !important;
  color: var(--text-primary) !important;
  font-family: var(--bde-heading-font-family) !important;
  font-size: var(--form-title-size) !important;
  line-height: var(--form-title-line-height) !important;
  font-weight: var(--form-title-weight) !important;
}

.gsection_description {
  margin-top: 0;
  margin-bottom: -8px !important;
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-description-size) !important;
  line-height: var(--form-description-line-height) !important;
  font-weight: var(--form-description-weight) !important;
}

.gfield--type-section {
  margin-top: 16px !important;
  border-top: 1px solid var(--line-destaque) !important;
  border-bottom: none !important;
  padding-top: 24px !important;
  padding-bottom: 0 !important;
}

/*========================== 2. TEXTOS DOS CAMPOS ==========================*/
/* 2.1 Margens e labels */
.gform-theme--framework .gfield_list_group_item::before,
.gform-theme--framework .gform-field-label:where(:not([class*=gform-field-label--type-])) {
  --gf-local-margin-y: 8px !important;
  margin-top: 0 !important;
}

/* 2.2 Legend */
.gform-theme--framework legend.gform-field-label:where(
  :not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)
) {
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-label-size) !important;
  line-height: var(--form-label-line-height) !important;
  font-weight: var(--form-label-weight) !important;
}

/* 2.3 Titulos dos campos */
.gform-theme--framework .gfield_label,
.gform-theme--framework .gfield_list_group_item::before {
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-label-size) !important;
  line-height: var(--form-label-line-height) !important;
  font-weight: var(--form-label-weight) !important;
}

/* Labels de opcoes, consentimento e textos auxiliares mantem aspecto de body */
.gform-theme--framework label.gform-field-label--type-sub,
.gform-theme--framework label.gform-field-label:not(.gfield_label):not(.gform-field-label--type-sub),
.gform-theme--framework .gchoice label.gform-field-label,
.gform-theme--framework label.gform-field-label--type-inline,
.gform_wrapper .ginput_container_consent label,
.gform_wrapper label.gfield_consent_label {
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-description-size) !important;
  line-height: var(--form-description-line-height) !important;
  font-weight: var(--form-description-weight) !important;
}

/* Remove recuos laterais extras nos textos inline */
.gform-theme--framework label.gform-field-label--type-inline,
.gform-theme--framework .gchoice label.gform-field-label,
.gform_wrapper .ginput_container_consent label,
.gform_wrapper label.gfield_consent_label {
  --gf-local-margin-x: 0 !important;
  margin-left: 0 !important;
  margin-inline-start: 0 !important;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
  text-indent: 0 !important;
}

/* 2.4 Descricoes */
.gform_wrapper .gfield_description,
.gform_wrapper .gfield_consent_description {
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-description-size) !important;
  line-height: var(--form-description-line-height) !important;
  font-weight: var(--form-description-weight) !important;
}

/*========================== 3. ESTILOS DOS CAMPOS ==========================*/
/* 3.1 Inputs gerais */
.ginput_container input[type="text"],
.ginput_container input[type="number"],
.ginput_container input[type="url"],
.ginput_container input[type="tel"],
.ginput_container input[type="email"],
.ginput_container input[type="password"],
.ginput_container input[type="date"],
.ginput_container input[type="time"],
.ginput_container input[type="file"],
.ginput_container input[type="search"],
.ginput_container input[type="week"],
.ginput_container input[type="month"],
.ginput_container input[type="datetime-local"],
.ginput_container_address input,
.ginput_container_website input,
.ginput_container_post_title input,
.ginput_container_post_excerpt input,
.ginput_container_post_image input,
.gfield_list_group_item input,
.gfield_list_cell input {
  height: var(--form-field-height) !important;
  padding: var(--form-field-padding) !important;
  border: var(--form-field-border) !important;
  border-radius: var(--form-field-radius) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-field-size) !important;
  line-height: var(--form-label-line-height) !important;
  color: var(--text-primary) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
}

/* 3.2 Selects */
.ginput_container select,
.ginput_container_select select,
.gfield_list_cell select,
.ginput_complex select {
  --gf-local-padding-y: 0 !important;
  --gf-local-line-height: var(--form-field-height) !important;
  height: var(--form-field-height) !important;
  min-height: var(--form-field-height) !important;
  padding: 0 36px 0 16px !important;
  border: var(--form-field-border) !important;
  border-radius: var(--form-field-radius) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-field-size) !important;
  line-height: var(--form-field-height) !important;
  color: var(--text-primary) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
  appearance: none;
}

/* Select multiplo */
.ginput_container select[multiple],
.ginput_container_select select[multiple],
.gfield_list_cell select[multiple],
.ginput_complex select[multiple] {
  height: auto !important;
  min-height: 112px !important;
  padding: 8px !important;
  line-height: var(--form-description-line-height) !important;
}

.gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))[multiple] option {
  padding: 8px !important;
  border-radius: var(--form-field-radius) !important;
}

.gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))[multiple] option:checked {
  background: var(--background-neutral-tertiary) !important;
}

.gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))[multiple] option:hover {
  color: var(--background-palette-primary) !important;
}

/* Inputs complexos */
.gform-theme--foundation .gfield .ginput_password.medium,
.gform-theme--foundation .gfield input.medium,
.gform-theme--foundation .gfield select.medium {
  inline-size: 100% !important;
}

/* 3.3 Textareas */
.ginput_container textarea,
.ginput_container_textarea textarea,
.ginput_container_post_excerpt textarea,
.ginput_container_post_content textarea,
.gfield_list_cell textarea {
  min-height: 112px !important;
  padding: var(--form-field-padding) !important;
  border: var(--form-field-border) !important;
  border-radius: var(--form-field-radius) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-field-size) !important;
  line-height: var(--form-description-line-height) !important;
  color: var(--text-primary) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
  resize: vertical;
}

/* 3.4 Checkbox e Radio */
.gform_wrapper input[type="checkbox"],
.gform_wrapper input[type="radio"] {
  padding: 12px !important;
  height: 20px !important;
  width: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  border: var(--form-field-border) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
  vertical-align: middle;
  margin-right: 0 !important;
  flex: 0 0 20px;
}

/* Radio */
.gform_wrapper input[type="radio"] {
  border-radius: var(--border-radious) !important;
}

.gform_wrapper input[type="radio"]:checked::before {
  background-color: var(--status-selected) !important;
}

/* Checkbox */
.gform_wrapper input[type="checkbox"] {
  border-radius: var(--form-field-radius) !important;
}

.gform_wrapper input[type="checkbox"]:checked::before {
  color: var(--status-selected) !important;
}

/* 3.5 Image Choice */
.ginput_container_image_choice .gchoice {
  border: var(--form-field-border) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
  border-radius: var(--form-field-radius) !important;
}

.gform-theme--framework .gfield--type-image_choice.gfield--image-choice-appearance-card .gchoice:where(:has(input:checked))::after {
  background-color: var(--background-palette-primary) !important;
  color: var(--background-neutral-primary) !important;
}

.gform-theme--framework .gfield--type-choice .gchoice,
.gform-theme--framework .gfield--type-choice .ginput_container_consent {
  align-items: center !important;
  gap: var(--form-choice-gap) !important;
}

.gform_wrapper .ginput_container_consent {
  display: flex !important;
  align-items: flex-start !important;
  gap: var(--form-choice-gap) !important;
}

.gform-theme--framework .gfield--type-choice .ginput_container_consent {
  align-items: flex-start !important;
}

.gform_wrapper .gfield_checkbox .gchoice,
.gform_wrapper .gfield_radio .gchoice,
.gform_wrapper .gfield-image-choice-wrapper-inner {
  display: flex !important;
  align-items: center !important;
  gap: var(--form-choice-gap) !important;
}

.gform-theme--framework .gfield--type-image_choice.gfield--image-choice-appearance-card .gchoice:focus-within,
.gform-theme--framework .gfield--type-image_choice.gfield--image-choice-appearance-no-card .gchoice:focus-within .gfield-choice-image-wrapper {
  --gf-local-border-color: var(--line-destaque) !important;
  --gf-local-outline-color: var(--line-destaque) !important;
  --gf-local-outline-width: 1px !important;
}

/* 3.6 Inputs file */
.gform_wrapper input[type="file"] {
  padding: 0 !important;
}

#input_2_24::file-selector-button {
  height: var(--form-field-height) !important;
  border: none !important;
  border-right: 1px solid var(--line-default) !important;
  background-color: var(--background-neutral-primary) !important;
  color: var(--text-destaque) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-field-size) !important;
  font-weight: var(--form-title-weight) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

#input_2_24::file-selector-button:hover {
  border-color: var(--background-palette-tertiary) !important;
  color: var(--background-palette-tertiary) !important;
}

/*========================== 4. BOTOES ==========================*/
/* 4.1 Lista de textos (+/-) */
.gfield_list_icons {
  width: auto !important;
}

.gform-theme--foundation .gfield_header_item--icons,
.gform-theme--foundation .gfield_list_icons {
  display: flex;
  align-items: center;
  gap: 8px !important;
}

/* Botoes da lista */
.gfield_list_icons button {
  width: var(--form-field-height) !important;
  height: var(--form-field-height) !important;
  border-radius: var(--form-field-radius) !important;
  border: var(--form-field-border) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
}

.gfield_list_icons button::before {
  color: var(--status-selected) !important;
}

.gfield_list_icons button:hover:not(:disabled) {
  border-color: var(--background-palette-tertiary) !important;
}

.gfield_list_icons button:hover:not(:disabled)::before {
  color: var(--background-palette-tertiary) !important;
}

.gfield_list_icons button:disabled {
  border-color: var(--status-inactive) !important;
  background-color: var(--background-neutral-primary) !important;
  visibility: visible !important;
}

.gfield_list_icons button:disabled::before {
  color: var(--status-inactive) !important;
}

/* 4.2 Botao Submeter */
.gform_wrapper .gform_button {
  --gf-local-height: var(--form-field-height) !important;
  --gf-local-bg-color: var(--background-palette-primary) !important;
  min-height: var(--form-field-height) !important;
  border-radius: var(--form-field-radius) !important;
  box-shadow: none !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-button-size) !important;
  line-height: var(--form-title-line-height) !important;
  font-weight: var(--form-title-weight) !important;
  color: var(--text-secondary) !important;
  margin-top: 40px !important;
}

.gform_wrapper .gform_button:hover {
  --gf-local-bg-color: var(--status-hover) !important;
}

/*========================== 5. ESTADOS GERAIS ==========================*/
/* 5.1 Focus */
.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
  border-color: var(--line-destaque) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px var(--line-destaque) !important;
}

/* 5.2 Hover */
.gform_wrapper input:hover:not(:focus),
.gform_wrapper textarea:hover:not(:focus),
.gform_wrapper select:hover:not(:focus) {
  border-color: var(--status-hover) !important;
}

/* 5.3 Checked */
.gform_wrapper input:checked:not(:focus) {
  border-color: var(--line-default) !important;
}

/* 5.4 Erros / Campos obrigatorios */
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
  color: var(--form-error-color) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-error-size) !important;
  line-height: var(--form-description-line-height) !important;
  font-weight: var(--form-description-weight) !important;
}

.gform_wrapper .gfield_required {
  color: var(--form-error-color) !important;
}

/* 5.5 Popup de envio */
.form-success-popup {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.48);
}

.form-success-popup.is-active {
  display: flex;
}

.form-success-popup__icon::before {
  content: "";
  width: 18px;
  height: 32px;
  border: solid var(--text-secondary);
  border-width: 0 4px 4px 0;
  transform: rotate(45deg) translate(-2px, -2px);
}

.form-success-popup__title {
  margin: 0;
  color: var(--text-primary);
  font-family: var(--form-font-family);
  font-size: 20px;
  line-height: 1.5;
  font-weight: 700;
}

.form-success-popup__content p {
  margin: 0;
}

body.form-success-popup-open {
  overflow: hidden;
}

.form-success-source-hidden {
  display: none !important;
}

.form-success-popup__content a {
  color: var(--background-palette-primary) !important;
  font-weight: var(--form-title-weight) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}



.form-success-popup__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--text-primary);
  font-family: var(--form-font-family);
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
  cursor: pointer;
  box-shadow: none;
}

.form-success-popup__close:hover {
  color: var(--background-palette-primary);
}


/*=================================================================
FORMULARIO DE NEWSLETTER
=================================================================*/

/*========================== 6. CONTAINER GERAL ==========================*/
.tnp {
  width: 100% !important;
  max-width: 100% !important;
}

/*========================== 7. LABELS ==========================*/
.tnp .tnp-field label,
.tnp .tnp-field label a {
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-label-size) !important;
  line-height: var(--form-label-line-height) !important;
  font-weight: var(--form-label-weight) !important;
  margin-bottom: 8px;
}

/*========================== 8. INPUTS DE TEXTO / EMAIL / SELECT / TEXTAREA ==========================*/
/* 8.1 Estado normal */
.tnp-subscription input[type="text"],
.tnp-subscription input[type="email"],
.tnp-subscription select,
.tnp-subscription textarea,
.tnp-profile input[type="text"],
.tnp-profile input[type="email"],
.tnp-profile input[type="submit"],
.tnp-profile select,
.tnp-profile textarea {
  height: var(--form-field-height) !important;
  padding: var(--form-field-padding) !important;
  border: var(--form-field-border) !important;
  border-radius: var(--form-field-radius) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-field-size) !important;
  line-height: var(--form-label-line-height) !important;
  color: var(--text-primary) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
  margin-bottom: 40px !important;
}

.tnp-subscription select,
.tnp-profile select {
  --gf-local-padding-y: 0 !important;
  --gf-local-line-height: var(--form-field-height) !important;
  padding: 0 36px 0 16px !important;
  line-height: var(--form-field-height) !important;
  appearance: none;
}

.tnp-subscription textarea,
.tnp-profile textarea {
  min-height: 112px !important;
  line-height: var(--form-description-line-height) !important;
  resize: vertical;
}

/* 8.2 Focus */
.tnp-subscription input[type="text"]:focus,
.tnp-subscription input[type="email"]:focus,
.tnp-subscription select:focus,
.tnp-subscription textarea:focus,
.tnp-profile input[type="text"]:focus,
.tnp-profile input[type="email"]:focus,
.tnp-profile input[type="submit"]:focus,
.tnp-profile select:focus,
.tnp-profile textarea:focus {
  border-color: var(--line-destaque) !important;
  outline: none;
  box-shadow: 0 0 0 1px var(--line-destaque) !important;
}

/* 8.3 Hover */
.tnp-subscription input[type="text"]:hover:not(:focus),
.tnp-subscription input[type="email"]:hover:not(:focus),
.tnp-subscription select:hover:not(:focus),
.tnp-subscription textarea:hover:not(:focus),
.tnp-profile input[type="text"]:hover:not(:focus),
.tnp-profile input[type="email"]:hover:not(:focus),
.tnp-profile input[type="submit"]:hover:not(:focus),
.tnp-profile select:hover:not(:focus),
.tnp-profile textarea:hover:not(:focus) {
  border-color: var(--status-hover) !important;
}

/*========================== 9. CONSENTIMENTO (Checkbox) ==========================*/
/* 9.1 Checkbox */
.tnp .tnp-privacy-field input.tnp-privacy[type="checkbox"] {
  appearance: none !important;
  display: inline-grid !important;
  place-content: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  height: var(--form-newsletter-check-size) !important;
  width: var(--form-newsletter-check-size) !important;
  min-width: var(--form-newsletter-check-size) !important;
  min-height: var(--form-newsletter-check-size) !important;
  border: var(--form-field-border) !important;
  border-radius: var(--form-field-radius) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
  vertical-align: middle;
  margin-right: var(--form-choice-gap) !important;
  margin-inline-end: var(--form-choice-gap) !important;
  flex: 0 0 var(--form-newsletter-check-size);
}

.tnp .tnp-privacy-field input.tnp-privacy[type="checkbox"]::before {
  content: "";
  width: 7px;
  height: 12px;
  border: solid var(--status-selected);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  transform-origin: center;
}

.tnp .tnp-privacy-field input.tnp-privacy[type="checkbox"]:checked::before {
  transform: rotate(45deg) scale(1);
}

/* 9.2 Label e links */
.tnp .tnp-privacy-field {
  display: flex !important;
  align-items: flex-start !important;
  gap: var(--form-choice-gap) !important;
}

.tnp .tnp-privacy-field label,
.tnp .tnp-privacy-field a {
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-description-size) !important;
  line-height: var(--form-description-line-height) !important;
  font-weight: var(--form-description-weight) !important;
}

.tnp .tnp-privacy-field label {
  margin-left: 0 !important;
  margin-inline-start: 0 !important;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
}

/* 9.3 Hover links */
.tnp .tnp-privacy-field a:hover {
  color: var(--status-hover) !important;
}

/*========================== 10. BOTAO SUBMIT ==========================*/
/* 10.1 Estado normal */
.tnp .tnp-field-button input.tnp-submit {
  height: var(--form-field-height) !important;
  padding: 12px 24px !important;
  background: var(--background-palette-primary) !important;
  border: none !important;
  border-radius: var(--form-field-radius) !important;
  cursor: pointer;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-button-size) !important;
  line-height: var(--form-title-line-height) !important;
  font-weight: var(--form-title-weight) !important;
  color: var(--text-secondary) !important;
  margin-top: 40px !important;
  box-shadow: none !important;
}

/* 10.2 Hover */
.tnp .tnp-field-button input.tnp-submit:hover {
  background: var(--status-hover) !important;
}

/*=================================================================
FORMULARIOS

  0. VARIAVEIS / TOKENS

  FORMULARIO GERAL
  1. TITULOS
     1.1 Esconder titulo do formulario
     1.2 Secoes do formulario
  2. TEXTOS DOS CAMPOS
     2.1 Margens e labels
     2.2 Legend
     2.3 Labels
     2.4 Descricoes
  3. ESTILOS DOS CAMPOS
     3.1 Inputs gerais
     3.2 Selects
     3.3 Textareas
     3.4 Checkbox e Radio
     3.5 Image choice
     3.6 Inputs file
  4. BOTOES
     4.1 Lista de textos (+/-)
     4.2 Botao Submeter
     4.3 Botao input file
  5. ESTADOS GERAIS
     5.1 Focus
     5.2 Hover
     5.3 Checked
     5.4 Erros / Campos obrigatorios
	 5.5 Popup de envio

  FORMULARIO DE NEWSLETTER
  6. CONTAINER GERAL
  7. LABELS
  8. INPUTS DE TEXTO / EMAIL / SELECT / TEXTAREA
  9. CONSENTIMENTO (Checkbox)
 10. BOTAO SUBMIT


  FORMULARIO EGOI
  11. CONTAINER GERAL
  12. LABELS
  13. INPUTS DE TEXTO / EMAIL / SELECT / TEXTAREA
     13.1 Estado normal
     13.2 Focus
     13.3 Hover
  14. CONSENTIMENTO (Checkbox)
     14.1 Checkbox
     14.2 Label e links
     14.3 Hover links
  15. BOTÃO SUBMIT
     15.1 Estado normal
     15.2 Hover
=================================================================*/

/*========================== 0. VARIAVEIS / TOKENS ==========================*/
:root {
  --form-font-family: "Lato",sans-serif;

  --form-title-size: 1rem;
  --form-title-line-height: 1.4;
  --form-title-weight: 700;

  --form-label-size: 1rem;
  --form-label-line-height: var(--e-global-typography-primary-line-height);
  --form-label-weight: 700;

  --form-description-size: 1rem;
  --form-description-line-height: 1.6;
  --form-description-weight: 400;

  --form-field-size: 1rem;
  --form-button-size: 1rem;

  --form-field-height: 56px;
  --form-field-radius: 0px;
  --form-field-padding: 12px 16px;
  --form-field-border: 1px solid var(--line-default);
  --form-choice-gap: 16px;

  --form-error-size: 0.875rem;
  --form-error-color: var(--status-error);
  --form-newsletter-check-size: 26px;

}


/*========================== 1. TITULOS ==========================*/
/* 1.1 Esconder titulo do formulario */
body .gform_wrapper .gform_heading h2.gform_title {
  display: none !important;
}

/* 1.2 Secoes do formulario */
.gsection_title {
  margin-top: 16px;
  margin-bottom: 0 !important;
  color: var(--text-primary) !important;
  font-family: var(--bde-heading-font-family) !important;
  font-size: var(--form-title-size) !important;
  line-height: var(--form-title-line-height) !important;
  font-weight: var(--form-title-weight) !important;
}

.gsection_description {
  margin-top: 0;
  margin-bottom: -8px !important;
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-description-size) !important;
  line-height: var(--form-description-line-height) !important;
  font-weight: var(--form-description-weight) !important;
}

.gfield--type-section {
  margin-top: 16px !important;
  border-top: 1px solid var(--line-destaque) !important;
  border-bottom: none !important;
  padding-top: 24px !important;
  padding-bottom: 0 !important;
}

/*========================== 2. TEXTOS DOS CAMPOS ==========================*/
/* 2.1 Margens e labels */
.gform-theme--framework .gfield_list_group_item::before,
.gform-theme--framework .gform-field-label:where(:not([class*=gform-field-label--type-])) {
  --gf-local-margin-y: 8px !important;
  margin-top: 0 !important;
}

/* 2.2 Legend */
.gform-theme--framework legend.gform-field-label:where(
  :not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)
) {
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-label-size) !important;
  line-height: var(--form-label-line-height) !important;
  font-weight: var(--form-label-weight) !important;
}

/* 2.3 Titulos dos campos */
.gform-theme--framework .gfield_label,
.gform-theme--framework .gfield_list_group_item::before {
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-label-size) !important;
  line-height: var(--form-label-line-height) !important;
  font-weight: var(--form-label-weight) !important;
}

/* Labels de opcoes, consentimento e textos auxiliares mantem aspecto de body */
.gform-theme--framework label.gform-field-label--type-sub,
.gform-theme--framework label.gform-field-label:not(.gfield_label):not(.gform-field-label--type-sub),
.gform-theme--framework .gchoice label.gform-field-label,
.gform-theme--framework label.gform-field-label--type-inline,
.gform_wrapper .ginput_container_consent label,
.gform_wrapper label.gfield_consent_label {
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-description-size) !important;
  line-height: var(--form-description-line-height) !important;
  font-weight: var(--form-description-weight) !important;
}

/* Remove recuos laterais extras nos textos inline */
.gform-theme--framework label.gform-field-label--type-inline,
.gform-theme--framework .gchoice label.gform-field-label,
.gform_wrapper .ginput_container_consent label,
.gform_wrapper label.gfield_consent_label {
  --gf-local-margin-x: 0 !important;
  margin-left: 0 !important;
  margin-inline-start: 0 !important;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
  text-indent: 0 !important;
}

/* 2.4 Descricoes */
.gform_wrapper .gfield_description,
.gform_wrapper .gfield_consent_description {
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-description-size) !important;
  line-height: var(--form-description-line-height) !important;
  font-weight: var(--form-description-weight) !important;
}

/*========================== 3. ESTILOS DOS CAMPOS ==========================*/
/* 3.1 Inputs gerais */
.ginput_container input[type="text"],
.ginput_container input[type="number"],
.ginput_container input[type="url"],
.ginput_container input[type="tel"],
.ginput_container input[type="email"],
.ginput_container input[type="password"],
.ginput_container input[type="date"],
.ginput_container input[type="time"],
.ginput_container input[type="file"],
.ginput_container input[type="search"],
.ginput_container input[type="week"],
.ginput_container input[type="month"],
.ginput_container input[type="datetime-local"],
.ginput_container_address input,
.ginput_container_website input,
.ginput_container_post_title input,
.ginput_container_post_excerpt input,
.ginput_container_post_image input,
.gfield_list_group_item input,
.gfield_list_cell input {
  height: var(--form-field-height) !important;
  padding: var(--form-field-padding) !important;
  border: var(--form-field-border) !important;
  border-radius: var(--form-field-radius) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-field-size) !important;
  line-height: var(--form-label-line-height) !important;
  color: var(--text-primary) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
}

/* 3.2 Selects */
.ginput_container select,
.ginput_container_select select,
.gfield_list_cell select,
.ginput_complex select {
  --gf-local-padding-y: 0 !important;
  --gf-local-line-height: var(--form-field-height) !important;
  height: var(--form-field-height) !important;
  min-height: var(--form-field-height) !important;
  padding: 0 36px 0 16px !important;
  border: var(--form-field-border) !important;
  border-radius: var(--form-field-radius) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-field-size) !important;
  line-height: var(--form-field-height) !important;
  color: var(--text-primary) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
  appearance: none;
}

/* Select multiplo */
.ginput_container select[multiple],
.ginput_container_select select[multiple],
.gfield_list_cell select[multiple],
.ginput_complex select[multiple] {
  height: auto !important;
  min-height: 112px !important;
  padding: 8px !important;
  line-height: var(--form-description-line-height) !important;
}

.gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))[multiple] option {
  padding: 8px !important;
  border-radius: var(--form-field-radius) !important;
}

.gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))[multiple] option:checked {
  background: var(--background-neutral-tertiary) !important;
}

.gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))[multiple] option:hover {
  color: var(--background-palette-primary) !important;
}

/* Inputs complexos */
.gform-theme--foundation .gfield .ginput_password.medium,
.gform-theme--foundation .gfield input.medium,
.gform-theme--foundation .gfield select.medium {
  inline-size: 100% !important;
}

/* 3.3 Textareas */
.ginput_container textarea,
.ginput_container_textarea textarea,
.ginput_container_post_excerpt textarea,
.ginput_container_post_content textarea,
.gfield_list_cell textarea {
  min-height: 112px !important;
  padding: var(--form-field-padding) !important;
  border: var(--form-field-border) !important;
  border-radius: var(--form-field-radius) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-field-size) !important;
  line-height: var(--form-description-line-height) !important;
  color: var(--text-primary) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
  resize: vertical;
}

/* 3.4 Checkbox e Radio */
.gform_wrapper input[type="checkbox"],
.gform_wrapper input[type="radio"] {
  padding: 12px !important;
  height: 20px !important;
  width: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  border: var(--form-field-border) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
  vertical-align: middle;
  margin-right: 0 !important;
  flex: 0 0 20px;
}

/* Radio */
.gform_wrapper input[type="radio"] {
  border-radius: var(--border-radious) !important;
}

.gform_wrapper input[type="radio"]:checked::before {
  background-color: var(--status-selected) !important;
}

/* Checkbox */
.gform_wrapper input[type="checkbox"] {
  border-radius: var(--form-field-radius) !important;
}

.gform_wrapper input[type="checkbox"]:checked::before {
  color: var(--status-selected) !important;
}

/* 3.5 Image Choice */
.ginput_container_image_choice .gchoice {
  border: var(--form-field-border) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
  border-radius: var(--form-field-radius) !important;
}

.gform-theme--framework .gfield--type-image_choice.gfield--image-choice-appearance-card .gchoice:where(:has(input:checked))::after {
  background-color: var(--background-palette-primary) !important;
  color: var(--background-neutral-primary) !important;
}

.gform-theme--framework .gfield--type-choice .gchoice,
.gform-theme--framework .gfield--type-choice .ginput_container_consent {
  align-items: center !important;
  gap: var(--form-choice-gap) !important;
}

.gform_wrapper .ginput_container_consent {
  display: flex !important;
  align-items: flex-start !important;
  gap: var(--form-choice-gap) !important;
}

.gform-theme--framework .gfield--type-choice .ginput_container_consent {
  align-items: flex-start !important;
}

.gform_wrapper .gfield_checkbox .gchoice,
.gform_wrapper .gfield_radio .gchoice,
.gform_wrapper .gfield-image-choice-wrapper-inner {
  display: flex !important;
  align-items: center !important;
  gap: var(--form-choice-gap) !important;
}

.gform-theme--framework .gfield--type-image_choice.gfield--image-choice-appearance-card .gchoice:focus-within,
.gform-theme--framework .gfield--type-image_choice.gfield--image-choice-appearance-no-card .gchoice:focus-within .gfield-choice-image-wrapper {
  --gf-local-border-color: var(--line-destaque) !important;
  --gf-local-outline-color: var(--line-destaque) !important;
  --gf-local-outline-width: 1px !important;
}

/* 3.6 Inputs file */
.gform_wrapper input[type="file"] {
  padding: 0 !important;
}

#input_2_24::file-selector-button {
  height: var(--form-field-height) !important;
  border: none !important;
  border-right: 1px solid var(--line-default) !important;
  background-color: var(--background-neutral-primary) !important;
  color: var(--text-destaque) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-field-size) !important;
  font-weight: var(--form-title-weight) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

#input_2_24::file-selector-button:hover {
  border-color: var(--background-palette-tertiary) !important;
  color: var(--background-palette-tertiary) !important;
}

/*========================== 4. BOTOES ==========================*/
/* 4.1 Lista de textos (+/-) */
.gfield_list_icons {
  width: auto !important;
}

.gform-theme--foundation .gfield_header_item--icons,
.gform-theme--foundation .gfield_list_icons {
  display: flex;
  align-items: center;
  gap: 8px !important;
}

/* Botoes da lista */
.gfield_list_icons button {
  width: var(--form-field-height) !important;
  height: var(--form-field-height) !important;
  border-radius: var(--form-field-radius) !important;
  border: var(--form-field-border) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
}

.gfield_list_icons button::before {
  color: var(--status-selected) !important;
}

.gfield_list_icons button:hover:not(:disabled) {
  border-color: var(--background-palette-tertiary) !important;
}

.gfield_list_icons button:hover:not(:disabled)::before {
  color: var(--background-palette-tertiary) !important;
}

.gfield_list_icons button:disabled {
  border-color: var(--status-inactive) !important;
  background-color: var(--background-neutral-primary) !important;
  visibility: visible !important;
}

.gfield_list_icons button:disabled::before {
  color: var(--status-inactive) !important;
}

/* 4.2 Botao Submeter */
.gform_wrapper .gform_button {
  --gf-local-height: var(--form-field-height) !important;
  --gf-local-bg-color: var(--background-palette-primary) !important;
  min-height: var(--form-field-height) !important;
  border-radius: var(--form-field-radius) !important;
  box-shadow: none !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  font-family: "Space Grotesk",sans-serif !important;
  font-size: var(--form-button-size) !important;
  line-height: var(--form-title-line-height) !important;
  font-weight: var(--form-title-weight) !important;
  color: var(--text-secondary) !important;
  margin-top: 16px !important;
	text-transform: uppercase !important;
}

.gform_wrapper .gform_button:hover {
  --gf-local-bg-color: var(--status-hover) !important;
}

/*========================== 5. ESTADOS GERAIS ==========================*/
/* 5.1 Focus */
.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
  border-color: var(--line-destaque) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px var(--line-destaque) !important;
}

/* 5.2 Hover */
.gform_wrapper input:hover:not(:focus),
.gform_wrapper textarea:hover:not(:focus),
.gform_wrapper select:hover:not(:focus) {
  border-color: var(--status-hover) !important;
}

/* 5.3 Checked */
.gform_wrapper input:checked:not(:focus) {
  border-color: var(--line-default) !important;
}

/* 5.4 Erros / Campos obrigatorios */
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
  color: var(--form-error-color) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-error-size) !important;
  line-height: var(--form-description-line-height) !important;
  font-weight: var(--form-description-weight) !important;
}

.gform_wrapper .gfield_required {
  color: var(--form-error-color) !important;
}


/* 5.5 Popup de envio */
.form-success-popup {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 24px;
  background: rgba(0, 0, 0, 0.48);
}

.form-success-popup.is-active {
  display: flex;
}

.form-success-popup__box {
  position: relative;
  width: 100%;
  max-width: 462px;
  box-sizing: border-box;
  text-align: center;
}

.form-success-popup__status-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
}

.form-success-popup__status-icon::before,
.form-success-popup__status-icon::after {
  content: none !important;
  display: none !important;
}

.form-success-popup__status-icon svg {
  display: block;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
}

.form-success-popup__texts,
.form-success-popup__title,
.form-success-popup__content,
.form-success-popup__content * {
  width: 100%;
  text-align: center !important;
}

.form-success-popup__content p {
  margin: 0;
}

body.form-success-popup-open {
  overflow: hidden;
}

.form-success-source-hidden {
  display: none !important;
}

.form-success-popup__content a {
  color: var(--background-palette-primary) !important;
  font-weight: var(--form-title-weight) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.form-success-popup__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--text-primary);
  font-family: var(--form-font-family);
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
  cursor: pointer;
  box-shadow: none;
}

.form-success-popup__close:hover {
  color: var(--background-palette-primary);
}

@media (max-width: 480px) {
  .form-success-popup {
    padding: 16px;
  }

  .form-success-popup__box {
    max-width: 100%;
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    padding: 20px !important;
    gap: 24px !important;
  }

  .form-success-popup__status-icon,
  .form-success-popup__status-icon svg {
    width: 64px;
    height: 64px;
    flex-basis: 64px;
  }
}

.gform_fields  {
    gap: 30px !important;
  }
/*=================================================================
FORMULARIO DE NEWSLETTER
=================================================================*/

/*========================== 6. CONTAINER GERAL ==========================*/
.tnp {
  width: 100% !important;
  max-width: 100% !important;
}

/*========================== 7. LABELS ==========================*/
.tnp .tnp-field label,
.tnp .tnp-field label a {
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-label-size) !important;
  line-height: var(--form-label-line-height) !important;
  font-weight: var(--form-label-weight) !important;
  margin-bottom: 8px;
}

/*========================== 8. INPUTS DE TEXTO / EMAIL / SELECT / TEXTAREA ==========================*/
/* 8.1 Estado normal */
.tnp-subscription input[type="text"],
.tnp-subscription input[type="email"],
.tnp-subscription select,
.tnp-subscription textarea,
.tnp-profile input[type="text"],
.tnp-profile input[type="email"],
.tnp-profile input[type="submit"],
.tnp-profile select,
.tnp-profile textarea {
  height: var(--form-field-height) !important;
  padding: var(--form-field-padding) !important;
  border: var(--form-field-border) !important;
  border-radius: var(--form-field-radius) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-field-size) !important;
  line-height: var(--form-label-line-height) !important;
  color: var(--text-primary) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
  margin-bottom: 40px !important;
}

.tnp-subscription select,
.tnp-profile select {
  --gf-local-padding-y: 0 !important;
  --gf-local-line-height: var(--form-field-height) !important;
  padding: 0 36px 0 16px !important;
  line-height: var(--form-field-height) !important;
  appearance: none;
}

.tnp-subscription textarea,
.tnp-profile textarea {
  min-height: 112px !important;
  line-height: var(--form-description-line-height) !important;
  resize: vertical;
}

/* 8.2 Focus */
.tnp-subscription input[type="text"]:focus,
.tnp-subscription input[type="email"]:focus,
.tnp-subscription select:focus,
.tnp-subscription textarea:focus,
.tnp-profile input[type="text"]:focus,
.tnp-profile input[type="email"]:focus,
.tnp-profile input[type="submit"]:focus,
.tnp-profile select:focus,
.tnp-profile textarea:focus {
  border-color: var(--line-destaque) !important;
  outline: none;
  box-shadow: 0 0 0 1px var(--line-destaque) !important;
}

/* 8.3 Hover */
.tnp-subscription input[type="text"]:hover:not(:focus),
.tnp-subscription input[type="email"]:hover:not(:focus),
.tnp-subscription select:hover:not(:focus),
.tnp-subscription textarea:hover:not(:focus),
.tnp-profile input[type="text"]:hover:not(:focus),
.tnp-profile input[type="email"]:hover:not(:focus),
.tnp-profile input[type="submit"]:hover:not(:focus),
.tnp-profile select:hover:not(:focus),
.tnp-profile textarea:hover:not(:focus) {
  border-color: var(--status-hover) !important;
}

/*========================== 9. CONSENTIMENTO (Checkbox) ==========================*/
/* 9.1 Checkbox */
.tnp .tnp-privacy-field input.tnp-privacy[type="checkbox"] {
  appearance: none !important;
  display: inline-grid !important;
  place-content: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  height: var(--form-newsletter-check-size) !important;
  width: var(--form-newsletter-check-size) !important;
  min-width: var(--form-newsletter-check-size) !important;
  min-height: var(--form-newsletter-check-size) !important;
  border: var(--form-field-border) !important;
  border-radius: var(--form-field-radius) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
  vertical-align: middle;
  margin-right: var(--form-choice-gap) !important;
  margin-inline-end: var(--form-choice-gap) !important;
  flex: 0 0 var(--form-newsletter-check-size);
}

.tnp .tnp-privacy-field input.tnp-privacy[type="checkbox"]::before {
  content: "";
  width: 7px;
  height: 12px;
  border: solid var(--status-selected);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  transform-origin: center;
}

.tnp .tnp-privacy-field input.tnp-privacy[type="checkbox"]:checked::before {
  transform: rotate(45deg) scale(1);
}

/* 9.2 Label e links */
.tnp .tnp-privacy-field {
  display: flex !important;
  align-items: flex-start !important;
  gap: var(--form-choice-gap) !important;
}

.tnp .tnp-privacy-field label,
.tnp .tnp-privacy-field a {
  color: var(--text-primary) !important;
  font-family: var(--form-font-family) !important;
  font-size: var(--form-description-size) !important;
  line-height: var(--form-description-line-height) !important;
  font-weight: var(--form-description-weight) !important;
}

.tnp .tnp-privacy-field label {
  margin-left: 0 !important;
  margin-inline-start: 0 !important;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
}

/* 9.3 Hover links */
.tnp .tnp-privacy-field a:hover {
  color: var(--status-hover) !important;
}

/*========================== 10. BOTAO SUBMIT ==========================*/
/* 10.1 Estado normal */
.tnp .tnp-field-button input.tnp-submit {
  height: var(--form-field-height) !important;
  padding: 12px 24px !important;
  background: var(--background-palette-primary) !important;
  border: none !important;
  border-radius: var(--form-field-radius) !important;
  cursor: pointer;
  font-family: "Space Grotesk",sans-serif !important;
  font-size: var(--form-button-size) !important;
  line-height: var(--form-title-line-height) !important;
  font-weight: var(--form-title-weight) !important;
  color: var(--text-secondary) !important;
  margin-top: 40px !important;
  box-shadow: none !important;
	text-transform: uppercase !important;
}

/* 10.2 Hover */
.tnp .tnp-field-button input.tnp-submit:hover {
  background: var(--status-hover) !important;
}


/*=================================================================
FORMULARIO EGOI
=================================================================*/

/*========================== 11. CONTAINER GERAL ==========================*/
.tnp {
  width: 100% !important;
  max-width: 100% !important;
}

/* estrutura */
.egoi_simple_form {
	width: 100%;
}
.egoi_simple_form p {
	display: flex;
	flex-direction: column;
}
.egoi_simple_form input {
	width: 100%;
}

/*========================== 12. LABELS ==========================*/
.tnp .tnp-field label,
.tnp .tnp-field label a,
.egoi_simple_form label {
  color: var(--text-primary) !important;
  font-size: 16px !important;
	font-style: normal !important;
	font-weight: 700;
  line-height: 150%;
  font-family: "Space Grotesk",sans-serif !important;;
  margin-bottom: 8px;
}

/*========================== 13. INPUTS DE TEXTO / EMAIL / SELECT / TEXTAREA ==========================*/
/* 13.1 Estado normal */
.tnp-subscription input[type=text], 
.tnp-subscription input[type=email], 
.tnp-subscription select, 
.tnp-subscription textarea, 
.tnp-profile input[type=text], 
.tnp-profile input[type=email], 
.tnp-profile input[type=submit], 
.tnp-profile select, 
.tnp-profile textarea,
.egoi_simple_form input#egoi_name,
.egoi_simple_form input#egoi_email,
.egoi_simple_form input#egoi_mobile {
  height: 56px !important;
  padding: 12px 16px !important;
  border: 1px solid var(--line-default) !important;
  border-radius: 0px !important;
  font-size: 16px !important;
  color: var(--text-primary) !important;
  background-color: var(--background-neutral-primary) !important;
  box-shadow: none !important;
  margin-bottom: 40px !important;
}
.egoi_simple_form select#egoi_country_code {
  height: 56px !important;
  padding: 12px 16px !important;
  border: 1px solid var(--line-default) !important;
  border-radius: 0px !important;
  font-size: 16px !important;
  color: var(--text-primary) !important;
  background-color: var(---background-neutral-primary) !important;
  box-shadow: none !important;
  margin-bottom: 8px !important;
}

/* 13.2 Focus */
.tnp-subscription input[type=text]:focus, 
.tnp-subscription input[type=email]:focus, 
.tnp-subscription select:focus, 
.tnp-subscription textarea:focus, 
.tnp-profile input[type=text]:focus, 
.tnp-profile input[type=email]:focus, 
.tnp-profile input[type=submit]:focus, 
.tnp-profile select:focus, 
.tnp-profile textarea:focus,
.egoi_simple_form input#egoi_name:focus,
.egoi_simple_form input#egoi_email:focus,
.egoi_simple_form select#egoi_country_code:focus,
.egoi_simple_form input#egoi_mobile:focus {
  border-color: var(--status-selected) !important;
  outline: none;
  box-shadow: none !important;
}

/* 13.3 Hover */
@media all and (min-width: 1024px) {
	.tnp-subscription input[type=text]:hover, 
	.tnp-subscription input[type=email]:hover, 
	.tnp-subscription select:hover, 
	.tnp-subscription textarea:hover, 
	.tnp-profile input[type=text]:hover, 
	.tnp-profile input[type=email]:hover, 
	.tnp-profile input[type=submit]:hover, 
	.tnp-profile select:hover, 
	.tnp-profile textarea:hover,
	.egoi_simple_form input#egoi_name:hover,
	.egoi_simple_form input#egoi_email:hover,
	.egoi_simple_form select#egoi_country_code:hover,
	.egoi_simple_form input#egoi_mobile:hover {
  	border-color: var(--status-hover) !important;
	}
}

/*========================== 14.1 CONSENTIMENTO (Checkbox) ==========================*/
/* Base: remove aparência nativa e garante box-sizing */
.elementor-kit-9 input.tnp-privacy[type="checkbox"],
.tnp .tnp-privacy-field input.tnp-privacy[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  -moz-appearance: none !important;
  box-sizing: border-box !important;

  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;

  margin: 0 16px 0 0 !important; /* espaço à direita */
  padding: 0 !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
	
	
  /* aparência "inativa" */
  border: 1px solid var(--line-default) !important; /* cor da borda quando não marcado */
  background: var(--background-neutral-primary) !important;          /* fundo branco */
  border-radius: 0px !important;                              /* cantos leves, ajusta se quiser */
  transition: border-color 0.12s ease, transform 0.08s ease;
}

/* Hover e focus */
@media all and (min-width: 1024px) {
	.elementor-kit-9 input.tnp-privacy[type="checkbox"]:hover,
	.tnp .tnp-privacy-field input.tnp-privacy[type="checkbox"]:hover {
  	border-color: var(--status-hover) !important; /* cor de hover (ajusta se quiser) */
	}
}

/* Estado CHECKED: mantem fundo branco e colore a borda; o ✓ terá a mesma cor da borda */
.elementor-kit-9 input.tnp-privacy[type="checkbox"]:checked,
.tnp .tnp-privacy-field input.tnp-privacy[type="checkbox"]:checked {
  background: var(--background-neutral-primary) !important; /* branco */
  border-color: var(--status-selected) !important; /* cor da borda quando marcado */
}

/* Remove qualquer pseudo marcado antigo e desenha o ✓ centralizado */
.elementor-kit-9 input.tnp-privacy[type="checkbox"]::after,
.tnp .tnp-privacy-field input.tnp-privacy[type="checkbox"]::after {
  content: ""; /* default vazio */
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 120ms ease-in-out;
  pointer-events: none;
  font-weight: 700;
  line-height: 1;
  display: block;
}

/* Quando marcado: mostra o ✓, cor igual à borda, centralizado */
.elementor-kit-9 input.tnp-privacy[type="checkbox"]:checked::after,
.tnp .tnp-privacy-field input.tnp-privacy[type="checkbox"]:checked::after {
  content: "✓";
  color: var(--status-selected) !important; /* cor do check igual à borda */
  font-size: 18px;
  transform: translate(-50%, -50%) scale(1);
}

/* Pequena interação visual ao clicar */
.elementor-kit-9 input.tnp-privacy[type="checkbox"]:active,
.tnp .tnp-privacy-field input.tnp-privacy[type="checkbox"]:active {
  transform: scale(0.98);
}

/* Link do texto */ .tnp .tnp-privacy-field label a { 
	font-weight: 400 !important; 
	display: inline-flex; 
	align-items: center; /* centraliza verticalmente */ 
	line-height: 1.3; /* ajuste se quiser mais espaço */ 
	margin: 0; /* remove margem extra */ 
} 
	
/* Hover do label (opcional) */ 
.tnp .tnp-privacy-field label:hover input.tnp-privacy { 
	border-color: var(--status-hover); 
}

/* Ajuste de compatibilidade: se algum estilo do tema sobrepor, força o nosso visual */
.elementor-kit-9 input.tnp-privacy[type="checkbox"],
.tnp .tnp-privacy-field input.tnp-privacy[type="checkbox"] {
  -webkit-tap-highlight-color: transparent;
}


/* 14.2 Label e links */
.tnp .tnp-privacy-field label,
.tnp .tnp-privacy-field a {
  color: var(--e-global-color-primary) !important;
  font-size: 16px !important;
  line-height: 160% !important;
  font-family: 'Lato',sans-serif !important;
}

/* 14.3 Hover links */
@media all and (min-width: 1024px) {
	.tnp .tnp-privacy-field a:hover {
  	color: var(--status-hover) !important;
	}
}

/*========================== 15. BOTÃO SUBMIT ==========================*/
/* 15.1 Estado normal */
.tnp .tnp-field-button input.tnp-submit,
.egoi_simple_form button#egoi_submit_button {
  padding: 12px 24px !important;
  height: 56px !important;
  background: var(--background-palette-primary);
  border: none;
  border-radius: 0px;
  cursor: pointer;
  font-family: "Space Grotesk", Inter !important;
  font-size: 16px !important;
  font-weight: bold !important;
  color: var(--text-secondary) !important;
	text-transform: uppercase;
}
.tnp .tnp-field-button input.tnp-submit {
	margin-top: 40px !important;
}
.egoi_simple_form button#egoi_submit_button {
	margin-bottom: 24px;
}

/* 15.2 Hover */
@media all and (min-width: 1024px) {
	.tnp .tnp-field-button input.tnp-submit:hover,
	.egoi_simple_form button#egoi_submit_button:hover {
  	background: var(--status-hover);
		text-decoration: underline;
	}
}

