/**
 * EF Responsivo — cabeçalho global (template Elementor 7521),
 * política de privacidade (página 12992) e depoimentos da home (página 50).
 *
 * Breakpoints do Elementor neste site:
 * mobile até 767, mobile_extra 768–880, tablet 881–1024.
 */

/* 1. Sticky só na seção do cabeçalho. O Elementor grava width/left em px. */
.elementor-7521 .elementor-element-f46712b.elementor-sticky--active {
	width: 100% !important;
	max-width: none !important;
	left: 0 !important;
	right: 0 !important;
}

/*
 * 2 e 3. De 768 a 1024 a logo fica à esquerda, o hambúrguer à direita,
 * e as colunas "Fale com um consultor" / "Entrar" saem da linha.
 * Em até 767 e em 881–1024 o Elementor já escondia os botões;
 * 768–880 (mobile_extra) era o buraco.
 */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-7521 .elementor-element-f46712b > .elementor-container {
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: space-between !important;
		align-items: center !important;
	}

	.elementor-7521 .elementor-element-9f5bc23,
	.elementor-7521 .elementor-element-0cac776 {
		width: auto !important;
	}

	.elementor-7521 .elementor-element-0cac776 {
		margin-left: auto !important;
	}

	.elementor-7521 .elementor-element-64c0995,
	.elementor-7521 .elementor-element-d41fcce {
		display: none !important;
	}

	.elementor-7521 .elementor-element-c566c9d .elementor-menu-toggle {
		margin: 0 0 0 auto !important;
	}
}

/* 4. Política de privacidade: texto à esquerda em todas as larguras. */
.elementor-12992 .elementor-element.elementor-element-9ea7099,
.elementor-12992 .elementor-element-9ea7099 p {
	text-align: left !important;
}

/* 6. Título da política (h2 do widget 0d2ded9) no mobile. */
@media (max-width: 767px) {
	.elementor-12992 .elementor-element-0d2ded9 .elementor-heading-title {
		font-size: 26px !important;
	}
}

/* 6. Carrossel de depoimentos da home. */
.elementor-50 .elementor-element-7ea0bb5 .elementor-widget-container,
.elementor-50 .elementor-element-7ea0bb5 .elementor-main-swiper {
	overflow-x: clip;
}

/*
 * Home, seção 8b6d023 (três cards). Cada coluna tem o wrap com
 * margin: 5px e width: 100%. Por volta de 768 px a coluna não encolhe
 * o suficiente e a última (3db47e9) deixa a página 5 px mais larga.
 */
.elementor-50 .elementor-element-3c2e4af > .elementor-element-populated,
.elementor-50 .elementor-element-89c2842 > .elementor-element-populated,
.elementor-50 .elementor-element-3db47e9 > .elementor-element-populated {
	width: calc(100% - 10px);
	min-width: 0;
}

/*
 * 5. Enquanto #ef-consent-banner estiver no DOM, sobe o WhatsApp,
 * o painel dele e o #scroll-top. O :has cobre o instante antes do JS
 * medir a altura (o banner tem max-height: 110px). A classe
 * .ef-consent-open, gravada por ef-responsive.js, usa a altura real.
 */
body:has(#ef-consent-banner) #wpp-atendimento-btn,
body:has(#ef-consent-banner) #scroll-top {
	bottom: calc(110px + 16px) !important;
}

body:has(#ef-consent-banner) #wpp-atendimento-painel {
	bottom: calc(110px + 16px + 60px) !important;
}

body.ef-consent-open:has(#ef-consent-banner) #wpp-atendimento-btn,
body.ef-consent-open:has(#ef-consent-banner) #scroll-top {
	bottom: calc(var(--ef-consent-h, 110px) + 16px) !important;
}

body.ef-consent-open:has(#ef-consent-banner) #wpp-atendimento-painel {
	bottom: calc(var(--ef-consent-h, 110px) + 16px + 60px) !important;
}

/*
 * O #scroll-top sobe junto com o WhatsApp e os dois ficavam no mesmo
 * canto. O botão verde tem 52 px e right: 24 px; o voltar ao topo
 * fica 12 px à esquerda dele. Vale em todas as larguras, inclusive
 * de 360 a 1440 px.
 */
#scroll-top {
	right: calc(24px + 52px + 12px) !important;
	left: auto !important;
}
