/*!
 * Footer extracted CSS (refined)
 * Source: general.css → only selectors used by footer-otimizado.php
 * Notes:
 *  - Ensured inclusion for section.ondeEncontrar and section.barra
 *  - Excluded non-footer sections: .menu_interno, .topoOEscritorio, .topoNovoAtuacao (and similar)
 */

.hide {
	display: none !important;
}

.container {
    max-width: 1170px;
}

header div.logo a, header h2.logo a, footer h2.logo, footer ul.redesSociais li a, section.noticias div.navegacao a, section.comentarios div.navegacao a, header h2.logo, header h2.logo a, section.detalheNoticias div.titulo div.redes ul li a, section.boxContato ul.redesSociais li a, div.menuMobile h2, div.menuMobile ul.redesSociais li a, header a.btMn, section.landpageServicos ul.redesSociais li a, .windowMobile ul.redesSociais li a, footer.footer span.logo, footer.footer ul.redesSociais li a, .bar-top-header h2.logo a, section.comentariosLandpage div.navegacao a, div.bar-top-header a.btLogo, div.boxAutor div.descricao ul li a {
	text-indent: -9999px;
    overflow: hidden;
    display: block;
}

#header .row {
    min-height: 90px;
}

#header .footer-card {
    background: #23201a;
    display: flex;
    padding: 13px 20px;
    text-decoration: none;
    color: #fafafb;
    text-align: left;
    width: 100%;
    margin: 10px auto;
    border-radius: 4px;
}

#header .footer-card .card-info .titulo {
	font-family: 'Poppins', sans-serif, sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 18px;
    margin: 0 auto;
}

#header .footer-card .card-info .texto {
    font-size: 12px;
    text-transform: none;
    margin-top: 5px;
    margin-bottom: 0;
    color: #a7a6a5;
    font-family: 'Poppins', sans-serif, sans-serif;
    font-weight: 400;
}

#header .footer-card:before {
    background: url(../img/bg/bg_icones.webp) no-repeat;
    content: "";
    width: 38px;
    height: 38px;
    margin: 5px 20px 0 5px;
    display: block;
}

#header .card-seguro::before {
	background-position: 0 -1919px;
}

#header .card-contato::before {
    background-position: 0 -2037px;
}

#header .card-empresa::before {
	background-position: 0 -2132px;
}

#header .navbar.open .col-lg-4 {
	width: 100%;
}

div.bar-top-header .footer-card {
	text-decoration: none;
	text-align: -webkit-auto;
	float: left;
}

#intro .card-form .btn {
    animation: 5.6s infinite brilho;
    width: 100%;
    padding: 20px 0;
    margin-top: 20px;
    transition: all .3s;
    font-family: 'Inter', sans-serif, sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 20px;
    color: #fff;
    background-image: linear-gradient(45deg, #219C6B, #176729, #219C6B, #176729);
    border: none;
    border-radius: 12px;
    background-size: 400% 200%;
    transition: background 1.6s;
}

section.diferencial div.block-itens .titulo {
    padding:0 15px;
	align-items: center;
	display: flex;
	height: 190px;
	flex-wrap: wrap;
	justify-content: center;
	cursor: pointer;
}

section.diferencial .titulo h2 {
	font-family: 'STIX Two Text', sans-serif;
	font-weight: 500;
	font-size: 32px;
	line-height: 40px;
	color: #272727;
	clear: left;
	margin: 10px 0px;
	text-align: center;
	margin: 40px 0 0;
	display:block;
}

@media screen and (min-width: 1200px) {
#header .navbar.open .bts-ligar-whats, #header .navbar.open .telefone {
		display: none;
	}
section.diferencial .titulo h2 {
		margin: 40px 0px 0px;
	}
}

section.areas-atuacao .row .col-lg-3 {
    margin-bottom: 30px;
    padding: 0 15px;
}

section.areas-atuacao .row:first-of-type {
    margin-bottom: 50px;
}

section.areas-atuacao .btn {
    background-color: #fff;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 19px 0;
    margin: auto;
    font-size: 16px;
    font-family: 'Mulish', sans-serif, sans-serif;
    font-weight: 800;
    width: 20%;
    border-radius: 0;
    margin-top: 10px;
    transition: .3s;
}

section.areas-atuacao .btn:hover {
    box-shadow: 0 3px 16px -4px #d0a145;
}

section.noticias .boxNoticia .txt {
    border: 1px solid transparent;
    border-top: 0;
    padding: 25px;
    min-height: 200px;
    background: #fff;
}

section.noticias .boxNoticia .txt div.tags {
    float: left;
    display: none;
    width: 100%;
    margin-bottom: 15px;
}

section.noticias .boxNoticia .txt p.por {
    color: var(--primary-color);
    font-family: 'Inter', sans-serif, sans-serif;
    font-weight: 600;
    font-size: 14px;
}

section.noticias .boxNoticia .txt p.data {
    color: #333;
    font-family: 'Mulish', sans-serif, sans-serif;
    font-weight: 400;
    font-size: 14px;
    margin-bottom: 0;
}

section.ondeEncontrar .txt {
    float: left;
    margin-top: 60px;
    padding-left: 40px;
}

section.ondeEncontrar .box {
    margin-bottom: 30px;
    position: relative;
    padding-left: 50px;
}

section.ondeEncontrar .box:before {
    background: url(../img/bg/bg_icones.webp) no-repeat;
    background-position: 0 -6047px;
    width: 38px;
    height: 32px;
    display: block;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
}

section.ondeEncontrar .box span.endereco {
    font-family: 'Mulish', sans-serif, sans-serif;
    font-weight: 400;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 20px;
    display: block;
	margin: 0;
    padding: 0;
	text-shadow: 4px 3px 2px #000000;
}

section.ondeEncontrar .box span.endereco a {
    color: #fff;
}

section.ondeEncontrar .box address {
    font-family: 'Mulish', sans-serif, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    color: #fff;
    display: block;
	text-shadow: 4px 3px 2px #000000;
}

section.ondeEncontrar .box address a {
    color: #fff;
    display: block;
}

section.ondeEncontrar .box address a:hover, section.ondeEncontrar .box address a:focus {
	color:var(--decor-color);
}


/* Footer
--------------------------------------------------*/
section.ondeEncontrar {
	background: url(../img/bg/bg_encontrar.webp) repeat-x;
	min-height: 289px;
	background-size: contain;
	overflow: hidden;
	padding-bottom: 30px;
}

section.ondeEncontrar .slick-slide div.linha {
	float: left;
}

section.ondeEncontrar iframe {
	float: left;
}

section.ondeEncontrar div.txt {
	float: left;
	margin-top: 60px;
	padding-left: 40px;
}

section.ondeEncontrar h3.titulo {
	font-family: 'STIX Two Text', sans-serif;
	font-weight: 500;
	margin: 0;
	padding: 0;
	margin-bottom: 30px;
	color: #FFF;
	font-size: 36px;
	position: relative;
	display: block;
}

