/* 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
=================================================================*/

/*========================== 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: 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: 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;
  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;
  }
}

/*=================================================================
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;
}


