.ilc-row{position:relative;width:100%;box-sizing:border-box}.ilc-row__inner{display:flex;flex-wrap:wrap;width:min(1200px,calc(100% - 40px));margin-inline:auto}.ilc-row--full{min-height:100vh}.ilc-row--center .ilc-row__inner{min-height:inherit;align-items:center}.ilc-column{flex:0 0 var(--ilc-column-width,100%);max-width:var(--ilc-column-width,100%);box-sizing:border-box}.ilc-heading{box-sizing:border-box}.ilc-heading__main{padding:0;border:0;letter-spacing:normal;text-transform:none}.ilc-heading__sub{padding:0;border:0}.ilc-heading__sub>:first-child{margin-top:0}.ilc-heading__sub>:last-child{margin-bottom:0}.ilc-heading__sub p{color:inherit!important;font:inherit!important;line-height:inherit!important}.ilc-content-box{position:relative;box-sizing:border-box}.ilc-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 38px;border-radius:999px;background:#934fa4;color:#fff!important;font-family:Inter,Arial,sans-serif;font-weight:600;text-decoration:none!important}.ilc-logos{display:grid;grid-template-columns:repeat(var(--ilc-logo-columns,5),minmax(0,1fr));gap:30px;align-items:center}.ilc-logos__item img{display:block;width:auto;max-width:100%;max-height:90px;margin:auto;object-fit:contain}.ilc-carousel{position:relative;width:100%}.ilc-carousel__viewport{overflow:hidden}.ilc-carousel__track{display:flex;transition-property:transform;transition-timing-function:ease;will-change:transform}.ilc-carousel__track>*{flex:0 0 calc(100% / var(--ilc-slides,3));min-width:0;box-sizing:border-box;padding-inline:12px}.ilc-carousel__prev,.ilc-carousel__next{position:absolute;top:50%;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#0d4476;box-shadow:0 3px 15px rgba(0,0,0,.14);font-size:28px;line-height:1;cursor:pointer;transform:translateY(-50%)}.ilc-carousel__prev{left:-18px}.ilc-carousel__next{right:-18px}.ilc-carousel__dots{display:flex;justify-content:center;gap:8px;margin-top:22px}.ilc-carousel__dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#c8c8c8}.ilc-carousel__dot.is-active{background:#834a96}@media(max-width:900px){.ilc-column{flex-basis:100%;max-width:100%}.ilc-heading__main{font-size:var(--ilc-main-tablet)!important}.ilc-heading__sub{font-size:var(--ilc-sub-tablet)!important}.ilc-logos{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.ilc-row__inner{width:min(100% - 30px,1200px)}.ilc-heading__main{font-size:var(--ilc-main-mobile)!important}.ilc-heading__sub{font-size:var(--ilc-sub-mobile)!important}.ilc-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.ilc-carousel__prev{left:2px}.ilc-carousel__next{right:2px}}
.ilc-icon-list{display:flex;flex-direction:column;gap:18px;margin:0;padding:0}
.ilc-icon-list-item{display:flex;align-items:flex-start;gap:14px;width:100%;box-sizing:border-box}
.ilc-icon-list-item__icon{flex:0 0 var(--ilc-icon-size,18px);width:var(--ilc-icon-size,18px);height:var(--ilc-icon-size,18px);margin-top:3px;object-fit:contain}
.ilc-icon-list-item__fallback{display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--ilc-icon-size,18px);width:var(--ilc-icon-size,18px);height:var(--ilc-icon-size,18px);margin-top:3px;color:#834a96;font-size:var(--ilc-icon-size,18px);font-weight:700;line-height:1}
.ilc-icon-list-item__content{flex:1;min-width:0;color:inherit;font:inherit;line-height:inherit}
.ilc-icon-list-item__content p{margin:0;color:inherit!important;font:inherit!important;line-height:inherit!important}
.main_service_list_icon{margin-bottom:0}

/* ===== Legacy Compatibility 2.1 — scoped fixes ===== */

/* General responsive safeguards */
.ilc-row,
.ilc-row * {
	box-sizing: border-box;
}

.ilc-row img,
.ilc-row iframe {
	max-width: 100%;
}