section.ondeEncontrar h3.titulo::before {
	content: "";
	background: #665733;
	width: 9px;
	display: block;
	position: absolute;
	left: -40px;
	top: 0;
	height: 100%;
}
section.ondeEncontrar span.endereco {
	font-family: 'Mulish', sans-serif;
	font-weight: 400;
	color: #FFF;
	font-size: 16px;
	font-weight: 400;
	margin-bottom: 20px !important;
	display: block;
}

section.ondeEncontrar span.endereco strong {
	font-weight: 400;
	font-size: 24px;
}

section.ondeEncontrar span.endereco span {
	color: #6e695d;
}

section.ondeEncontrar span.endereco a {
	color: #FFFFFF;
}

section.ondeEncontrar span.endereco span {
	color: #6e695d;
}

section.ondeEncontrar address {
	margin: 0;
	padding: 0;
	font-family: 'Mulish', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 22px;
	color: #e3e2e0;
	display: block;
}
section.ondeEncontrar address a {
	color: #e3e2e0;
	display: block;
}

footer {
    background: #2e2a22;
    float: left;
    padding-top: 50px;
    width: 100%;
    display: block;
}

footer span.logo {
    margin: 0;
    padding: 0;
    width: 260px;
    height: 80px;
    display: block;
    background: url(../img/bg/bg_logo_branca.png) no-repeat;
    background-size: contain;
}

footer ul.telefones {
    float: left;
    display: block;
    margin: 20px 0;
    padding: 0;
}

footer ul.telefones li {
    font-family: 'Mulish', sans-serif, sans-serif;
    font-weight: 400;
    font-size: 14px;
    float: left;
    display: block;
    color: #fafafa;
    list-style: none;
    margin-right: 100px;
}

footer ul.telefones li.ic1 {
    background-position: 0 -1567px;
    width: 35px;
    height: 30px;
    margin-top: 10px;
    float: left;
}

footer ul.telefones li:last-child {
    margin-right: 0;
}

footer ul.telefones li a {
    color: #fafafa;
    font-weight: 700;
    font-size: 22px;
    display: block;
}

footer ul.redesSociais {
    float: right;
    margin: 23px 0;
    padding: 0;
    list-style: none;
}

footer ul.redesSociais li {
    float: left;
    margin: 0;
    padding: 0;
    list-style: none;
    margin-left: 30px;
}

footer ul.redesSociais li a {
    width: 21px;
    height: 21px;
    text-indent: -9999px;
    overflow: hidden;
    display: block;
}

footer ul.redesSociais li a.r1 {
    background: url(../img/bg/bg_icones.webp) no-repeat;
    background-position: -3px -1699px;
}

footer ul.redesSociais li a.r2 {
    background: url(../img/bg/bg_icones.webp) no-repeat;
    background-position: -3px -1765px;
}

footer ul.redesSociais li a.r3 {
    background: url(../img/bg/bg_icones.webp) no-repeat;
    background-position: -3px -1841px;
}

footer ul.redesSociais li a.r4 {
    background: url(../img/bg/bg_icones.webp) no-repeat;
    background-position: -3px -1792px;
}

footer .hLinha {
    border: 0;
    margin-top: 20px;
    float: left;
    display: block;
    width: 100%;
    margin-bottom: 30px;
    border-bottom: 1px solid #38342c;
    opacity: 1;
}

footer .footer-card {
    background: #23201a;
    display: flex;
    padding: 13px 20px;
    text-decoration: none;
    color: #fafafb;
    text-align: left;
    width: 100%;
    float: left;
    margin: 10px auto;
    border-radius: 4px;
}

footer .footer-card:before {
    background: url(../img/bg/bg_icones.webp) no-repeat;
    content: "";
    width: 38px;
    height: 38px;
    margin: 5px 20px 0 5px;
    display: block;
}

footer .footer-card .card-info .titulo {
    font-family: 'Poppins', sans-serif, sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 18px;
    margin: 0 auto;
}

footer .footer-card .card-info .texto {
    font-size: 12px;
    text-transform: none;
    margin-top: 5px;
    margin-bottom: 0;
    color: #a7a6a5;
    font-family: 'Poppins', sans-serif, sans-serif;
    font-weight: 400;
}

footer .card-seguro:before {
    background-position: 0 -1919px;
}

footer .card-contato:before {
    background-position: 0 -2037px;
}

footer .card-empresa:before {
    background-position: 0 -2132px;
}

footer figure.selo {
    float: left;
    width: 100%;
    display: block;
    text-align: center;
    margin-bottom: 30px;
    background: #23201a;
    padding: 20px;
    border-radius: 4px;
	height: 260px;
	background: url(../img/gr/selo-11-anos.webp) no-repeat center center #23201a !important;
}

footer figure.selo img {
    display: table;
    margin: 0 auto;
	height: auto;
}

footer ul.mn {
    margin: 0;
    padding: 0;
    list-style: none;
}

footer ul.mn li {
    display: block;
    padding-left: 20px;
    margin-bottom: 10px;
    line-height: 30px;
    background: url(../img/bg/bg_icones.webp) no-repeat;
    background-position: 0 -2377px;
}

footer ul.mn li a {
    font-family: 'Mulish', sans-serif, sans-serif;
    font-weight: 400;
    color: #fff;
    font-size: 14px;
}

footer ul.mn li a:hover, footer ul.mn li a:focus {
	color:var(--decor-color);
}

footer span.titAtuacao {
    font-family: 'Poppins', sans-serif, sans-serif;
    font-weight: 600;
    color: var(--decor-color);
    font-size: 14px;
    margin: 0;
    padding: 0;
    margin-bottom: 20px;
    display: block;
}

footer ul.mn2 {
    margin: 0;
    padding: 0;
    list-style: none;
}

footer ul.mn2 li {
    display: block;
    margin-bottom: 10px;
    line-height: 30px;
}

footer ul.mn2 li a {
    font-family: 'Mulish', sans-serif, sans-serif;
    font-weight: 400;
    color: #fff;
    font-size: 14px;
}

footer .menuFooter {
    padding-bottom: 50px;
}

section.barra {
	background: #23201a;
	padding: 30px 0;
}

section.barra p {
	color: #a7a6a5;
	line-height: 22px;
	font-family: 'Mulish', sans-serif;
	font-weight: 400;
	font-size: 14px;
	color: #FFF;
	margin: 0;
	padding: 0;
	text-align: center;
}

section.barra a.mapa-do-site {
	color: #a7a6a5;
	display: block;
	text-align: right;
	font-size: 14px;
	text-transform: uppercase;
	font-family: 'Mulish', sans-serif;
	font-weight: 400;
	display: none;
}

footer .barra {
    background: #23201a;
    padding: 30px 0;
}

footer .barra p {
    line-height: 18px;
    font-family: 'Mulish', sans-serif, sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #fff;
    margin: 0;
    text-align: center;
}

footer .barra a.mapa-do-site {
    color: #a7a6a5;
    text-align: right;
    font-size: 14px;
    text-transform: uppercase;
    font-family: 'Mulish', sans-serif, sans-serif;
    font-weight: 400;
    display: none;
}

