/*
 * Echosis — layout das páginas internas
 * Carrega logo depois do visual.css. Nada é removido das páginas: só espaçamento, cartões, tipografia e hover.
 *
 * IDs: 14225 Sobre · 14278 Contato · 14257 Trabalhe Conosco · 14145 Franquia · 14505 Blog · 14517 Artigo
 *      14297 Unidade Lages · 14472 Unidade Florianópolis
 */

/* Tipografia única: títulos e textos que caíam na Roboto/fonte do sistema passam para a Montserrat do restante do site */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-icon-box .elementor-icon-box-description,
.wpr-flip-box-title,
.wpr-flip-box-description,
.wpr-post-title,
.wpr-post-info,
.wpr-grid-item-title,
.wpr-grid-item-excerpt,
.wpr-grid-item-date,
.wpr-grid-filters,
.e-n-accordion-item-title-text,
.eael-call-to-action,
.premium-counter-area {
	font-family: var(--echo-font);
}

/* Vídeos: cantos arredondados e sombra em vez do retângulo preto seco */
.elementor-widget-video .elementor-wrapper {
	overflow: hidden;
	border-radius: 16px;
	box-shadow: 0 24px 50px -28px rgba(0, 0, 0, .65);
}

.elementor .elementor-element.elementor-widget-video {
	border-radius: 16px;
	box-shadow: none;
}

/* O topo destas páginas ficava escondido atrás do cabeçalho (margem negativa): título cortado ou oculto */
.elementor.elementor-14225 > .e-con.e-parent:first-child,
.elementor.elementor-14278 > .e-con.e-parent:first-child,
.elementor.elementor-14257 > .e-con.e-parent:first-child {
	--margin-top: 0px;
	--padding-top: 56px;
	--padding-bottom: 48px;
}

/* ---------- Sobre nós ---------- */

.elementor.elementor-14225 > .e-con.e-parent:first-child .e-con.e-child {
	--padding-top: 38px;
	--padding-bottom: 38px;
	--padding-left: 40px;
	--padding-right: 40px;
	border: 1px solid #eceef2;
	border-radius: 22px;
	box-shadow: 0 30px 60px -34px rgba(15, 23, 42, .38), 0 2px 6px rgba(15, 23, 42, .05);
	transition: transform .35s var(--echo-ease), box-shadow .35s var(--echo-ease);
}

.elementor.elementor-14225 > .e-con.e-parent:first-child .e-con.e-child:hover {
	transform: translateY(-4px);
	box-shadow: 0 36px 70px -34px rgba(15, 23, 42, .45), 0 2px 6px rgba(15, 23, 42, .05);
}

.elementor.elementor-14225 .elementor-element.elementor-widget-text-editor {
	font-size: 15.5px;
	line-height: 1.8;
	color: #3a404b;
	text-align: left;
}

.elementor-14225 .wpr-flip-box,
.elementor-14225 .wpr-flip-box .wpr-flip-box-item {
	border-radius: 20px;
}

.elementor-14225 .wpr-flip-box .wpr-flip-box-front {
	box-shadow: 0 22px 44px -30px rgba(237, 28, 36, .55);
}

.elementor-14225 .wpr-flip-box-title {
	font-weight: 700;
	letter-spacing: -.01em;
}

.elementor-14225 .eael-call-to-action {
	padding: 40px 32px;
	border: 1px solid #e7e9ee;
	border-radius: 22px;
	background: linear-gradient(180deg, #f7f8fa 0%, #eff1f4 100%);
}

.elementor-14225 .eael-call-to-action .cta-button {
	border-radius: 12px;
	font-family: var(--echo-font);
	font-weight: 700;
	transition: transform .25s var(--echo-ease), box-shadow .25s var(--echo-ease), background-color .25s, color .25s;
}

.elementor-14225 .eael-call-to-action .cta-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 26px -14px rgba(237, 28, 36, .7);
}

/* ---------- Fale conosco ---------- */