.ilc-row-inner {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.ilc-spacer {
	height: var(--ilc-space-desktop, 30px);
}

.ilc-animation-block,
.ilc-separator {
	display: block;
	width: 100%;
}

.ilc-image img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* Responsive legacy headings: only headings generated by this plugin */
.ilc-heading__main,
.ilc-heading__sub {
	overflow-wrap: anywhere;
}

@media (max-width: 900px) {
	.ilc-heading__main {
		font-size: min(var(--ilc-main-tablet, 36px), 8vw) !important;
		line-height: 1.18 !important;
	}

	.ilc-heading__sub {
		font-size: min(var(--ilc-sub-tablet, 24px), 6.5vw) !important;
		line-height: 1.35 !important;
	}

	.ilc-spacer {
		height: var(--ilc-space-tablet, 24px);
	}
}

@media (max-width: 600px) {
	.ilc-heading__main {
		font-size: min(var(--ilc-main-mobile, 30px), 9vw) !important;
		line-height: 1.16 !important;
	}

	.ilc-heading__sub {
		font-size: min(var(--ilc-sub-mobile, 20px), 7vw) !important;
		line-height: 1.35 !important;
	}

	.ilc-spacer {
		height: var(--ilc-space-mobile, 18px);
	}
}

/* Ultimate Icon List */
.ilc-icon-list {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 0;
	padding: 0;
}

.ilc-icon-list-item {
	display: flex;
	align-items: flex-start;
	gap: var(--ilc-icon-margin, 14px);
	width: 100%;
	margin: 0;
	box-sizing: border-box;
}

.ilc-icon-list-item__icon {
	flex: 0 0 var(--ilc-icon-size, 18px);
	width: var(--ilc-icon-size, 18px);
	height: var(--ilc-icon-size, 18px);
	margin-top: 3px;
	object-fit: contain;
}

.ilc-icon-list-item__fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 var(--ilc-icon-size, 18px);
	width: var(--ilc-icon-size, 18px);
	height: var(--ilc-icon-size, 18px);
	margin-top: 2px;
	font-size: var(--ilc-icon-size, 18px);
	font-weight: 700;
	line-height: 1;
}

.ilc-icon-list-item__fallback--chevron {
	font-size: calc(var(--ilc-icon-size, 10px) * 1.7);
}

.ilc-icon-list-item__content {
	flex: 1;
	min-width: 0;
	color: inherit;
	font: inherit;
	line-height: inherit;
}

.ilc-icon-list-item__content p {
	margin: 0;
	color: inherit !important;
	font: inherit !important;
	line-height: inherit !important;
}

/* Service lists */
.main_service_list_icon {
	margin: 0;
}

/* Contact details */
.main_contact_info {
	gap: 0;
}

.main_contact_info .ilc-icon-list-item {
	align-items: center;
	min-height: 100px;
	padding: 24px 38px;
	border: 1px solid #d6d6d6;
	border-radius: 10px;
	background: #fff;
}

.main_contact_info + .main_contact_info .ilc-icon-list-item {
	margin-top: -1px;
}

.main_contact_info .ilc-icon-list-item__icon {
	width: 40px;
	height: 40px;
	flex-basis: 40px;
	margin: 0;
}

.main_contact_info .ilc-icon-list-item__content {
	color: #8c4ca0 !important;
	font-size: 26px !important;
	line-height: 1.25 !important;
	font-weight: 600 !important;
}

@media (max-width: 700px) {
	.main_contact_info .ilc-icon-list-item {
		min-height: 78px;
		padding: 18px 20px;
	}

	.main_contact_info .ilc-icon-list-item__content {
		font-size: 18px !important;
		overflow-wrap: anywhere;
	}
}

/* Footer */
.main_footer_share {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 18px;
}

.main_footer_share .ilc-icon-list-item {
	width: auto;
	align-items: center;
}

/* DNA / Diferenciais — matches supplied reference */
.main_about_valores_boxs {
	position: relative;
	padding: 64px 48px 70px;
	border-radius: 20px;
	overflow: hidden;
	background: linear-gradient(105deg, #0d4b7b 0%, #864a97 100%);
	color: #fff;
}

.main_diferenciais {
	width: 100%;
}

.main_diferenciais > .wpb_column,
.main_diferenciais .vc_column-inner,
.main_diferenciais .wpb_wrapper {
	width: 100%;
}

.main_diferenciais .ilc-heading {
	max-width: 760px;
	margin: 0 auto;
	text-align: center !important;
}

.main_diferenciais .ilc-heading__main {
	margin: 0 0 18px !important;
	text-align: center !important;
}

.main_diferenciais .ilc-heading__sub {
	margin: 0 0 52px !important;
	text-align: center !important;
}

.main_diferenciais_boxs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	width: 100%;
	align-items: start;
}