@media screen and (max-width: 991px) {
section.noticias div.boxNoticias .row:last-of-type {
        margin: 0 auto;
    }
}

@media screen and (max-width: 767px) {
section.noticias .swiper {
		margin-top: 20px !important;
	}
}

@media (max-width: 380px) {
section.stripe-cta-modelo-PrecisandoAdvogado .textInfo .r3 {
        font-weight: normal;
        font-size: 9px;
        line-height: 12px;
        display: block;
    }
}

@media screen and (max-width: 1199px) {
section.boxAreaAtuacaoConteudoMeio .container .row {
        display: flex;
        flex-direction: column;
    }
}

.modal {
	z-index: 9999999999;
}

.modal .modal-header .modal-title::before {
	background: url(../img/bg/bg_icones.webp) no-repeat;
    background-position-x: 0%;
    background-position-y: 0%;
    content: "";
    width: 38px;
    height: 38px;
    margin: 0 10px 0 0;
    display: block;
    float: left;
}

.modal#safe .modal-header .modal-title::before {
    background-position: 0 -1917px;
}

.modal .modal-header {
	padding: 0 40px;
	position: relative;
	background: #23201a;
	display: flex;
    justify-content: space-between;
}

.modal#seguro .modal-title::before {
	background-position: 0 -2033px;
}

.modal#servicoAvaliado .modal-title::before {
	background-position: 0 -2126px;
}

.modal .modal-title {
    font-size: 33px;
    color: #fff;
    margin: 0;
    padding: 20px 0;
    font-family: poppins;
    font-weight: 600;
    display: flex;
	align-items: center;
}

.modal .modal-header .close {
	color: #fff;
    background: none;
    font-size: 36px;
}

.modal .modal-header .close:hover, .modal .modal-header .close:focus {
	color:var(--decor-color);
}

.modal a.btn {
    background: var(--secondary-color);
    margin: 0 auto;
    text-align: center;
    font-family: mulish;
    font-weight: 700;
    color: #fff;
    font-size: 16px;
}

.modal a.btn:hover {
	background-color: var(--primary-color);
}

.modal .modal-body p {
    font-family: mulish;
    font-weight: 400;
    line-height: 22px;
    padding-bottom: 15px !important;
    margin: 0;
    font-size: 14px;
}

.modal .modal-body {
	padding:30px;
}

.card-form .row {
	position: relative;
}

section.sc-form-localization div.card-form .btn {
	font-family: "Montserrat";
	font-weight: 700;
	color: #FFF;
	background: #3ad578;
	font-size: 18px;
	width: 100%;
	padding: 15px 0;
	margin-top: 15px;
	transition: all 0.3s;
}

section.sc-form-localization div.card-form.response-form .btn {
	font-family: "Montserrat";
	font-weight: 700;
	font-size: 18px;
	border: 1px solid #C4A865;
	border-radius: 12px;
	background-color: transparent;
	color: #C4A865;
	padding: 19px 0;
	width: 40%;
}

section.sc-form-localization.form-aside .container {
	padding: 0;
}

section.sc-form-localization.form-aside div.card-form .btn {
	margin: 10px auto 0;
}

div.card-form .response_form {
	text-align: center;
	width: 100%;
	display: none;
}

div.card-form .response_form.error {
	display: block;
	color: red;
	padding: 20px 0 0;
	float: left;
}

.box-fone-validation {
	font-family: 'Mulish', sans-serif, sans-serif;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
	width: 100%;
	margin-bottom: 5px;
}

.pp-validation {
	width: 100%;
	display: flex;
}

.pp-validation #valid-msg_footer,
.pp-validation #valid-msg_aside,
.pp-validation #valid-msg_header,
.pp-validation #valid-msg_f,
.pp-validation #valid-msg_popup,
.pp-validation #valid-msg {
	color: green;
}

.pp-validation .phone-msg {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	z-index: 2;
	float: right;
	font-size: 13px;
	height: 0;
	position: absolute;
	align-items: center;
	align-self: center;
	right: 24px !important;
}

.pp-validation #error-msg_footer,
.pp-validation #error-msg_aside,
.pp-validation #error-msg_header,
.pp-validation #error-msg_f,
.pp-validation #error-msg_popup,
.pp-validation #error-msg,
div[id^='uf-message'] #error-msg {
	color: rgb(231, 76, 60);
}

.pp-validation .hide,
.pp-validation .rs-modal {
	display: none;
}

.bar-top-header .area a .icon {
	width: 24px;
	height: 24px;
	display: table-cell;
	margin-right: 0px;
	background: url(../img/bg/bg_ic_2.png) no-repeat;
}

.bar-top-header div.idiomas .icons {
	float: left;
	display: block;
	margin-right: 8px;
	width: 24px;
	height: 24px;
}

.alertCopy {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	background: #bd9039;
	padding: 10px;
	z-index: 9999999999999999;
	display: none;
}

.alertCopy {
	font-family: 'Mulish', sans-serif;
	font-weight: 400;
	font-size: 14px;
	text-align: center;
	line-height: 22px;
	color: #FFF;
	clear: left;
}

div.card-form .box-fone-validation {
	margin-bottom: 14.66px;
	font-size: 14px;
}

div.card-form .box-fone-validation input {
	margin-bottom: 0;
}

