/**

 * Footer Antonio Sarpe — alinhado ao header (fundo branco, tipografia = design system)

 */



:root {

	--as-footer-bg: var(--as-background, #ffffff);

	--as-footer-bg-mobile: var(--as-background, #ffffff);

	--as-footer-text: var(--as-text, #222222);

	--as-footer-muted: var(--as-text-secondary, #717171);

	--as-footer-link: var(--as-text-secondary, #717171);

	--as-footer-border: var(--as-border-light, #ebebeb);

	--as-footer-brand: var(--as-accent, #ff5a5f);

	--as-footer-brand-hover: var(--as-primary, #0f766e);

	--as-footer-max: 1440px;

	--as-footer-pad-y: clamp(40px, 5vw, 56px);

	--as-footer-pad-x: clamp(20px, 5vw, 48px);

	--as-footer-font: var(--as-font, "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif);

}



footer.elementor-location-footer.elementor-8145,

.elementor-8145 {

	font-family: var(--as-footer-font) !important;

	background-color: var(--as-footer-bg) !important;

	color: var(--as-footer-muted);

}



footer.elementor-8145 .e-con,

footer.elementor-8145 .e-con-inner,

.elementor-8145 .elementor-element-651ca94,

.elementor-8145 .elementor-element-86c5964,

.elementor-8145 .elementor-element-3456e443,

.elementor-8145 .as-footer-main {

	background-color: var(--as-footer-bg) !important;

	background-image: none !important;

}



.elementor-8145 .as-footer-brand,

.elementor-8145 .as-footer-explore,

.elementor-8145 .as-footer-legal-bar,

.elementor-8145 .as-footer-col__title,

.elementor-8145 .as-footer-col__list a,

.elementor-8145 .elementor-heading-title,

.elementor-8145 .elementor-nav-menu .elementor-item {

	font-family: var(--as-footer-font) !important;

}



/* —— Bloco principal desktop: marca + grelha de colunas —— */

.as-footer-main {

	max-width: var(--as-footer-max);

	margin-left: auto;

	margin-right: auto;

	padding: var(--as-footer-pad-y) var(--as-footer-pad-x) 32px;

	box-sizing: border-box;

	width: 100%;

}



.as-footer-brand {

	padding-bottom: 0;

	margin-bottom: 12px;

	border-bottom: 1px solid var(--as-footer-border);

}



.as-footer-brand__name {

	margin: 0 0 10px;

	font-size: clamp(1.35rem, 2.5vw, 1.75rem);

	font-weight: 700;

	line-height: 1.2;

	color: var(--as-footer-text);

	letter-spacing: -0.02em;

}

/* Nome da marca = título principal (preto); tagline e itens = cinza secundário */



.as-footer-brand__name a {

	color: inherit;

	text-decoration: none;

}



.as-footer-brand__name a:hover,

.as-footer-brand__name a:focus-visible {

	color: var(--as-footer-brand-hover);

}



.as-footer-brand__accent {

	display: block;

	width: 40px;

	height: 3px;

	margin-bottom: 14px;

	border-radius: 2px;

	background: var(--as-footer-brand);

}



.as-footer-brand__tagline {

	margin: 0 0 30px;

	max-width: 36rem;

	font-size: 0.9375rem;

	font-weight: 400;

	line-height: 1.55;

	color: var(--as-footer-muted);

}



/* Grelha das 4 colunas (dentro de 86c5964) */

.elementor-8145 .as-footer-main > .elementor-element-86c5964 {

	display: grid !important;

	flex-direction: unset !important;

	flex-wrap: nowrap !important;

	grid-template-columns: repeat(4, minmax(0, 1fr));

	gap: 32px 24px;

	align-items: start;

	justify-content: stretch !important;

	max-width: none !important;

	margin: 0 !important;

	padding: 0 !important;

	width: 100% !important;

	box-sizing: border-box;

}



.elementor-8145 .as-footer-main > .elementor-element-86c5964 > .as-footer-explore,

.elementor-8145 .as-footer-main > .elementor-element-86c5964 > .e-con.e-child {

	width: auto !important;

	max-width: none !important;

	min-width: 0;

	flex: none !important;

	--width: auto !important;

	--flex-grow: 0 !important;

}



.elementor-8145 .as-footer-main .elementor-element-2d2578a1 {

	grid-column: 1;

	grid-row: 1;

	min-width: 0;

	display: flex !important;

	flex-direction: column !important;

}



.as-footer-explore {

	grid-column: 2;

	grid-row: 1;

	min-width: 0;

}



.elementor-8145 .as-footer-main .elementor-element-5848e1d {

	grid-column: 3 / 5;

	grid-row: 1;

	display: grid !important;

	grid-template-columns: 1fr 1fr;

	gap: 24px 24px;

	align-items: start;

	min-width: 0;

}



.elementor-8145 .as-footer-main .elementor-element-37b8c4e {

	grid-column: 1;

	grid-row: 1;

}



.elementor-8145 .as-footer-main .elementor-element-000a85e,

.elementor-8145 .as-footer-main .as-footer-fale-conosco {

	grid-column: 1;

	grid-row: 2;

}



.elementor-8145 .as-footer-main .elementor-element-0fd30c5 {

	grid-column: 2;

	grid-row: 1;

	align-self: start;

	margin-top: 0 !important;

}



.elementor-8145 .as-footer-main .elementor-element-d071479 {

	grid-column: 2;

	grid-row: 2;

}



.elementor-8145 .as-footer-main .elementor-element-4309193 {

	grid-column: 2;

	grid-row: 3;

}



.elementor-8145 .as-footer-main .elementor-element-0fd30c5 > .elementor-widget-container {

	margin: 0 !important;

	padding: 0 !important;

}



.as-footer-col__title {

	margin: 0 0 15px;

	font-size: 1rem;

	font-weight: 700;

	color: var(--as-footer-text);

	text-transform: none;

	letter-spacing: 0;

}



.as-footer-col__list {

	list-style: none;

	margin: 0;

	padding: 0;

}



.as-footer-col__list li {

	margin: 0 0 7px;

}



.as-footer-col__list li:last-child {

	margin-bottom: 0;

}



.as-footer-col__list a,

.as-footer-fale-conosco a {

	color: var(--as-footer-muted);

	text-decoration: none;

	font-size: 0.9375rem;

	font-weight: 500;

	line-height: 1.45;

	transition: color 0.2s ease;

}



.as-footer-col__list a:hover,

.as-footer-col__list a:focus-visible,

.as-footer-fale-conosco a:hover,

.as-footer-fale-conosco a:focus-visible {

	color: var(--as-footer-brand-hover);

}



.as-footer-fale-conosco {

	margin: 0 0 7px;

}



/* Esconder bloco Empresa e links legais duplicados na coluna principal */

.elementor-8145 .elementor-element-2df0a00,

.elementor-8145 .elementor-element-2b23998,

.elementor-8145 .elementor-element-2a08f5a,

.elementor-8145 .elementor-element-22e17f8,

.elementor-8145 .elementor-element-9cc5738,

.elementor-8145 .elementor-element-6772157,

.elementor-8145 .elementor-element-00d50e5,

.elementor-8145 .elementor-element-ef68fec,

.elementor-8145 .elementor-element-5c61e11 {

	display: none !important;

}



/* Títulos das colunas (desktop + mobile) — preto */

.elementor-8145 .elementor-heading-title,

.elementor-8145 h1,
.elementor-8145 h2,
.elementor-8145 h3,
.elementor-8145 h4,
.elementor-8145 h5,
.elementor-8145 h6 {

	font-family: var(--as-footer-font) !important;

	font-size: 1rem !important;

	font-weight: 700 !important;

	text-transform: none !important;

	color: var(--as-footer-text) !important;

	line-height: 1.3 !important;

	margin-bottom: 0 !important;

}



.elementor-8145 .as-footer-main .elementor-widget-heading .elementor-heading-title {

	margin-bottom: 0 !important;

}



.elementor-8145 .as-footer-main .e-con.e-child {

	--gap: 0px;

	gap: 0 !important;

}



.elementor-8145 .as-footer-main .elementor-widget-heading > .elementor-widget-container {

	margin: 0 0 15px !important;

	padding: 0 !important;

}



.elementor-8145 .elementor-element-230021fe > .elementor-widget-container,

.elementor-8145 .elementor-element-37b8c4e > .elementor-widget-container,

.elementor-8145 .elementor-element-0fd30c5 > .elementor-widget-container {

	margin: 0 !important;

}



.elementor-8145 .elementor-nav-menu--main .elementor-item,

.elementor-8145 .elementor-nav-menu--dropdown .elementor-item,

.elementor-8145 .elementor-nav-menu--dropdown .elementor-sub-item,

.elementor-8145 .elementor-widget-text-editor,

.elementor-8145 .elementor-widget-text-editor p,

.elementor-8145 .elementor-widget-text-editor a,

.elementor-8145 .elementor-widget-text-editor span {

	color: var(--as-footer-muted) !important;

	font-size: 0.9375rem;

	font-weight: 500 !important;

	line-height: 1.45;

}



.elementor-8145 .elementor-nav-menu--main .elementor-item {

	padding: 0 !important;

}



.elementor-8145 .elementor-nav-menu--main .elementor-nav-menu > li:not(:last-child) {

	margin-bottom: 7px !important;

}



.elementor-8145 .as-footer-main .elementor-widget-text-editor p {

	margin: 0 0 7px !important;

}



.elementor-8145 .as-footer-main .elementor-widget-text-editor p:last-child {

	margin-bottom: 0 !important;

}



.elementor-8145 .elementor-nav-menu--main .elementor-item:hover,

.elementor-8145 .elementor-nav-menu--main .elementor-item:focus-visible,

.elementor-8145 .elementor-nav-menu--dropdown .elementor-item:hover,

.elementor-8145 .elementor-nav-menu--dropdown .elementor-item:focus-visible,

.elementor-8145 .elementor-widget-text-editor a:hover,

.elementor-8145 .elementor-widget-text-editor a:focus-visible {

	color: var(--as-footer-brand-hover) !important;

}



.elementor-8145 .elementor-widget-text-editor a {

	text-decoration: none;

	transition: color 0.2s ease;

}



.elementor-8145 .elementor-widget-text-editor span[style*="background"],
.elementor-8145 .elementor-widget-text-editor span[style*="color"] {

	background: transparent !important;

	color: var(--as-footer-muted) !important;

}



.elementor-8145 .elementor-nav-menu--main .elementor-item::before,

.elementor-8145 .elementor-nav-menu--main .elementor-item::after {

	display: none !important;

}



.elementor-8145 .elementor-menu-toggle {

	display: none !important;

}



.elementor-8145 .elementor-nav-menu--dropdown.elementor-nav-menu__container {

	display: block !important;

	position: static !important;

	visibility: visible !important;

	opacity: 1 !important;

	height: auto !important;

}



/* Menu mobile (layout dropdown) — vence cores legadas do kit Elementor */

.elementor-8145 .elementor-element-e68f6de .elementor-nav-menu .elementor-item,

.elementor-8145 .elementor-element-e68f6de .elementor-nav-menu--dropdown a {

	color: var(--as-footer-muted) !important;

	fill: var(--as-footer-muted) !important;

}



.as-footer-contact-line {

	display: flex;

	align-items: flex-start;

	flex-wrap: nowrap;

	gap: 10px;

	margin: 0 0 7px;

	font-size: 0.9375rem;

	font-weight: 500;

	color: var(--as-footer-muted);

}



.as-footer-contact-line:last-child {

	margin-bottom: 0;

}



.as-footer-contact-line span {

	white-space: nowrap;

}



.as-footer-contact-line svg {

	flex-shrink: 0;

	margin-top: 2px;

	opacity: 0.85;

	stroke: currentColor;

}



.as-footer-contact-line a {

	color: var(--as-footer-muted);

	text-decoration: none;

	transition: color 0.2s ease;

}



.as-footer-contact-line a:hover,

.as-footer-contact-line a:focus-visible {

	color: var(--as-footer-brand-hover);

}



/* —— Barra inferior —— */

.elementor-8145 .elementor-element-3456e443 {

	border-top: 1px solid var(--as-footer-border);

	max-width: var(--as-footer-max);

	margin-left: auto !important;

	margin-right: auto !important;

	width: 100% !important;

	padding: 20px var(--as-footer-pad-x) 28px !important;

	min-height: 0 !important;

}



.elementor-8145 .elementor-element-3456e443 > .e-con-inner {

	display: flex !important;

	flex-wrap: wrap;

	align-items: center;

	justify-content: space-between;

	gap: 16px 24px;

	max-width: none !important;

	padding: 0 !important;

	width: 100%;

}



.elementor-8145 .elementor-element-31bbb2bb {

	flex: 1 1 auto;

	min-width: 0;

}



.elementor-8145 .elementor-element-31bbb2bb .elementor-heading-title {

	font-size: 0.8125rem !important;

	font-weight: 400 !important;

	color: var(--as-footer-muted) !important;

	text-align: left !important;

	margin: 0 !important;

}



.as-footer-legal-bar {

	display: flex;

	flex-wrap: wrap;

	align-items: center;

	justify-content: flex-end;

	gap: 8px 0;

	font-size: 0.8125rem;

	flex: 1 1 auto;

}



.as-footer-legal-bar a {

	color: var(--as-footer-muted);

	text-decoration: none;

	padding: 0 12px;

	border-right: 1px solid var(--as-footer-border);

	line-height: 1.4;

	transition: color 0.2s ease;

}



.as-footer-legal-bar a:last-of-type {

	border-right: none;

}



.as-footer-legal-bar a:hover,

.as-footer-legal-bar a:focus-visible {

	color: var(--as-footer-text);

}



.as-footer-lang {

	display: inline-flex;

	align-items: center;

	gap: 6px;

	padding-left: 12px;

	margin-left: 4px;

	color: var(--as-footer-muted);

	font-size: 0.8125rem;

	border-left: 1px solid var(--as-footer-border);

	cursor: default;

	user-select: none;

}



.as-footer-lang svg {

	opacity: 0.9;

}



/* Mobile footer */

.elementor-8145 .elementor-element-651ca94 {

	min-height: 0 !important;

	max-width: var(--as-footer-max);

	margin: 0 auto;

	padding: var(--as-footer-pad-y) var(--as-footer-pad-x) !important;

	background-color: var(--as-footer-bg-mobile) !important;

}



.elementor-8145 .elementor-element-651ca94 .as-footer-brand {

	margin-bottom: 24px;

	border-bottom-color: var(--as-footer-border);

}



.elementor-8145 .elementor-element-e37c43d {

	flex-direction: column !important;

	gap: 28px;

}



.as-footer-mobile-courses {

	width: 100%;

}



.as-footer-mobile-courses__nav {

	display: block;

	width: 100%;

}



@media (max-width: 1024px) {

	.elementor-8145 .as-footer-main > .elementor-element-86c5964 {

		grid-template-columns: repeat(2, minmax(0, 1fr));

	}



	.elementor-8145 .as-footer-main .elementor-element-5848e1d {

		grid-column: 1 / -1;

		grid-row: auto;

	}

}



/* Marca injetada antes do shell mobile — só visível em viewport mobile */

@media (min-width: 768px) {

	.elementor-8145 .as-footer-brand:has(+ .elementor-element-651ca94) {

		display: none;

	}

}



@media (max-width: 767px) {

	.as-footer-main {

		display: none;

	}



	/* Marca fica fora do container 651ca94 — mesmo respiro lateral */

	footer.elementor-8145 .as-footer-brand:has(+ .elementor-element-651ca94) {

		box-sizing: border-box;

		width: 100%;

		max-width: var(--as-footer-max);

		margin-left: auto;

		margin-right: auto;

		padding: var(--as-footer-pad-y) var(--as-footer-pad-x) 0;

	}



	.elementor-8145 .elementor-element-651ca94 {

		--min-height: 0 !important;

		min-height: 0 !important;

		/* −10px acima de “Nossos cursos” (após linha da marca) */

		padding-top: 14px !important;

		/* −40px acima da linha divisória da barra legal */

		padding-bottom: max(0px, calc(var(--as-footer-pad-y) - 40px)) !important;

	}



	/* Coluna “Empresa” vazia no mobile — evita gap fantasma entre secções */

	.elementor-8145 .elementor-element-651ca94 .elementor-element-6aed105 {

		display: none !important;

	}



	/* −20px entre “Nossos cursos” e “Contato” (sem margin negativo — evita sobreposição) */

	.elementor-8145 .elementor-element-651ca94 .elementor-element-e37c43d {

		gap: 8px !important;

	}



	.elementor-8145 .elementor-element-651ca94 .elementor-element-7efa8cb,

	.elementor-8145 .elementor-element-651ca94 .elementor-element-3c9ef933,

	.elementor-8145 .elementor-element-651ca94 .elementor-element-e68f6de,

	.elementor-8145 .elementor-element-651ca94 .as-footer-mobile-courses {

		overflow: visible !important;

		min-height: 0 !important;

		height: auto !important;

	}



	.elementor-8145 .elementor-element-651ca94 .elementor-element-e68f6de > .elementor-widget-container {

		overflow: visible !important;

		height: auto !important;

		min-height: 0 !important;

	}



	.elementor-8145 .elementor-element-7efa8cb {

		width: 100% !important;

		max-width: 100% !important;

		--width: 100% !important;

		flex-direction: column !important;

	}



	.elementor-8145 .elementor-element-e68f6de {

		width: 100% !important;

		max-width: 100% !important;

		--container-widget-width: 100% !important;

		flex: 1 1 100% !important;

	}



	.elementor-8145 .elementor-element-651ca94 > .e-con-inner {

		padding-left: 0 !important;

		padding-right: 0 !important;

		width: 100%;

	}



	.elementor-8145 .elementor-element-651ca94 .e-con.e-child,

	.elementor-8145 .elementor-element-651ca94 .elementor-widget-container {

		align-items: flex-start !important;

		justify-content: flex-start !important;

		text-align: left !important;

	}



	.elementor-8145 .elementor-element-651ca94 .elementor-nav-menu--dropdown .elementor-item,

	.elementor-8145 .elementor-element-651ca94 .elementor-nav-menu--dropdown .elementor-sub-item {

		color: var(--as-footer-muted) !important;

		fill: var(--as-footer-muted) !important;

	}



	/* Barra inferior: copyright, links legais e idioma centralizados */

	.elementor-8145 .elementor-element-3456e443 > .e-con-inner {

		flex-direction: column;

		align-items: center !important;

		justify-content: center;

		text-align: center !important;

	}



	.elementor-8145 .elementor-element-31bbb2bb,

	.elementor-8145 .elementor-element-31bbb2bb .elementor-heading-title {

		text-align: center !important;

		width: 100%;

	}



	.as-footer-legal-bar {

		justify-content: center !important;

		align-items: center;

		flex-wrap: wrap;

		width: 100%;

		text-align: center;

	}



	.as-footer-lang {

		border-left: none;

		padding-left: 0;

		margin-left: 0;

		margin-top: 4px;

		justify-content: center;

	}

}