/* título da página (antes escondido) com o mesmo acabamento do título "Equipe" */
.elementor-14278 > .e-con.e-parent:first-child .elementor-widget-heading:first-child .elementor-heading-title {
	font-size: clamp(30px, 3.2vw, 42px);
	font-weight: 800;
	letter-spacing: -.01em;
}

.elementor-14278 > .e-con.e-parent:first-child .elementor-widget-heading:first-child .elementor-heading-title::after {
	content: "";
	display: block;
	width: 56px;
	height: 4px;
	margin: 16px auto 6px;
	border-radius: 4px;
	background: var(--echo-red);
}

/* os 4 atalhos (Orçamento, Trabalhe Conosco, Franquias, Suporte) */
.elementor.elementor-14278 .e-con.e-child:has(> .elementor-widget-icon-box:only-child) {
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 20px;
	background: linear-gradient(160deg, #26282d 0%, #1b1c20 100%);
	box-shadow: 0 26px 50px -30px #000;
	transition: transform .3s var(--echo-ease), border-color .3s var(--echo-ease), box-shadow .3s var(--echo-ease);
}

.elementor.elementor-14278 .e-con.e-child:has(> .elementor-widget-icon-box:only-child):hover {
	transform: translateY(-6px);
	border-color: rgba(237, 28, 36, .7);
	box-shadow: 0 30px 56px -28px rgba(237, 28, 36, .45);
}

/* coluna "Central de Atendimento" vira um painel */
.elementor.elementor-14278 .e-con.e-child:has(> .elementor-widget-icon-box ~ .elementor-widget-icon-box) {
	--padding-top: 34px;
	--padding-bottom: 34px;
	--padding-left: 36px;
	--padding-right: 36px;
	align-self: flex-start;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 20px;
	background: #1c1d21;
}

.elementor-14278 .elementor-widget-google_maps iframe {
	display: block;
	border-radius: 18px;
}

.elementor.elementor-14278 > .e-con.e-parent:last-child {
	--padding-bottom: 72px;
}

/* ---------- Trabalhe conosco ---------- */

.elementor.elementor-14257 .form-curriculo.elementor-widget {
	padding: 40px 40px 32px;
	background: #fff;
	border: 1px solid #e9ebef;
	border-radius: 22px;
	box-shadow: 0 34px 70px -40px rgba(15, 23, 42, .4), 0 2px 6px rgba(15, 23, 42, .05);
}

.elementor.elementor-14257 > .e-con.e-parent:first-child {
	--padding-bottom: 80px;
}

.elementor-14257 .wpcf7-file {
	width: 100%;
	padding: 18px;
	cursor: pointer;
	transition: border-color .2s var(--echo-ease), background-color .2s var(--echo-ease);
}

.elementor-14257 .wpcf7-file:hover {
	border-color: var(--echo-red);
	background-color: #fff5f5;
}

/* ---------- Blog (lista) e artigo ---------- */

.elementor-14505 .wpr-grid-item-title a,
.elementor-14517 .wpr-grid-item-title a {
	transition: color .2s var(--echo-ease);
}

.elementor-14505 .wpr-grid-item-title a:hover,
.elementor-14517 .wpr-grid-item-title a:hover {
	color: var(--echo-red);
}

.elementor-14505 .wpr-grid-image-wrap,
.elementor-14517 .wpr-grid-image-wrap {
	overflow: hidden;
}

.elementor-14505 .wpr-grid-image-wrap img,
.elementor-14517 .wpr-grid-image-wrap img {
	transition: transform .6s var(--echo-ease);
}

.elementor-14505 .wpr-grid-item:hover .wpr-grid-image-wrap img,
.elementor-14517 .wpr-grid-item:hover .wpr-grid-image-wrap img {
	transform: scale(1.04);
}

.elementor-14505 .wpr-grid-item-read-more a {
	padding: 10px 18px;
	border-radius: 10px;
	font-family: var(--echo-font);
	font-weight: 700;
}

.elementor-14505 .wpr-load-more-btn {
	border-radius: 12px;
	font-family: var(--echo-font);
	font-weight: 700;
}

/* caixa "Posts mais recentes" e banner lateral */
.elementor.elementor-14505 .e-con.e-child:has(> .elementor-widget-divider),
.elementor.elementor-14517 .e-con.e-child:has(> .elementor-widget-divider) {
	border: 1px solid #e6e8ec;
	border-radius: 18px;
	box-shadow: 0 24px 50px -36px rgba(15, 23, 42, .4);
}

.elementor-14505 .wpr-promo-box,
.elementor-14517 .wpr-promo-box {
	overflow: hidden;
	border-radius: 18px;
	box-shadow: 0 24px 50px -36px rgba(15, 23, 42, .5);
}

/* leitura do artigo */
.elementor-14517 .wpr-post-title {
	font-size: clamp(26px, 3vw, 40px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.01em;
	text-wrap: balance;
}

.elementor-14517 .wpr-featured-media-image img {
	box-shadow: 0 30px 60px -36px rgba(15, 23, 42, .55);
}

.elementor-14517 .wpr-post-info {
	font-size: 13.5px;
	color: #667085;
}

.elementor-14517 .wpr-post-content {
	font-size: 17px;
	line-height: 1.8;
	color: #2b3038;
}

.elementor-14517 .wpr-post-content p {
	margin: 0 0 1.35em;
}

.elementor-14517 .wpr-post-content h2,
.elementor-14517 .wpr-post-content h3,
.elementor-14517 .wpr-post-content h4 {
	margin: 1.9em 0 .7em;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.01em;
	color: #15181d;
	text-wrap: balance;
}

.elementor-14517 .wpr-post-content h2 {
	font-size: 26px;
}

.elementor-14517 .wpr-post-content h3 {
	padding-left: 16px;
	border-left: 4px solid var(--echo-red);
	font-size: 25px;
}

.elementor-14517 .wpr-post-content h4 {
	font-size: 20px;
}

.elementor-14517 .wpr-post-content a {
	color: var(--echo-red);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.elementor-14517 .wpr-post-content a:hover {
	text-decoration-thickness: 2px;
}

.elementor-14517 .wpr-post-content hr {
	margin: 2.6em 0 2em;
	border: 0;
	border-top: 1px solid #e3e6ea;
}

.elementor-14517 .wpr-post-content img {
	height: auto;
	border-radius: 14px;
}

.elementor-14517 .wpr-post-content ul,
.elementor-14517 .wpr-post-content ol {
	margin: 0 0 1.35em;
	padding-left: 1.3em;
}

.elementor-14517 .wpr-post-content li {
	margin-bottom: .5em;
}

.elementor-14517 .wpr-post-content li::marker {
	color: var(--echo-red);
}

/* ---------- Franquia ---------- */

/* formulário do topo dentro de um cartão */
.elementor.elementor-14145 > .e-con.e-parent:first-child .elementor-widget-shortcode {
	padding: 28px 28px 20px;
	background: rgba(255, 255, 255, .92);
	border: 1px solid #e9ebef;
	border-radius: 22px;
	box-shadow: 0 34px 70px -40px rgba(15, 23, 42, .5);
	backdrop-filter: blur(4px);
}

.elementor-14145 .wpr-flip-box {
	transition: transform .35s var(--echo-ease);
}

.elementor-14145 .wpr-flip-box:hover {
	transform: translateY(-5px);
}

/* perguntas frequentes */
.elementor-14145 .e-n-accordion-item-title {
	border-radius: 12px;
	transition: background-color .25s var(--echo-ease), padding .25s var(--echo-ease);
}

.elementor-14145 .e-n-accordion-item-title:hover,
.elementor-14145 .e-n-accordion-item[open] > .e-n-accordion-item-title {
	padding-left: 18px;
	padding-right: 18px;
	background-color: rgba(237, 28, 36, .06);
}

.elementor-14145 .e-n-accordion-item-title-text {
	font-weight: 600;
}

/* ---------- Unidades ---------- */

.elementor-14297 .elementor-widget-image-box,
.elementor-14472 .elementor-widget-image-box {
	transition: transform .3s var(--echo-ease);
}

.elementor-14297 .elementor-widget-image-box:not(.echo-team-lead):hover,
.elementor-14472 .elementor-widget-image-box:hover {
	transform: translateY(-4px);
}

.elementor-14297 .eael-grid-post-holder,
.elementor-14472 .eael-grid-post-holder {
	overflow: hidden;
	border-radius: 16px;
}

/* ---------- Celular ---------- */

@media (max-width: 767px) {
	.elementor.elementor-14225 > .e-con.e-parent:first-child,
	.elementor.elementor-14278 > .e-con.e-parent:first-child,
	.elementor.elementor-14257 > .e-con.e-parent:first-child {
		--padding-top: 36px;
	}

	.elementor.elementor-14225 > .e-con.e-parent:first-child .e-con.e-child {
		--padding-top: 26px;
		--padding-bottom: 26px;
		--padding-left: 22px;
		--padding-right: 22px;
	}

	.elementor.elementor-14257 .form-curriculo.elementor-widget {
		padding: 24px 18px 18px;
	}

	.elementor.elementor-14278 .e-con.e-child:has(> .elementor-widget-icon-box ~ .elementor-widget-icon-box) {
		--padding-left: 22px;
		--padding-right: 22px;
	}

	.elementor.elementor-14145 > .e-con.e-parent:first-child .elementor-widget-shortcode {
		padding: 20px 16px 12px;
	}

	.elementor-14517 .wpr-post-content {
		font-size: 16px;
	}

	.elementor-14517 .wpr-post-content h3 {
		font-size: 21px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor-14225 .e-con.e-child,
	.elementor-14278 .e-con.e-child,
	.elementor-14145 .wpr-flip-box,
	.elementor-14297 .elementor-widget-image-box,
	.elementor-14472 .elementor-widget-image-box,
	.wpr-grid-image-wrap img {
		transition: none;
		transform: none !important;
	}
}

/* ==================================================================================================
   Página inicial (14070) — repaginação mais forte: mesmo conteúdo, nova apresentação
   ================================================================================================== */

/* fundo: as seções eram todas preto chapado; agora alternam com brilhos vermelhos e uma faixa mais clara */
.elementor.elementor-14070 > .e-con.e-parent {
	background-image: radial-gradient(900px 520px at 85% 0%, rgba(237, 28, 36, .13), transparent 70%);
}

.elementor.elementor-14070 > .e-con.e-parent:first-child {
	background-image:
		radial-gradient(760px 520px at 76% 52%, rgba(237, 28, 36, .22), transparent 68%),
		linear-gradient(180deg, #0d0d10 0%, #000 100%);
}

.elementor.elementor-14070 > .e-con.e-parent:nth-child(even) {
	background-image: radial-gradient(900px 520px at 10% 100%, rgba(237, 28, 36, .12), transparent 70%);
}

.elementor.elementor-14070 > .e-con.e-parent:nth-child(n+3) {
	border-top: 1px solid rgba(255, 255, 255, .06);
}

/* títulos maiores e destaque vermelho em forma de etiqueta */
.elementor-14070 .elementor-widget-html h1 {
	font-size: clamp(34px, 3.9vw, 56px);
	line-height: 1.14;
	letter-spacing: -.02em;
	text-wrap: balance;
}

.elementor-14070 .elementor-widget-html h2 {
	font-size: clamp(30px, 3.2vw, 46px);
	line-height: 1.16;
	letter-spacing: -.02em;
	text-wrap: balance;
}

.elementor-14070 .fundo-vermelho {
	display: inline-block;
	padding: .02em .28em;
	border-radius: .16em;
	background-image: linear-gradient(135deg, #ff2b33 0%, #c9131a 100%);
	box-shadow: 0 14px 30px -12px rgba(237, 28, 36, .8);
	transform: rotate(-1.4deg);
}

.elementor-14070 .fundo-vermelho br {
	display: none;
}

/* divisores: de linha dourada fina para barra vermelha */
.elementor.elementor-14070 .elementor-element.elementor-widget-divider {
	--divider-color: var(--echo-red);
	--divider-border-width: 4px;
}

.elementor.elementor-14070 .elementor-element.elementor-widget-divider .elementor-divider-separator {
	width: 88px;
	border-radius: 4px;
}

/* botões da home: degradê e brilho */
.elementor-14070 .wpr-button {
	border-radius: 14px;
	background-image: linear-gradient(135deg, #ff2b33 0%, #cf141b 100%);
	box-shadow: 0 20px 40px -16px rgba(237, 28, 36, .85), inset 0 1px 0 rgba(255, 255, 255, .25);
}

.elementor-14070 .wpr-button:hover {
	box-shadow: 0 26px 50px -16px rgba(237, 28, 36, 1), inset 0 1px 0 rgba(255, 255, 255, .25);
}

/* bloco "Nossas soluções são para empresários…": moldura com brilho e foto arredondada */
.elementor.elementor-14070 .e-con.e-child:has(> .elementor-widget-image + .e-con) {
	box-shadow: 0 50px 100px -60px rgba(237, 28, 36, .9), 0 0 0 1px rgba(255, 255, 255, .05);
}

.elementor.elementor-14070 .e-con.e-child:has(> .elementor-widget-image + .e-con) > .elementor-widget-image img {
	border-radius: 12px 0 0 12px;
}

/* os 4 itens com "check": viram cartões */
.elementor.elementor-14070 .e-con.e-child:has(> .elementor-widget-image + .elementor-widget-html) {
	border: 1px solid rgba(255, 255, 255, .1);
	border-left: 3px solid var(--echo-red);
	border-radius: 16px;
	background: linear-gradient(135deg, rgba(255, 255, 255, .06) 0%, rgba(255, 255, 255, .02) 100%);
	transition: transform .3s var(--echo-ease), border-color .3s var(--echo-ease), background-color .3s var(--echo-ease);
}

.elementor.elementor-14070 .e-con.e-child:has(> .elementor-widget-image + .elementor-widget-html):hover {
	transform: translateY(-4px);
	border-color: rgba(237, 28, 36, .75);
	background-color: rgba(237, 28, 36, .07);
}

/* "Quem é a Echosis": título maior e ícones em selo */
.elementor-14070 .elementor-widget-heading .elementor-heading-title {
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 800;
	letter-spacing: -.01em;
}

.elementor.elementor-14070 .e-con.e-child:has(> .elementor-widget-heading + .elementor-widget-divider) > .elementor-widget-divider .elementor-divider {
	justify-content: center;
}

.elementor.elementor-14070 .elementor-widget-image-box .elementor-image-box-img {
	width: 62px;
	height: 62px;
	margin: 0 0 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 16px;
	background: rgba(237, 28, 36, .14);
	box-shadow: inset 0 0 0 1px rgba(237, 28, 36, .35);
}

.elementor.elementor-14070 .elementor-widget-image-box .elementor-image-box-img img {
	width: 34px;
	height: 34px;
	object-fit: contain;
}

.elementor-14070 .elementor-widget-image-box {
	position: relative;
	overflow: hidden;
}

.elementor-14070 .elementor-widget-image-box::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: linear-gradient(90deg, var(--echo-red), transparent);
	opacity: 0;
	transition: opacity .3s var(--echo-ease);
}

.elementor-14070 .elementor-widget-image-box:hover::before {
	opacity: 1;
}

/* formulário final: dentro de um painel centralizado, em vez de solto à esquerda */
.elementor.elementor-14070 > .e-con.e-parent:last-child > .e-con-inner {
	justify-content: center;
}

.elementor.elementor-14070 .e-con.e-child:has(> .elementor-widget-shortcode) {
	--width: 760px;
	--padding-top: 48px;
	--padding-bottom: 40px;
	--padding-left: 48px;
	--padding-right: 48px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid rgba(255, 255, 255, .1);
	border-top: 4px solid var(--echo-red);
	border-radius: 24px;
	background: linear-gradient(160deg, #17181c 0%, #0c0c0e 100%);
	box-shadow: 0 60px 120px -70px rgba(237, 28, 36, .95);
}

.elementor.elementor-14070 .e-con.e-child:has(> .elementor-widget-shortcode) .wpcf7-submit {
	width: 100%;
	border-radius: 12px;
	background-image: linear-gradient(135deg, #ff2b33 0%, #cf141b 100%);
}

/* ---------- Cabeçalho e rodapé (todas as páginas) ---------- */

/* faixa vermelha no topo e "Contato" como botão */
.elementor-14078 > .e-con {
	border-top: 3px solid var(--echo-red);
}

.elementor-14078 .wpr-nav-menu > .menu-item-14504 > .wpr-menu-item {
	margin-left: 10px;
	padding: 11px 24px;
	border-radius: 999px;
	background: var(--echo-red);
	color: #fff;
	font-weight: 700;
	box-shadow: 0 12px 24px -12px rgba(237, 28, 36, .9);
	transition: transform .25s var(--echo-ease), filter .25s var(--echo-ease);
}

.elementor-14078 .wpr-nav-menu > .menu-item-14504 > .wpr-menu-item:hover {
	color: #fff;
	transform: translateY(-2px);
	filter: brightness(1.1);
}

.elementor-14078 .wpr-nav-menu > .menu-item-14504 > .wpr-menu-item::before,
.elementor-14078 .wpr-nav-menu > .menu-item-14504 > .wpr-menu-item::after {
	display: none;
}

/* redes sociais: de quadrados coloridos para círculos no padrão do site */
.elementor-14131 .elementor-social-icon.elementor-social-icon {
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 50%;
	background-color: #24262b;
}

.elementor-14131 .elementor-social-icon.elementor-social-icon:hover {
	border-color: var(--echo-red);
	background-color: var(--echo-red);
	filter: none;
}

.elementor-14131 > .e-con:first-child {
	border-top: 3px solid var(--echo-red);
}

@media (max-width: 767px) {
	.elementor.elementor-14070 .e-con.e-child:has(> .elementor-widget-shortcode) {
		--padding-top: 30px;
		--padding-bottom: 26px;
		--padding-left: 20px;
		--padding-right: 20px;
	}

	.elementor-14070 .fundo-vermelho {
		transform: none;
	}
}

/* rodapé: garante o padrão também nos ícones que tinham cor própria (Instagram) */
.elementor.elementor-14131 .elementor-widget-social-icons .elementor-social-icon.elementor-social-icon {
	background-color: #24262b !important;
}

.elementor.elementor-14131 .elementor-widget-social-icons .elementor-social-icon.elementor-social-icon:hover {
	background-color: var(--echo-red) !important;
}

@media (max-width: 767px) {
	/* destaque vermelho volta a acompanhar a linha do texto no celular */
	.elementor-14070 .fundo-vermelho {
		display: inline;
		padding: 0 .16em;
		box-shadow: none;
	}

	/* a foto do escritório ficava com metade da largura do cartão */
	.elementor.elementor-14070 .e-con.e-child:has(> .elementor-widget-image + .e-con) > .elementor-widget-image {
		width: 100%;
		max-width: 100%;
	}

	.elementor.elementor-14070 .e-con.e-child:has(> .elementor-widget-image + .e-con) > .elementor-widget-image img {
		width: 100%;
		border-radius: 12px 12px 0 0;
	}

	/* painel do formulário com respiro nas laterais */
	.elementor.elementor-14070 .e-con.e-child:has(> .elementor-widget-shortcode) {
		--width: calc(100% - 28px);
		border-radius: 18px;
	}
}