div.card-form .btn {
	font-size: 18px;
	width: 100%;
	float: left;
	padding: 15px 0;
	margin-top: 15px;
	font-family: 'Inter', sans-serif;
	font-style: normal;
	font-weight: 600;
	color: #FFFFFF;
	background-image: linear-gradient(45deg, #219C6B, #176729, #219C6B, #176729);
	background-size: 400% 200%;
	animation: 5.6s infinite brilho;
	transition: background 1.6s all;
	border: none;
	border-radius: 12px;
}

div.card-form  .icon-submit {
	width: 20px;
	transition: .2s linear;
}

div.card-form .btn:hover .icon-submit {
	background-position: 3px -3839px !important;
	width: 20px;
}

section.excelencia.excelencia-cidades .row .col-img-cidades img {
	margin-top: 20px;
}

@media screen and (min-width: 768px) {
section.excelencia.excelencia-cidades .row:has(.col-img-cidades) {
		display: flex;
	}
section.excelencia.excelencia-cidades .row .col-img-cidades img {
		margin: 0;
		object-fit: cover;
		height: 100%;
	}
}

@media screen and (max-width: 991px) {
section.areas-atuacao .row .col-lg-3 {
        margin-bottom: 0;
    }
}

@media screen and (min-width: 992px) {
section.excelencia .container {
		position: relative;
	}
section.excelencia:not(.excelencia-cidades) .container::before {
		position: absolute;
		top: calc(50% - (593px / 2));
		left: 60%;
		content: '';
		width: 738px;
		height: 593px;
		display: block;
		background: url(../img/bg/bg_excelencia.webp) no-repeat center/cover;
	}
}

section.noticias .swiper {
    margin-top: 70px;
	padding: 0 0 15px 0;
}

section.topoOEscritorio .container {
	min-height: 525px;
	position: relative;	
}

section.topoOEscritorio .container::after {
	content: "";
	position: absolute;
	left: 15px;
	bottom: -20px;	
	width: 50px;
	height: 50px;
	display: block;
	background: url(../img/bg/bg_icones.webp) no-repeat 19px -4562px var(--primary-color);
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	-webkit-box-shadow: 0px 12px 36px -10px rgba(202,157,70,0.71);
	-moz-box-shadow: 0px 12px 36px -10px rgba(202,157,70,0.71);
	box-shadow: 0px 12px 36px -10px rgba(202,157,70,0.71);
}

@media screen and (max-width: 767.5px) {
div.bar-top-header .url_fone_header {
		display: block !important;
	}
}

header.menu_interno .linha {
	display: none;
}

section.topoOEscritorio .container {
	min-height: 525px;
	position: relative;
}

section.topoOEscritorio .container::after {
	content: "";
	position: absolute;
	left: 15px;
	bottom: -20px;
	width: 50px;
	height: 50px;
	display: block;
	background: url(../img/bg/bg_icones.webp) no-repeat 19px -4562px var(--primary-color);
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	-webkit-box-shadow: 0px 12px 36px -10px rgba(202, 157, 70, 0.71);
	-moz-box-shadow: 0px 12px 36px -10px rgba(202, 157, 70, 0.71);
	box-shadow: 0px 12px 36px -10px rgba(202, 157, 70, 0.71);
}

section.profissionais .container {
	width: 100%;
}

section.formTalentos .linha {
	float: left;
	display: block;
}

section.formTalentos .linha hr {
	margin: 0;
	padding: 0;
}

section.formTalentos article.form .response_form {
	text-align: left;
	width: 100%;
	display: block;
}

section.formTalentos article.form .response_form.error {
	color: red;
	float: left;
}

section.boxContato .txt h2 {
	font-family: 'STIX Two Text', sans-serif;
	font-weight: 500;
	color: #FFF;
	margin: 0;
	padding: 0;
	font-size: 48px;
	margin-bottom: 20px;
	padding-top: 80px;
	position: relative;
}

section.boxContato .txt h2::before {
	background: url(../img/bg/bg_icones.webp) no-repeat;
	width: 53px;
	height: 53px;
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background-position: 0 -5745px;
}

section.boxContato .txt p {
	font-family: 'Mulish', sans-serif;
	font-weight: 400;
	color: #FFF;
	margin: 0;
	padding: 0;
	font-size: 16px;
	max-width: 420px;
	line-height: 26px;
}

section.boxContato .txt ul.dados {
	margin: 0;
	padding: 0;
	list-style: none;
	margin-top: 30px;
}

section.boxContato .txt ul.dados li {
	font-family: 'Mulish', sans-serif;
	font-weight: 400;
	color: #FFF;
	margin: 0;
	padding: 0;
	margin-bottom: 30px;
	font-size: 14px;
	line-height: 28px;
	max-width: 415px;
}

section.boxContato .txt ul.dados li a {
	color: #FFF;
}

section.boxContato .txt ul.dados li.t1::before {
	background: url(../img/bg/bg_icones.webp) no-repeat;
	width: 38px;
	height: 32px;
	display: block;
	content: "";
	float: left;
	background-position: 0 -5836px;
}

section.boxContato .txt ul.dados li.t2::before {
	background: url(../img/bg/bg_icones.webp) no-repeat;
	width: 38px;
	height: 32px;
	display: block;
	content: "";
	float: left;
	background-position: 0 -5920px;
}

section.boxContato .txt ul.dados li.t3::before {
	background: url(../img/bg/bg_icones.webp) no-repeat;
	width: 38px;
	height: 32px;
	display: block;
	content: "";
	float: left;
	background-position: 0 -5978px;
}

footer ul.redesSociais li a:hover, footer ul.redesSociais li a:focus {
	border-radius: 4px;
	transition: transform .2s;
    transform: scale(1.1);
}

section.boxContato .txt div.form_1 h2::before {
	display: none !important;
}

section.boxOndeEncontrar .txt {
	position: relative;
	padding-left: 50px;
	margin-bottom: 50px;
}

section.boxOndeEncontrar .txt::before {
	background: url(../img/bg/bg_icones.webp) no-repeat;
	width: 38px;
	height: 32px;
	display: block;
	content: "";
	float: left;
	position: absolute;
	left: 0;
	top: 0;
	background-position: 0 -6047px;
}

footer.footer {
	background: #2e2a22;
	float: left;
	padding-top: 50px;
	padding-bottom: 50px;
	width: 100%;
	display: block;
}

footer.footer span.logo {
	margin: 0;
	padding: 0;
	width: 260px;
	height: 80px;
	display: block;
	background: url(../img/bg/bg_logo_branca.png) no-repeat;
	background-size: contain;
}

footer.footer .hLinha {
	border: 0;
	margin-top: 20px;
	float: left;
	display: block;
	width: 100%;
	margin-bottom: 30px;
	border-bottom: 1px solid #38342c;
}

footer.footer ul.telefones {
	float: left;
	display: block;
	margin: 20px 0;
	padding: 0;
}

footer.footer ul.telefones li {
	font-family: 'Mulish', sans-serif;
	font-weight: 400;
	font-size: 14px;
	float: left;
	display: block;
	color: #fafafa;
	list-style: none;
	margin-right: 100px;
}

footer.footer ul.telefones li:last-child {
	margin-right: 0;
}

footer.footer ul.telefones li a {
	margin-top: 0;
	display: flex;
}

footer ul.telefones li a:hover, footer ul.telefones li a:focus {
	color:var(--decor-color);
}

footer.footer ul.telefones li a,
footer.footer ul.telefones li a:hover {
	color: #fafafa;
	text-decoration: none;
	font-weight: bold;
	font-size: 22px
}

footer.footer ul.telefones li .ic1 {
	background-position: 0 -1567px;
	width: 35px;
	height: 30px;
	margin-top: 10px;
	float: left;
}

footer.footer ul.telefones li .ic2 {
	background-position: 0 -1634px;
	width: 35px;
	height: 30px;
	float: left;
}

footer.footer ul.redesSociais {
	float: right;
	margin: 23px 0;
	padding: 0;
	list-style: none;
}

footer.footer ul.redesSociais li {
	float: left;
	margin: 0;
	padding: 0;
	list-style: none;
	margin-left: 30px;
}

footer.footer ul.redesSociais li a {
	width: 21px;
	height: 21px;
}

footer.footer ul.redesSociais li a.r1 {
	background: url(../img/bg/bg_icones.webp) no-repeat;
	background-position: -3px -1699px;
}

footer.footer ul.redesSociais li a.r2 {
	background: url(../img/bg/bg_icones.webp) no-repeat;
	background-position: -3px -1765px;
}

footer.footer ul.redesSociais li a.r3 {
	background: url(../img/bg/bg_icones.webp) no-repeat;
	background-position: -3px -1841px;
}

footer.footer ul.redesSociais li a.r4 {
	background: url(../img/bg/bg_icones.webp) no-repeat;
	background-position: -3px -1792px;
}

footer.footer .footer-card {
	background: #23201a;
	display: flex;
	padding: 13px 20px;
	text-decoration: none;
	color: #fafafb;
	text-align: -webkit-auto;
	width: 100%;
	float: left;
	margin: auto 0 10px auto;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

footer .footer-card:hover, footer .footer-card:focus {
	background: #1a1814;
}

footer.footer .footer-card:before {
	background: url(../img/bg/bg_icones.webp) no-repeat;
	content: "";
	width: 38px;
	height: 38px;
	margin: 5px 20px 0 5px;
	display: block;
}

footer.footer .card-seguro::before {
	background-position: 0 -1919px;
}

footer.footer .card-contato::before {
	background-position: 0 -2037px;
}

footer.footer .card-empresa::before {
	background-position: 0 -2132px;
}

footer.footer .card-governo::before {
	background-position: 0 -2250px;
}

footer.footer .footer-card .card-info .titulo {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 18px;
	margin: 0 auto 0;
}

footer.footer .footer-card .card-info .texto {
	font-size: 12px;
	text-transform: none;
	margin-top: 5px;
	margin-bottom: 0;
	color: #a7a6a5;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
}

footer.footer ul.mn {
	margin: 0;
	padding: 0;
	list-style: none;
}

footer.footer ul.mn li {
	display: block;
	padding-left: 20px;
	margin-bottom: 10px;
	line-height: 30px;
	background: url(../img/bg/bg_icones.webp) no-repeat;
	background-position: 0 -2377px;
}

footer.footer ul.mn2 li a {
	font-family: 'Mulish', sans-serif;
	font-weight: 400;
	color: #FFF;
	font-size: 14px;
}

footer.footer ul.mn2 {
	margin: 0;
	padding: 0;
	list-style: none;
}

footer.footer ul.mn2 li {
	display: block;
	margin-bottom: 10px;
	line-height: 30px;
}

footer.footer ul.mn li a {
	font-family: 'Mulish', sans-serif;
	font-weight: 400;
	color: #FFF;
	font-size: 14px;
}

footer.footer ul.mn li a:hover, footer.footer ul.mn li a:focus  {
	color:var(--decor-color);
}

footer ul.mn2 li a:hover, footer ul.mn2 li a:focus {
	color:var(--decor-color);
}

section.comentariosLandpage .titulo h3 {
	margin-top: 0;
}

section.comentariosLandpage .titulo h2 {
	font-family: 'STIX Two Text', sans-serif;
	font-weight: 400;
	font-size: 44px;
	color: #1f232e;
	line-height: 46px;
	font-weight: normal;
	margin: 10px 0 10px 0;
	padding: 0;
}

section.comentariosLandpage .titulo h3 {
	font-family: 'Mulish', sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #4f4f4f;
	line-height: 25px;
	margin-bottom: 10px;
}

#comments .pingback .url {
	font-size: 13px;
	font-style: italic;
}

#respond .required {
	color: #ff4b33;
	font-weight: bold;
}

