.formulario { width: 100%; vertical-align: top; text-align: left; height: auto; color: var(--cor-texto); font-size: 14px; font-family: var(--fonte-padrao);  line-height: 20px; margin: 0px; padding: 0px 0 30px 0px; }
.campos_form { width: 100%; height: auto; position: relative; display: inline-block; vertical-align: top; text-align: left; }
.campos_form .linha_inteira { width: 100%; height: auto; position: relative; text-align: left; margin: 0px; }
.campos_form .linha_field { width: 100%; height: auto; position: relative; text-align: left; margin: 0px; }
.campos_form .linha_aceite { width: 100%; height: auto; position: relative; color: var(--cor-texto); font-size: 14px; font-family: var(--fonte-padrao);  line-height: 20px; padding: 15px 0px; text-align: left; }
.campos_form .linha_aceite a { text-decoration: underline;color: var(--cor-texto); font-size: 14px; font-family: var(--fonte-padrao);  line-height: 20px; }
.campos_form .linha_aceite_sucesso { width: 100%; height: auto; position: relative; color: var(--cor-texto); font-size: 14px; font-family: var(--fonte-padrao);  line-height: 20px; padding: 15px 0px; text-align: left; }
.campos_form .linha_aceite_sucesso a { text-decoration: underline;color: var(--cor-texto); font-size: 14px; font-family: var(--fonte-padrao);  line-height: 20px; }
.campos_form .colunas .ajuda, .campos_form .coluna_central .ajuda { width: 100%; height: auto; position: relative; text-align: left; margin: 0px; line-height: 15px; font-size: 14px; font-family: var(--fonte-padrao); color: orange }
.campos_form .colunas .ajuda.neutra, .campos_form .coluna_central .ajuda.neutra { color: #cccccc; }
.campos_form .colunas .ajuda span, .campos_form .coluna_central .ajuda span {  }
.campos_form .colunas .ajuda i, .campos_form .coluna_central .ajuda i { float: left; padding-right: 6px; font-size: 15px; line-height: 15px; color: orange }
.campos_form .label { font-size: 15px; font-family: var(--fonte-padrao); padding-top: 12px; padding-bottom: 6px;  color: var(--cor-texto); text-align: left; }
.campos_form .label.menor { font-size: 14px; font-family: var(--fonte-padrao); padding-top: 12px; padding-bottom: 6px;  color: var(--cor-texto); text-align: left; }
.campos_form select.campo-contato { width: 100%; }
.campos_form .campo-contato { width: -moz-calc(100% - 30px); width: -webkit-calc(100% - 30px); width: -o-calc(100% - 30px); width: calc(100% - 30px); height: 30px; background-color: #eaeaea; text-align: left; line-height: 30px; font-size: 14px; color: #000000; padding: 10px 15px; font-family: var(--fonte-padrao); margin: 0px 0px 10px 0px; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; -border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; overflow: hidden; }
.campos_form .campo-contato.errado { background-color: #ff87a0 }
.campos_form .campo-contato#valor { font-size: 22px; }
.campos_form .colunas_40 { width: 43%; display: inline-block; vertical-align: top; text-align: left; margin-right: 3%; }
.campos_form .colunas_menor { width: 22%; display: inline-block; vertical-align: top; text-align: left; margin-right: 3%; }
.campos_form .colunas_menor_esquerda { width: 22%; float: right; display: inline-block; vertical-align: top; text-align: left; margin-right: 0px; }
.campos_form .colunas_40_esquerda { width: 43%; float: right; text-align: right; }
.campos_form .colunas_direita { width: 33%; float: left; text-align: left; }
.campos_form .colunas_direita .titulo_global { padding-bottom: 10px; }
.campos_form .colunas_direita .titulo_global .tag_global { width: 100%; }
.campos_form .coluna_central { display: inline-block; vertical-align: top; text-align: center; width: 40%; }
.campos_form .selecionar_todos { font-size: 12px; font-family: var(--fonte-padrao); padding: 4px 10px;  background-color: #f4f6f8; color: #545454;  position: relative; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; overflow: hidden; cursor: pointer; margin-top: 10px; display: inline-block; vertical-align: top; }
.campos_form .colunas select, .campos_form .colunas_esquerda select { height: 51px; }
.campos_form .colunas input[type=text],
.campos_form .colunas_esquerda input[type=text] { text-align: center; }
.campos_form textarea.campo-contato { height: 100px; line-height: 24px; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px;  }
.campos_form .botao-contato  { height: auto; cursor: pointer; width: auto; margin: 20px 0px 5px 0px; padding: 15px 25px; text-align: center; line-height: 20px; font-family: var(--fonte-padrao), Arial; font-size: 18px; color: #ffffff; background: var(--cor-principal); -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; border-radius: 15px 0px 15px 15px; font-weight: bold; }
.campos_form .botao-contato:hover  { padding: 15px 30px; }
.campos_form .botao-contato.opaco { opacity: 0.3; }
.campos_form .botao-cancelar  { height: auto; cursor: pointer; width: auto; margin: 20px 0px 5px 20px; padding: 15px 25px; text-align: center; line-height: 20px; font-family: var(--fonte-padrao), Arial; font-size: 18px; color: #000000; background: #eaeaea; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; border-radius: 15px 0px 15px 15px; }
.campos_form .botao-cancelar:hover  { padding: 15px 30px; }


/* Ajuste para 3 colunas ficarem alinhadas (32% + margem = ~100%) */
.campos_form .colunas { width: 31.5%; display: inline-block; vertical-align: top; text-align: left; margin-right: 2%; }
.campos_form .colunas_esquerda { width: 31.5%; float: right; text-align: right; margin-right: 0; }

/* NOVA CLASSE: Ajuste para 2 colunas preencherem a linha (48% + margem = ~100%) */
.campos_form .coluna_metade { width: 48%; display: inline-block; vertical-align: top; text-align: left; margin-right: 4%; }
.campos_form .coluna_metade_direita { width: 48%; float: right; display: inline-block; vertical-align: top; text-align: left; margin-right: 0px; }

/* Garante que o container dos campos PJ não quebre o layout quando oculto */
.container-pj { display: block; width: 100%; clear: both; }

.css-tooltip:hover:after{ content:attr(data-tooltip); background:#000; padding: 10px 5px; display: inline-block; position: absolute; transform: translate(-50%,-100%);  margin:0 auto; color:#FFF; min-width:150px; min-width:200px; top:-5px; left: 50%; text-align:center; font-family: var(--fonte-padrao); line-height: 14px; font-size: 12px; z-index: 100; }
.css-tooltip:hover:before { top:-5px; left: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(0, 0, 0, 0); border-top-color: #000; border-width: 5px; margin-left: -5px; transform: translate(0,0px);  }

#consulta_cnpj, #info_titles { text-align: center; position: absolute; width: 25px; height: 25px; line-height: 25px; z-index: 10px; font-size: 15px; color: var(--cor-principal); background-color: #ffffff; margin: 15px 0px 0px -12.5px; cursor: pointer; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; }
#consulta_cnpj:hover, #info_titles:hover { background-color: var(--cor-principal); }

@media screen and (max-width: 1100px) {
	.campos_form .campo-contato,
	.campos_form .colunas input[type=text],
	.campos_form .colunas_esquerda input[type=text],
	.campos_form .linha_field { text-align: center; }

	.formulario { width: 94%; padding:20px 3% 30px 3%; }
	.campos_form .colunas, .campos_form .colunas_menor, .campos_form .colunas_esquerda { width: 100%; margin-right: 0px; }
}