.main_diferenciais_box {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
	padding: 0 12px;
	text-align: center;
}

.main_diferenciais_box .w-iconbox-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	margin: 0 0 22px;
	padding: 9px;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
}

.main_diferenciais_box .w-iconbox-icon img {
	display: block;
	width: 30px;
	height: 30px;
	object-fit: contain;
}

.main_diferenciais_box .w-iconbox-text {
	margin: 0;
	color: #fff;
	font-family: Inter, Arial, sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;
	text-align: center;
}

@media (max-width: 900px) {
	.main_about_valores_boxs {
		padding: 48px 28px 54px;
	}

	.main_diferenciais_boxs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 36px 24px;
	}

	.main_diferenciais .ilc-heading__sub {
		margin-bottom: 40px !important;
	}
}

@media (max-width: 600px) {
	.main_about_valores_boxs {
		padding: 36px 18px 40px;
		border-radius: 14px;
	}

	.main_diferenciais_boxs {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.main_diferenciais_box {
		padding: 0;
	}

	.main_diferenciais_box .w-iconbox-text {
		font-size: 16px;
	}

	.main_diferenciais .ilc-heading__sub {
		margin-bottom: 34px !important;
	}
}

/* Forms: only explicitly marked contact areas.
   No global form/input rules, to avoid breaking the whole website. */
.main_contact_form,
.form-wrapper {
	padding: 32px;
	border-radius: 12px;
	background: #fff;
	box-sizing: border-box;
}

.main_contact_form form,
.form-wrapper form {
	width: 100%;
}

.main_contact_form label,
.form-wrapper label {
	display: block;
	margin-bottom: 8px;
	font-family: Inter, Arial, sans-serif;
	font-size: 16px;
	color: #707070;
}

.main_contact_form input[type="text"],
.main_contact_form input[type="email"],
.main_contact_form input[type="tel"],
.main_contact_form input[type="url"],
.main_contact_form select,
.main_contact_form textarea,
.form-wrapper input[type="text"],
.form-wrapper input[type="email"],
.form-wrapper input[type="tel"],
.form-wrapper input[type="url"],
.form-wrapper select,
.form-wrapper textarea {
	display: block;
	width: 100%;
	min-height: 58px;
	margin: 0 0 24px;
	padding: 14px 16px;
	border: 1px solid #d3d3d3;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	box-sizing: border-box;
	font-family: Inter, Arial, sans-serif;
	font-size: 16px;
	color: #333;
}

.main_contact_form textarea,
.form-wrapper textarea {
	min-height: 150px;
	resize: vertical;
}

@media (max-width: 600px) {
	.main_contact_form,
	.form-wrapper {
		padding: 20px;
	}
}

/* Google Forms */
iframe[src*="docs.google.com/forms"],
iframe[src*="google.com/forms"] {
	display: block;
	width: 100% !important;
	max-width: 100%;
	min-height: 720px;
	border: 0;
}


/* ===== Correções 2.2: Quem Somos, espaços e rodapé ===== */

/* Remove apenas estruturas realmente vazias criadas pelos shortcodes antigos */
.ilc-row__inner:empty,
.ilc-column:empty,
.ilc-row-inner:empty,
.ilc-content-box:empty,
.wpb_wrapper:empty {
	display: none !important;
}

.ilc-row:has(> .ilc-row__inner:empty),
.ilc-column:has(> .vc_column-inner > .wpb_wrapper:empty) {
	display: none !important;
}

/* Evita parágrafos e quebras vazias gerando faixas brancas */
.wpb_wrapper > p:empty,
.wpb_wrapper > p:has(> br:only-child),
.wpb_wrapper > br:first-child,
.wpb_wrapper > br:last-child {
	display: none !important;
}

/* Limita espaçadores antigos que ficaram exagerados após a migração */
.ilc-separator {
	max-height: 70px;
}

@media (max-width: 900px) {
	.ilc-separator {
		max-height: 45px;
	}
}

@media (max-width: 600px) {
	.ilc-separator {
		max-height: 28px;
	}
}

/* Blocos da página Quem Somos */
.main_about_valores_boxs,
.main_diferenciais_boxs {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.main_about_valores_boxs .w-iconbox,
.main_about_valores_boxs .main_diferenciais_box,
.main_about_valores_boxs .main_about_valores_box {
	text-align: center;
	color: #fff;
}

.main_about_valores_boxs .w-iconbox-icon,
.main_about_valores_boxs .main_diferenciais_box .w-iconbox-icon,
.main_about_valores_boxs .main_about_valores_box .w-iconbox-icon {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 56px !important;
	height: 56px !important;
	margin: 0 auto 18px !important;
	padding: 11px !important;
	border-radius: 9px;
	background: #fff;
	box-sizing: border-box;
}

.main_about_valores_boxs .w-iconbox-icon img,
.main_about_valores_boxs .main_diferenciais_box .w-iconbox-icon img,
.main_about_valores_boxs .main_about_valores_box .w-iconbox-icon img {
	display: block;
	width: 34px !important;
	height: 34px !important;
	max-width: none !important;
	object-fit: contain;
}

.main_about_valores_boxs .w-iconbox-title,
.main_about_valores_boxs .w-iconbox-text,
.main_about_valores_boxs .w-iconbox-title a,
.main_about_valores_boxs .w-iconbox-text a {
	color: #fff !important;
	font-family: Inter, Arial, sans-serif;
	text-align: center;
}

.main_about_valores_boxs .w-iconbox-title {
	margin: 0 0 8px;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 600;
}

.main_about_valores_boxs .w-iconbox-text {
	font-size: 16px;
	line-height: 1.45;
}

/* Carrossel de valores: itens bem distribuídos */
.main_about_valores_boxs .ilc-carousel__track {
	align-items: stretch;
}

.main_about_valores_boxs .ilc-carousel__track > * {
	display: flex;
	align-items: stretch;
	justify-content: center;
}

.main_about_valores_boxs .ilc-carousel__track > * > * {
	width: 100%;
}

/* Equipe/especialistas: evita altura vazia exagerada */
.main_team,
.main_especialistas,
.main_about_team {
	padding-top: 55px !important;
	padding-bottom: 55px !important;
}

.main_team .ilc-row__inner,
.main_especialistas .ilc-row__inner,
.main_about_team .ilc-row__inner {
	min-height: 0 !important;
}

/* Rodapé: aumenta os ícones sem alterar o restante do site */
footer .ilc-icon-list-item__icon,
.l-footer .ilc-icon-list-item__icon,
.main_footer_map .ilc-icon-list-item__icon,
.main_footer_email .ilc-icon-list-item__icon,
.main_footer_phone .ilc-icon-list-item__icon {
	width: 17px !important;
	height: 17px !important;
	flex-basis: 17px !important;
	margin-top: 2px;
}

footer .main_footer_share .ilc-icon-list-item__icon,
.l-footer .main_footer_share .ilc-icon-list-item__icon,
footer .icon_redes_sociais .ilc-icon-list-item__icon,
.l-footer .icon_redes_sociais .ilc-icon-list-item__icon {
	width: 18px !important;
	height: 18px !important;
	flex-basis: 18px !important;
	margin-top: 0;
}

footer .main_footer_list .ilc-icon-list-item__fallback,
.l-footer .main_footer_list .ilc-icon-list-item__fallback {
	width: 14px !important;
	height: 14px !important;
	flex-basis: 14px !important;
	font-size: 20px !important;
	margin-top: 1px;
}

/* Mais espaço entre ícone e texto no rodapé */
footer .ilc-icon-list-item,
.l-footer .ilc-icon-list-item {
	gap: 12px;
	align-items: flex-start;
}

footer .main_footer_share,
.l-footer .main_footer_share {
	gap: 18px;
}

/* Mobile */
@media (max-width: 700px) {
	.main_about_valores_boxs {
		padding: 34px 18px 38px !important;
	}

	.main_about_valores_boxs .w-iconbox-icon {
		width: 52px !important;
		height: 52px !important;
	}

	.main_about_valores_boxs .w-iconbox-icon img {
		width: 30px !important;
		height: 30px !important;
	}

	.main_about_valores_boxs .w-iconbox-title {
		font-size: 17px;
	}

	.main_about_valores_boxs .w-iconbox-text {
		font-size: 15px;
	}

	.main_team,
	.main_especialistas,
	.main_about_team {
		padding-top: 36px !important;
		padding-bottom: 36px !important;
	}

	footer .ilc-icon-list-item__content,
	.l-footer .ilc-icon-list-item__content {
		font-size: 14px !important;
		line-height: 1.5 !important;
	}
}


/* ===== Correção 2.3: cards de telefone e e-mail ===== */

/* O wrapper do shortcode não deve parecer um segundo card */
.main_contact_info {
	display: block !important;
	width: 100%;
	margin: 0 0 18px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	gap: 0 !important;
}

/* Garante espaço entre telefone e e-mail */
.main_contact_info + .main_contact_info {
	margin-top: 18px !important;
}

/* Apenas o item interno vira o card */
.main_contact_info .ilc-icon-list-item {
	display: flex;
	align-items: center;
	gap: 20px;
	width: 100%;
	min-height: 100px;
	margin: 0 !important;
	padding: 24px 38px;
	border: 1px solid #d6d6d6;
	border-radius: 10px;
	background: #fff;
	box-shadow: none;
}

/* Remove qualquer caixa herdada de wrappers antigos */
.main_contact_info .ilc-icon-list-item__content,
.main_contact_info .ilc-icon-list-item__icon {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.main_contact_info .ilc-icon-list-item__icon {
	width: 40px !important;
	height: 40px !important;
	flex: 0 0 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain;
}

.main_contact_info .ilc-icon-list-item__content {
	padding: 0 !important;
	color: #8c4ca0 !important;
	font-size: 26px !important;
	line-height: 1.25 !important;
	font-weight: 600 !important;
	overflow-wrap: anywhere;
}

/* Remove a regra antiga que colava os dois cards */
.main_contact_info + .main_contact_info .ilc-icon-list-item {
	margin-top: 0 !important;
}

/* Mobile */
@media (max-width: 700px) {
	.main_contact_info {
		margin-bottom: 14px !important;
	}

	.main_contact_info + .main_contact_info {
		margin-top: 14px !important;
	}

	.main_contact_info .ilc-icon-list-item {
		min-height: 78px;
		padding: 18px 20px;
		gap: 15px;
	}

	.main_contact_info .ilc-icon-list-item__icon {
		width: 34px !important;
		height: 34px !important;
		flex-basis: 34px !important;
	}

	.main_contact_info .ilc-icon-list-item__content {
		font-size: 18px !important;
		line-height: 1.35 !important;
	}
}


/* ===== Correção 2.4: cards de valores no Quem Somos ===== */

.main_about_valores_boxs .ilc-carousel__track {
	align-items: stretch;
}

.main_about_valores_boxs .ilc-value-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
	padding: 0 18px;
	text-align: center;
	color: #fff;
	box-sizing: border-box;
}

.main_about_valores_boxs .ilc-value-card > * {
	width: 100%;
	margin: 0 !important;
}

.main_about_valores_boxs .ilc-value-card .w-iconbox {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	text-align: center;
}

.main_about_valores_boxs .ilc-value-card .w-iconbox-icon {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 50px !important;
	height: 50px !important;
	margin: 0 auto 18px !important;
	padding: 9px !important;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
}

.main_about_valores_boxs .ilc-value-card .w-iconbox-icon img {
	display: block;
	width: 30px !important;
	height: 30px !important;
	max-width: none !important;
	object-fit: contain;
}

.main_about_valores_boxs .ilc-value-card .w-iconbox-title,
.main_about_valores_boxs .ilc-value-card .w-iconbox-text {
	width: 100%;
	margin: 0 !important;
	color: #fff !important;
	font-family: Inter, Arial, sans-serif;
	text-align: center;
}

.main_about_valores_boxs .ilc-value-card .w-iconbox-title {
	font-size: 18px;
	line-height: 1.3;
	font-weight: 600;
}

.main_about_valores_boxs .ilc-value-card > :nth-child(2),
.main_about_valores_boxs .ilc-value-card .wpb_text_column,
.main_about_valores_boxs .ilc-value-card .wpb_text_column p {
	margin-top: 12px !important;
	color: #fff !important;
	font-family: Inter, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.45;
	font-weight: 400;
	text-align: center;
}

/* Esconde resíduos vazios que ficavam entre título e descrição */
.main_about_valores_boxs .ilc-value-card > p:empty,
.main_about_valores_boxs .ilc-value-card > br {
	display: none !important;
}

@media (max-width: 900px) {
	.main_about_valores_boxs .ilc-value-card {
		padding: 0 12px;
	}
}

@media (max-width: 600px) {
	.main_about_valores_boxs .ilc-value-card {
		padding: 0 4px;
	}

	.main_about_valores_boxs .ilc-value-card .w-iconbox-title {
		font-size: 17px;
	}

	.main_about_valores_boxs .ilc-value-card > :nth-child(2),
	.main_about_valores_boxs .ilc-value-card .wpb_text_column,
	.main_about_valores_boxs .ilc-value-card .wpb_text_column p {
		font-size: 15px;
	}
}