section.sc-form-localization div.card-form .btn {
	animation: 5.6s infinite brilho;
	width: 100%;
	padding: 20px 0;
	margin-top: 20px;
	transition: all 0.3s;
	font-family: 'Inter', sans-serif;
	font-style: normal;
	font-weight: 600;
	font-size: 18px;
	line-height: 20px;
	color: #FFFFFF;
	background-image: linear-gradient(45deg, #219C6B, #176729, #219C6B, #176729);
	border: none;
	border-radius: 12px;
	background-size: 400% 200%;
	transition: background 1.6s all;
	-webkit-animation: 5.6s infinite brilho;
	-webkit-transition: background 1.6s all;
	-moz-transition: background 1.6s all;
	-ms-transition: background 1.6s all;
	-o-transition: background 1.6s all;
}

section.sc-form-localization div.card-form .btn i {
	transition: .2s linear;
	width: 20px;
}

section.sc-form-localization div.card-form .btn:hover i {
	transition: .2s linear;
	background-position: 3px -3839px !important;
	width: 20px;
}

.icon-submit {
	width: 12px;
	height: 12px;
	display: inline-block;
	background-position: 1px -3839px !important;
	position: relative;
}

.modalDiferente div.topo .close {
	opacity: 1;
	color: #fff !important;
}

.modalDiferente .modal-body {
	padding: 0 40px;
	margin-bottom: 40px;
}

.modalDiferente div.topo .close {
	position: absolute;
	right: 25px;
	top: 25px;
	font-size: 22px;
	color: #5c5c5c;
}

.bar--wpp-orusflow .header {
	margin-bottom: 14px;
}

.bar--wpp-orusflow .header,
.bar--wpp-orusflow .header span {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 500;
}

.bar--wpp-orusflow .header span i.ic-wpp {
	background: url(../img/bg/whatsapp.webp);
	width: 30px;
	height: 30px;
	background-repeat: no-repeat;
	background-size: contain;
	padding-right: 40px;
}

.pp--container {
	padding: 15px 15px 20px 15px;
	background-color: #fff;
	border-radius: 15px 15px 0px 0px;
	box-shadow: 0 0 10px 0px #b1b1b1;
}

#formWpp label#mensagem-label {
	display: unset;
	max-width: unset;
	margin-bottom: unset;
	font-weight: unset;
}

#formWpp label#mensagem-label-wpp {
	width: 100%;
}

#formWpp input[type='text'],
#formWpp input[type='tel'],
#formWpp input[type='submit'],
#formWpp textarea,
#formWpp select {
	background: 0 0;
	border: 1.2px solid #c0d0e6;
	border-radius: 4px;
	height: 35px;
	margin-bottom: 8px;
	width: 100%;
	padding-left: 10px;
	font-size: 14px;
	font-weight: 100;
}

#formWpp #uf-select-wpp-form label {
	width: 100%;
	margin: 0px;
}

#formWpp div#check {
	margin-bottom: 8px;
}

#formWpp textarea {
	max-width: 100%;
	min-width: 100%;
	max-height: 50vh;
	min-height: 5em;
	padding-top: 10px;
	resize: none;
}

#formWpp .pp-validation {
	margin-bottom: 8px;
}

#formWpp input:focus,
#formWpp textarea:focus,
#formWpp select:focus {
	border: 1.4px solid #34af23 !important;
	border-radius: 4px;
	-webkit-transition: .2s linear;
	transition: .2s linear;
	outline: none;
	border-color: #66afe9;
	outline: 0;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
}

#formWpp button[type="submit"] {
	background-color: #34af23;
	color: #fff;
	height: 40px;
	width: 100%;
	border: none;
	font-size: 13px;
	margin-top: 0;
	background-image: linear-gradient(45deg, #219C6B, #176729, #219C6B, #176729);
	background-size: 400% 200%;
	animation: 5.6s infinite brilho;
	transition: background 1.6s all;
	border-radius: 5px;
}

#formWpp button[type="submit"] .icon-submit {
	bottom: -.5px;
	width: 20px;
	transition: .2s linear;
}

#formWpp button[type="submit"]:hover .icon-submit {
	background-position: 3px -3839px !important;
	width: 20px;
}

#formWpp button[type="submit"]:hover {
	filter: brightness(105%);
	-ms-filter: brightness(105%);
	-webkit-filter: brightness(105%);
}

#formWpp button[type="submit"].loading {
	background: url(../img/bg/loading-infinity.webp) no-repeat center;
	background-size: 80%;
}

.pp--container .footer {
	text-align: center;
}

.pp--container .footer span {
	background: url(../img/bg/ic_2.webp) no-repeat left;
	background-size: 18px;
	padding: 10px 0px 10px 25px;
	filter: contrast(0.3);
}

.cta-wpp {
	position: fixed;
	right: 0px;
	bottom: 0px;
	z-index: 99999;
}

.btn-phone {
	background: #9c7d24;
	box-shadow: rgba(156, 125, 36, 0.24) 0px 3px 8px;
	position: fixed;
	right: 10px;
	bottom: 110px;
	width: 80px;
	height: 80px;
	border-radius: 100%;
	z-index: 99998;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: all .5s ease-in-out;
	text-decoration: none;
}

.btn-phone span {
	color: #f2eee3;
	margin-top: 3px;
	font-size: 15px;
	font-size: 11px;
	text-shadow: rgba(242, 238, 227, 0.50) 0px 3px 8px;
}

.phone-icon {
	background: url('../img/bg/phone.webp') no-repeat center/contain;
	width: 30px;
	height: 30px;
}

@media screen and (min-width: 768px) {
.btn-phone {
		display: none;
	}
}

.btn-whatsapp {
	background: url(../img/bg/especialista.webp) no-repeat center;
	background-size: 80%;
	position: relative;
	border-radius: 40px;
	border: 0px solid #4caf50;
	width: 100px;
	height: 100px;
	display: block;
	float: right;
	transition: all .5s ease-in-out;
	text-indent: -9999px;
}

.btn-whatsapp:hover,
.btn-phone:hover {
	transform: scale(1.05);
}

.cta-wpp-mensagem {
	background-color: #FFFFFF;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
	padding: .5rem 1rem;
	border-radius: 10px 10px 0px 10px;
	display: block;
	float: left;
	position: relative;
	overflow: hidden;
	animation: grow 3s linear, nudge 3s linear infinite;
	max-width: 170px;
	line-height: 115%;
	font-size: 14px;
	width: 450px;
}

.btn-whatsapp:focus,
button.fechar:focus {
	outline: 0;
}

@media screen and (max-width:1000px) {
.pp--container {
		margin: 0 10px;
	}
}

section.nvmAgendeConsultoria div.cta-model02 .textInfo .r3 {
	max-width: 250px;
	display: block;
}

section.nvmAgendeConsultoria .r1 {
	text-transform: uppercase;
}

section.nvmAgendeConsultoria .r2 {
	font-weight: normal;
	color: #f9cb50;
}

section.nvmAgendeConsultoria .r3 {
	text-transform: uppercase;
}

section.nvmAgendeConsultoria .r3 span {
	color: #f9cb50;
}

section.stripe-cta-modelo-PrecisandoAdvogado .textInfo .r1 {
	font-size: 18px;
	line-height: 27px;
	display: block;
	text-transform: uppercase;
}

section.stripe-cta-modelo-PrecisandoAdvogado .textInfo .r2 {
	color: #f9cb50;
}

section.stripe-cta-modelo-PrecisandoAdvogado .textInfo .r3 {
	font-weight: normal;
	font-size: 18px;
}

@media (max-width: 980px) {
.footer-card.card-empresa {
		margin-bottom: 20px !important;
	}
section.stripe-cta-modelo-PrecisandoAdvogado .textInfo .r1 {
		font-size: 10px;
		line-height: 13px;
	 }
section.stripe-cta-modelo-PrecisandoAdvogado .textInfo .r3 {
		font-weight: normal;
		font-size: 10px;
		line-height: 13px;
		display: block;
		margin-bottom: 10px;
	  }
section.stripe-cta-modelo-PrecisandoAdvogado .textInfo .r1 {
		font-size: 10px;
		line-height: 13px;
	 }
section.stripe-cta-modelo-PrecisandoAdvogado .textInfo .r3 {
		font-weight: normal;
		font-size: 10px;
		line-height: 13px;
		display: block;
		margin-bottom: 10px;
	  }
section.stripe-cta-modelo-PrecisandoAdvogado .textInfo .r1 {
		font-size: 10px;
		line-height: 13px;
	 }
section.stripe-cta-modelo-PrecisandoAdvogado .textInfo .r3 {
		font-weight: normal;
		font-size: 10px;
		line-height: 13px;
		display: block;
		margin-bottom: 10px;
	  }
section.diferencial .titulo {
		text-align: center;
	}
.sliderEnderecos .slick-list {
		overflow: visible;
	}
.sliderEnderecos .slick-dots {
		margin: 0 auto;
		margin-bottom: 20px;
		padding: 0;
		display: table
	}
.sliderEnderecos .slick-dots li {
		display: inline-table;
		margin: 0 5px;
	}
.sliderEnderecos .slick-dots li button {
		width: 10px;
		height: 10px;
		text-indent: -9999px;
		overflow: hidden;
		border: none;
		background: var(--primary-color);
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		border-radius: 10px;
	}
.sliderEnderecos .slick-dots li.slick-active button {
		background: #e6b24e;
	}
section.boxOndeEncontrar .txt {
		max-width: 370px;
	}
section.boxOndeEncontrar .linha {
		float: left;
		overflow: hidden;
		display: block;
		width: 100%;
	}
footer.footer h1 {
		margin: 0 auto;
		margin-bottom: 40px;
	}
footer.footer ul.telefones {
		float: none;
		margin: 0 auto;
		width: 190px;
		display: table;
		margin-bottom: 40px;
	}
footer.footer ul.telefones li {
		margin: 0;
		margin-bottom: 10px;
	}
footer.footer ul.redesSociais {
		float: none;
		width: 245px;
		display: table;
		margin: 0 auto;
		margin-bottom: 40px;
	}
footer.footer .footer-card {
		float: none;
		margin: 0 auto 10px auto;
	}
footer.footer .footer-card.card-governo {
		margin-bottom: 80px;
	}
footer.footer ul.mn li {
		margin-bottom: 10px;
		line-height: 26px;
	}
footer.footer ul.mn2 li {
		margin-bottom: 20px;
	}
section.boxContato .txt h2 {
		font-size: 32px;
	}
footer.footer span.logo {
		margin: 0 auto;
		width: 150px;
	}
footer.footer .footer-card {
		float: none;
		margin: 0 auto 10px auto;
		flex-direction: column;
		text-align: center;
	}
footer.footer .footer-card::before {
		margin: 0 auto;
	}
section.boxContato .txt h2 {
		padding: 0;
		padding-left: 65px;
		padding-top: 10px;
	}
.page-template-page-landpage-3 section.comentariosLandpage h2.subtit,
	.page-template-page-landpage-3 section.comentariosLandpage .titulo h2 {
		font-size: 28px;
		line-height: 38px;
	}
footer.footer ul.redesSociais {
        float: none;
        width: 245px;
        display: table;
        margin: 0 auto;
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 991px) {
section.noticias div.boxNoticias .row:last- {
		margin: 0 auto;
	}
}

@media (max-width: 380px) {
section.stripe-cta-modelo-PrecisandoAdvogado .textInfo .r3 {
		font-weight: normal;
		font-size: 9px;
		line-height: 12px;
		display: block;
	}
}

@media screen and (max-width: 1199px) {
section.boxAreaAtuacaoConteudoMeio .container .row {
		display: flex;
		flex-direction: column;
	}
}

section.profissionais.profissionais-icone .col-md-4 {
	padding-left: 10px;
	padding-right: 10px;
	float:left;
}

@media screen and (max-width: 980px) {
#area-atuacao-wrapper .col-md-4 {
		padding: 0px !important;
	}
}

.gs-loading-spinner {
	background: #333;
	background: rgba(255, 255, 255, 0.4);
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
	display: none;
	z-index: 99999999999;
}

.gs-loading-spinner .hourglass {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -32px 0 0 -150px;
	z-index: 999999999999999;
	width: 300px;
	color: #FFF;
	padding: 20px;
	text-align: center;
	background: var(--primary-color);
	box-shadow: 0px 3px 10px #504e4e3d;
	border-radius: 4px;
	font-family: 'Mulish', sans-serif;
	font-weight: 400;
	font-size: 13px;
	line-height: 18px;
	color: #FFF;
}

.gs-loading-spinner .hourglass div.loadGr {
	float: left;
	width: 100%;
}

.gs-loading-spinner .hourglass div.loadTxt {
	float: left;
	width: 100%;
	margin-top: 10px;
	display: block;
}

.gs-loading-spinner .hourglass span {
	display: block;
	float: left;
}

.scroll .menu,
.scroll .redesSociais {
	padding: 10px 48px 5px 48px;
}

.menu-opened .icon.icon-bag {
	transform: translateX(75px);
	transition-delay: 0.3s;
}

section.boxProfissionais.boxProfissionaisInterna .txt {
	color: #a3770c;
	font-family: 'Mulish', sans-serif;
	clear: left;
}

section.escritorioProfissionais .container {
	margin: 50px 0;
}

#modalVideo .modal-header .modal-title::before {
	display: none;
}

@media (max-width: 768px) {
.modal {
		padding:0 !important;
	}
.modal .modal-header {
		padding: 0 10px;
	}
.modal .modal-title {
		font-size: 22px;
	}
.modal .modal-body {
		padding:15px;
	}
}

html.desaturate .bar--wpp-orusflow .header {
	color: #000;
}

.youtube-facade {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  cursor: pointer;
}

#politica-privacidade-bar {
	position: fixed;
	bottom: 20px;
	left: 0;
	width: 100%;
	z-index: 99999;
	display: flex;
	justify-content: center;
	align-items: center;
	background: none;
	pointer-events: none;
}

.privacidade-bar-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #fff;
	border-radius: 12px;
	box-shadow: rgba(0, 0, 0, .24) 0 3px 8px;
	padding: 16px 28px;
	min-width: 360px;
	max-width: 60%;
	width: 90%;
	pointer-events: all;
}

.privacidade-bar-texto {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin-right: 24px;
}

.cadeado-icone {
	font-size: 1.1em;
	margin-right: 2px;
}

.privacidade-titulo {
	font-weight: 700;
	font-size: 1em;
	margin-bottom: 2px;
	display: inline;
}

.privacidade-desc {
	font-size: 0.97em;
	color: #373737;
	margin-top: 0px;
}

.privacidade-bar-texto a {
	color: #6f540b ;
	text-decoration: underline;
	font-weight: 500;
	transition: color 0.15s;
}

.privacidade-bar-texto a:hover {
	color: #a87d0d ;
}

#btn-aceitar-privacidade {
	background: #bd9039;
	color: #fff;
	font-weight: 600;
	border: none;
	border-radius: 8px;
	padding: 11px 28px;
	font-size: 1em;
	cursor: pointer;
	transition: background 0.18s;
	box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

#btn-aceitar-privacidade:hover {
	background: #705400;
}

@media (max-width: 390px) {
.btn-whatsapp {
	width: 80px !important;
}
.privacidade-bar-content {
	max-width: 150px !important;
}
}

@media (max-width: 540px) {
#politica-privacidade-bar {
	left: 10px;
	width: auto;
	justify-content: flex-start;
	margin: 0;
	font-size: 12px;
}
.privacidade-bar-content {
	flex-direction: column;
	align-items: stretch;
	padding: 10px 10px 10px 10px;
	width: 90%;
	max-width: 175px;
	min-width: 0;
}
.privacidade-bar-texto {
	margin-right: 0;
	margin-bottom: 12px;
}
#btn-aceitar-privacidade {
	width: 100%;
	padding: 10px 0;
}
.privacidade-titulo {
	margin-bottom: 0;
}
.btn-whatsapp {
	width: 90px;
}
}

#politica-privacidade-bar.ativo {
animation: slideUp 0.5s ease-out forwards;
}

#politica-privacidade-bar.saindo {
	animation: slideDown 0.6s ease-in forwards;
}
/* ========== WhatsApp CTA (botão flutuante) ========== */
.cta-wpp{
  position:fixed;right:0;bottom:0;z-index:99999;
}
.btn-whatsapp{
  background:url(../img/bg/especialista.webp) no-repeat center;
  background-size:80%;position:relative;border-radius:40px;border:0;width:100px;height:100px;display:block;float:right;transition:all .5s ease-in-out;text-indent:-9999px;
}
.btn-whatsapp:hover{transform:scale(1.05)}
.btn-whatsapp:focus,button.fechar:focus{outline:0}

.cta-wpp-mensagem{
  background:#fff;box-shadow:rgba(0,0,0,.24) 0 3px 8px;padding:.5rem 1rem;border-radius:10px 10px 0 10px;display:block;float:left;position:relative;overflow:hidden;
  animation:grow 3s linear,nudge 3s linear infinite;max-width:170px;line-height:115%;font-size:14px;width:450px;
}
@keyframes grow{
  0%{width:auto;max-width:0;max-height:74.375px;transition:max-width 1s ease-in-out,color .2s ease-in-out;color:transparent}
  35%{transition:color 1.5s ease-in-out;text-indent:unset;max-width:160px;color:#000}
}
@keyframes nudge{
  80%{transform:translate(0,0) rotate(0)}85%{transform:translate(-2px,2px) rotate(-2deg)}
  90%{transform:translate(0,0) rotate(0)}95%{transform:translate(2px,2px) rotate(2deg)}100%{transform:translate(0,0) rotate(0)}
}
/* ajustes largura do botão no mobile */
@media (max-width:390px){.btn-whatsapp{width:80px!important}}
@media (max-width:540px){.btn-whatsapp{width:90px}}

/* ========== Barra/Formulário WhatsApp (section.bar--wpp-orusflow) ========== */
section.bar--wpp-orusflow{
  position:fixed;right:0;bottom:0;max-width:360px;z-index:99999;margin:0 30px 0 0;
  font-family:'Mulish',sans-serif;color:#686868;
}
section.bar--wpp-orusflow button.fechar{
  right:-7px;top:-7px;position:absolute;width:30px;height:30px;border-radius:30px;display:block;border:0;background:#bdbdbd;color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.bar--wpp-orusflow .header{margin-bottom:14px}
.bar--wpp-orusflow .header,.bar--wpp-orusflow .header span{
  display:flex;justify-content:center;align-items:center;font-weight:500
}
.bar--wpp-orusflow .header span i.ic-wpp{
  background:url(../img/bg/whatsapp.webp);width:30px;height:30px;background-repeat:no-repeat;background-size:contain;padding-right:40px
}
.pp--container{
  padding:15px 15px 20px;background:#fff;border-radius:15px 15px 0 0;box-shadow:0 0 10px 0 #b1b1b1
}

#formWpp label#mensagem-label{display:unset;max-width:unset;margin-bottom:unset;font-weight:unset}
#formWpp label#mensagem-label-wpp{width:100%}

#formWpp input[type='text'],
#formWpp input[type='tel'],
#formWpp input[type='submit'],
#formWpp textarea,
#formWpp select{
  background:transparent;border:1.2px solid #c0d0e6;border-radius:4px;height:35px;margin-bottom:8px;width:100%;padding-left:10px;font-size:14px;font-weight:100
}
.form-check-input{min-height:unset!important}
#formWpp #uf-select-wpp-form label{width:100%;margin:0}
#formWpp div#check{margin-bottom:8px}
.uf{color:#212529}
.form-select:invalid{color:#858585}

#formWpp textarea{
  max-width:100%;min-width:100%;max-height:50vh;min-height:5em;padding-top:10px;resize:none
}
#formWpp .pp-validation{margin-bottom:8px}

#formWpp input:focus,
#formWpp textarea:focus,
#formWpp select:focus{
  border:1.4px solid #34af23!important;border-radius:4px;transition:.2s linear;outline:none;border-color:#66afe9;
  -webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
  box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)
}

/* responsivo da barra */
@media screen and (max-width:1000px){
  section.bar--wpp-orusflow{width:100%;margin:auto}
  .pp--container{margin:0 10px}
  section.bar--wpp-orusflow button.fechar{right:7px;top:-7px}
}

/* ========== Validação telefone (intl-tel-input + mensagens) ========== */
.box-fone-validation{
  font-family:'Mulish',sans-serif;align-items:center;display:flex;flex-direction:column;width:100%;margin-bottom:5px
}
.pp-validation{width:100%;display:flex}
.pp-validation #valid-msg_footer,
.pp-validation #valid-msg_aside,
.pp-validation #valid-msg_header,
.pp-validation #valid-msg_f,
.pp-validation #valid-msg_popup,
.pp-validation #valid-msg{color:green}
.pp-validation .phone-msg{
  display:flex;z-index:2;float:right;font-size:13px;height:0;position:absolute;align-items:center;align-self:center;right:24px!important
}
.pp-validation #error-msg_footer,
.pp-validation #error-msg_aside,
.pp-validation #error-msg_header,
.pp-validation #error-msg_f,
.pp-validation #error-msg_popup,
.pp-validation #error-msg,
div[id^='uf-message'] #error-msg{color:rgb(231,76,60)}
div[id^='uf-message'].error,input.error{border-color:rgb(231,76,60)}
div[id^='uf-message'].valid,input.valid{border-color:rgb(46,204,113)}
.pp-validation .hide,.pp-validation .rs-modal{display:none}

/* intl-tel-input (ajustes usados aqui) */
.iti{width:100%}
.iti__selected-dial-code{color:#595758}
.iti__country-list{color:#484848}

/* ========== Botão Enviar do formulário ========== */
#formWpp button[type="submit"]{
  background-color:#34af23;color:#fff;height:40px;width:100%;border:none;font-size:13px;margin-top:0;
  background-image:linear-gradient(45deg,#219C6B,#176729,#219C6B,#176729);
  background-size:400% 200%;animation:5.6s infinite brilho;transition:background 1.6s all;border-radius:5px
}
#formWpp button[type="submit"] .icon-submit{bottom:-.5px;width:20px;transition:.2s linear}
#formWpp button[type="submit"]:hover .icon-submit{background-position:3px -3839px!important;width:20px}
#formWpp button[type="submit"]:hover{filter:brightness(105%);-ms-filter:brightness(105%);-webkit-filter:brightness(105%)}
#formWpp button[type="submit"].loading{background:url(../img/bg/loading-infinity.webp) no-repeat center;background-size:80%}
@keyframes brilho{0%{background-position:0 0}100%{background-position:100% 0}}

/* Rodapé do widget */
.pp--container .footer{text-align:center}
.pp--container .footer span{
  background:url(../img/bg/ic_2.webp) no-repeat left;background-size:18px;padding:10px 0 10px 25px;filter:contrast(.3)
}

/* ========== Contador de caracteres ========== */
span.contador{
  float:right;font-family:'Inter',sans-serif;font-style:normal;font-weight:400;font-size:8.8056px;line-height:10.6px;color:#595758
}
span.contador.error{color:#ff0000;float:unset;text-align:center;display:block}

/* Utilitário usado no markup fornecido */
.hide{display:none!important}

/* ========== Overlay de carregamento (spinner) ========== */
.gs-loading-spinner{
  background:rgba(255,255,255,.4);position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;display:none;z-index:99999999999
}
.gs-loading-spinner .hourglass{
  position:absolute;top:50%;left:50%;margin:-32px 0 0 -150px;z-index:999999999999999;width:300px;color:#FFF;padding:20px;text-align:center;background:var(--primary-color);
  box-shadow:0 3px 10px #504e4e3d;border-radius:4px;font-family:'Mulish',sans-serif;font-weight:400;font-size:13px;line-height:18px;color:#FFF
}
.gs-loading-spinner .hourglass div.loadGr{float:left;width:100%}
.gs-loading-spinner .hourglass div.loadTxt{float:left;width:100%;margin-top:10px;display:block}
.gs-loading-spinner .hourglass span{display:block;float:left}
/* footer-otimizado.css */
.cta-wpp.hide { display: none !important; }
/* Overlay de foco */
#wpp-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.45);
  opacity:0; pointer-events:none;
  transition:opacity .25s ease;
  z-index:9997; /* abaixo do form */
}
#wpp-overlay.active{ opacity:1; pointer-events:auto; }

/* Glow temporário no container do form */
#form-wpp .pp--container.highlight{
  box-shadow:0 12px 40px rgba(0,0,0,.28), 0 0 0 3px rgba(25,135,84,.25);
  transition:box-shadow .25s ease;
}
