/*
 * Loghus Pré-Vestibular: base.css
 * Tokens (kit 5 do Elementor), fontes, reset, tipografia, layout, botões,
 * utilitários lg-* e a casca (topo, cabeçalho, menu móvel, faixa de título,
 * rodapé, busca, cookies, WhatsApp). Medidas copiadas do CSS gerado dos
 * modelos 1078, 28, 807, 875, 1000 e 2319 do site atual.
 * Pontos de quebra do Elementor: 767 (celular), 1024 (tablet), 1200, 1366.
 */

/* ------------------------------------------------------------------ fontes */
@font-face {
	font-family: "Axiforma";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/Axiforma-Regular.woff2") format("woff2");
}
@font-face {
	font-family: "Axiforma";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/Axiforma-Medium.woff2") format("woff2");
}
@font-face {
	font-family: "Axiforma";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/Axiforma-SemiBold.woff2") format("woff2");
}
@font-face {
	font-family: "Axiforma";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/Axiforma-Bold.woff2") format("woff2");
}
@font-face {
	font-family: "Axiforma";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("../fonts/Axiforma-ExtraBold.woff2") format("woff2");
}

/* ------------------------------------------------------------------ tokens */
:root {
	/* Contrato §8 (kit 5). */
	--lg-azul: #004AAD;
	--lg-azul-vivo: #0040FF;
	--lg-ciano: #00C2FF;
	--lg-roxo: #652FFF;
	--lg-texto: #2E2E2E;
	--lg-preto: #000000;
	--lg-branco: #FFFFFF;
	--lg-cinza-claro: #F2F2F2;
	--lg-cinza: #DADADA;
	--lg-laranja: #FF5C00;
	--lg-amarelo: #FFA306;
	--lg-fonte: "Axiforma", system-ui, sans-serif;
	--lg-altura-linha: 1.5;

	/* Outras cores do kit e das seções da casca. */
	--lg-laranja-claro: #FF965B;
	--lg-grafite: #2E2E2E;        /* fundo do topo e do rodapé */
	--lg-titulo-escuro: #2D2D2D;  /* título do popup de cookies */
	--lg-borda-clara: #F1F1F1;    /* borda da barra do menu */
	--lg-borda-popup: #E8E8E8;
	--lg-borda-rodape: #585858;
	--lg-borda-unidade: #484848;
	--lg-whatsapp: #15803D;       /* verde do WhatsApp com contraste AA para texto branco (o do plugin, #2DB742, dava 2,4:1) */
	--lg-credito: #8A8A8A;

	/* Degradês do site. */
	--lg-degrade-botao: linear-gradient(180deg, var(--lg-laranja-claro) 0%, var(--lg-laranja) 100%);
	--lg-degrade-azul: linear-gradient(90deg, var(--lg-azul) 0%, var(--lg-azul-vivo) 100%);

	/* Layout (kit: conteúdo 1280px, respiro padrão do container 10px, espaço entre widgets 20px). */
	--lg-largura: 1280px;
	--lg-respiro: 10px;
	--lg-espaco: 20px;
	--lg-secao: 60px;

	/* Formas. */
	--lg-raio-botao: 40px;
	--lg-raio-card: 16px;
	--lg-raio-popup: 20px;
	--lg-sombra: 0 6px 24px rgba(0, 0, 0, .08);
	--lg-sombra-menu: 0 10px 30px rgba(0, 0, 0, .12);

	/* Foco visível. */
	--lg-foco: 0 0 0 3px var(--lg-branco), 0 0 0 5px var(--lg-azul);

	/* Altura da barra do admin (ajustada abaixo). */
	--lg-admin: 0px;
}
.admin-bar { --lg-admin: 32px; }
@media (max-width: 782px) {
	.admin-bar { --lg-admin: 46px; }
}
@media (max-width: 600px) {
	.admin-bar { --lg-admin: 0px; }
}

/* ------------------------------------------------------------------- reset */
*,
*::before,
*::after {
	box-sizing: border-box;
}
html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: calc(var(--lg-admin) + 90px);
}
body {
	margin: 0;
	background: var(--lg-branco);
	color: var(--lg-texto);
	font-family: var(--lg-fonte);
	font-size: 1rem;
	font-weight: 400;
	line-height: var(--lg-altura-linha);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
}
img,
svg,
video,
iframe {
	max-width: 100%;
}
img,
video {
	height: auto;
}
img {
	border: 0;
	vertical-align: middle;
}
svg {
	flex-shrink: 0;
}
figure {
	margin: 0;
}
button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
}
button {
	cursor: pointer;
}
[hidden] {
	display: none !important;
}
a {
	color: var(--lg-azul);
	text-decoration-thickness: 1px;
	text-underline-offset: .15em;
}
a:hover {
	color: var(--lg-azul-vivo);
}

/* --------------------------------------------------------------- tipografia */
h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .5rem;
	font-family: var(--lg-fonte);
	font-weight: 600;
	line-height: 1.5;
	color: inherit;
	text-wrap: balance;
}
/* Escala do site anterior (kit do Elementor: h1 32px, h2 24px, h3 18,72px). */
h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.17rem; }
h4 { font-size: 1rem; }
h5 { font-size: .83rem; }
h6 { font-size: .67rem; }
p {
	margin: 0 0 .9rem;
}
p,
li,
figcaption,
blockquote,
dd {
	text-wrap: pretty;
}
strong,
b {
	font-weight: 600;
}
em,
i {
	font-style: italic;
	font-weight: inherit;
}
small {
	font-size: .8em;
}
hr {
	border: 0;
	border-top: 1px solid var(--lg-cinza);
	margin: 2rem 0;
}

/* -------------------------------------------------------------- utilitários */
.lg-container {
	width: 100%;
	max-width: var(--lg-largura);
	margin-inline: auto;
	padding-inline: var(--lg-respiro);
}
.lg-container--estreito {
	max-width: 860px;
}
/* Respiro entre as seções de uma página: só entre blocos de fundo branco.
   Faixas com fundo próprio (azul, escuro, foto) encostam umas nas outras e
   nos vizinhos, como no site anterior. */
:root { --lg-entre-secoes: clamp(40px, 5vw, 64px); }
main > :is(section, div):not(.lg-titulo-pagina, .lg-slides, .lg-venha, .lg-motivos, .lg-aprovados--carrossel, .lg-universidades, .lg-video, .lg-sobre-nomes, .lg-landing-rodape, .lg-aprovacao, .lg-campanha, .lg-fundo-azul, .lg-fundo-degrade, .lg-fundo-cinza, .lg-fundo-escuro) + :is(section, div):not(.lg-titulo-pagina, .lg-slides, .lg-venha, .lg-motivos, .lg-aprovados--carrossel, .lg-universidades, .lg-video, .lg-sobre-nomes, .lg-landing-rodape, .lg-aprovacao, .lg-campanha, .lg-fundo-azul, .lg-fundo-degrade, .lg-fundo-cinza, .lg-fundo-escuro) {
	margin-top: var(--lg-entre-secoes);
}
/* Página que termina numa faixa encosta no rodapé. */
main:has(> :is(.lg-titulo-pagina, .lg-slides, .lg-venha, .lg-motivos, .lg-aprovados--carrossel, .lg-universidades, .lg-video, .lg-sobre-nomes, .lg-landing-rodape, .lg-aprovacao, .lg-campanha, .lg-fundo-azul, .lg-fundo-degrade, .lg-fundo-cinza, .lg-fundo-escuro):last-child) + .lg-rodape {
	margin-top: 0;
}
.lg-secao {
	padding-block: var(--lg-secao);
}
.lg-secao--compacta {
	padding-block: calc(var(--lg-secao) / 2);
}
.lg-fundo-azul { background: var(--lg-azul); color: var(--lg-branco); }
.lg-fundo-degrade { background: var(--lg-degrade-azul); color: var(--lg-branco); }
.lg-fundo-cinza { background: var(--lg-cinza-claro); }
.lg-fundo-escuro { background: var(--lg-grafite); color: var(--lg-branco); }
.lg-texto-centro { text-align: center; }
.lg-texto-branco { color: var(--lg-branco); }
.lg-pilha > * + * { margin-top: var(--lg-espaco); }
.lg-grade {
	display: grid;
	gap: var(--lg-espaco);
	grid-template-columns: repeat(var(--lg-colunas, 3), minmax(0, 1fr));
}
.lg-grade--2 { --lg-colunas: 2; }
.lg-grade--4 { --lg-colunas: 4; }
.lg-botoes {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
.lg-visualmente-oculto {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.lg-so-movel { display: none; }
.lg-icone {
	display: inline-block;
	vertical-align: middle;
}
.lg-pular {
	position: absolute;
	top: -100px;
	left: 10px;
	z-index: 100000;
	padding: 10px 16px;
	background: var(--lg-azul);
	color: var(--lg-branco);
	border-radius: 0 0 8px 8px;
	text-decoration: none;
}
.lg-pular:focus {
	top: var(--lg-admin);
	color: var(--lg-branco);
}
.lg-conteudo:focus {
	outline: none;
}
.lg-link-botao {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-underline-offset: .15em;
}
@media (max-width: 1024px) {
	.lg-grade { --lg-colunas: 2; }
}
@media (max-width: 767px) {
	:root { --lg-secao: 40px; }
	.lg-grade { --lg-colunas: 1; }
	.lg-so-movel { display: inline; }
	.lg-so-desktop { display: none !important; }
}

/* ------------------------------------------------------------------ botões */
.lg-botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 24px;
	border: 1px solid transparent;
	border-radius: var(--lg-raio-botao);
	background: var(--lg-degrade-botao);
	color: var(--lg-branco);
	font-family: var(--lg-fonte);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: filter .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
.lg-botao:hover {
	color: var(--lg-branco);
	filter: brightness(1.06);
}
.lg-botao--azul {
	background: var(--lg-azul);
	border-radius: var(--lg-raio-card);
}
.lg-botao--azul:hover {
	background: var(--lg-azul-vivo);
	filter: none;
}
.lg-botao--branco {
	background: var(--lg-branco);
	color: var(--lg-azul);
}
.lg-botao--branco:hover {
	color: var(--lg-azul-vivo);
}
.lg-botao--contorno {
	background: transparent;
	border-color: currentColor;
	color: var(--lg-azul);
	border-radius: var(--lg-raio-card);
}
.lg-botao--contorno:hover {
	color: var(--lg-azul-vivo);
	filter: none;
}
.lg-botao--whatsapp {
	background: var(--lg-whatsapp);
}
.lg-botao--texto {
	padding-inline: 6px;
	background: none;
	color: var(--lg-azul);
	text-decoration: underline;
	text-underline-offset: .2em;
}
.lg-botao--texto:hover {
	color: var(--lg-azul-vivo);
	filter: none;
}
@media (max-width: 767px) {
	.lg-botao {
		font-size: 3.5vw;
		padding: 1.5vw 3vw;
	}
}

/* ----------------------------------------------------- cabeçalho de seção */
.lg-cabecalho-secao {
	margin-bottom: var(--lg-espaco);
}
.lg-cabecalho-secao--centro {
	text-align: center;
}
.lg-sobretitulo {
	margin: 0 0 .25rem;
	font-size: .9em;
	font-weight: 600;
	color: var(--lg-azul);
}
.lg-titulo-secao {
	margin: 0;
	color: var(--lg-azul);
	font-weight: 600;
	line-height: 1.5;
}
.lg-subtitulo {
	margin: .5rem 0 0;
	color: var(--lg-texto);
}
.lg-cabecalho-secao--centro .lg-subtitulo {
	max-width: 62ch;
	margin-inline: auto;
}
.lg-cabecalho-secao--escuro .lg-sobretitulo,
.lg-cabecalho-secao--escuro .lg-titulo-secao,
.lg-cabecalho-secao--escuro .lg-subtitulo {
	color: var(--lg-branco);
}
@media (max-width: 767px) {
	.lg-titulo-secao { font-size: 6vw; }
	.lg-subtitulo { font-size: 4vw; }
}

/* -------------------------------------------------------------------- topo */
.lg-topo {
	background: var(--lg-grafite);
	color: var(--lg-branco);
}
.lg-topo__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-block: var(--lg-respiro);
}
.lg-topo__frase {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
}
.lg-topo__acoes {
	display: flex;
	align-items: center;
	gap: 10px;
}
.lg-redes {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lg-redes__link {
	display: inline-flex;
	color: var(--lg-branco);
	transition: color .2s ease;
}
.lg-redes__link:hover {
	color: var(--lg-laranja-claro);
}
.lg-topo__busca {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--lg-branco);
}
.lg-topo__busca:hover {
	color: var(--lg-laranja-claro);
}
@media (max-width: 767px) {
	.lg-topo__frase {
		font-size: 3.5vw;
		line-height: 2;
	}
	.lg-topo__redes .lg-icone {
		width: 22px;
		height: 22px;
	}
}

/* --------------------------------------------------------------- cabeçalho */
.lg-header {
	position: sticky;
	top: var(--lg-admin);
	z-index: 999;
	background: var(--lg-branco);
	border-bottom: 1px solid var(--lg-borda-clara);
}
.lg-header__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--lg-espaco);
	padding-block: var(--lg-respiro);
}
.lg-logo {
	display: inline-flex;
	flex: 0 0 auto;
	width: 180px;
	max-width: 180px;
}
.lg-logo__img {
	display: block;
	width: 100%;
	height: auto;
}
.lg-header__acoes {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--lg-espaco);
}
.lg-header__cta {
	font-size: 1em;
	padding: 10px 15px 8px;
}

/* Menu principal (desktop). */
.lg-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}
.lg-nav__lista {
	display: flex;
	align-items: center;
	gap: 20px;
}
.lg-casca-interna .lg-nav__lista {
	gap: 15px;
}
.lg-nav__lista > li {
	position: relative;
}
.lg-nav__lista a {
	display: block;
	color: var(--lg-texto);
	text-decoration: none;
}
.lg-nav__lista > li > a {
	position: relative;
	padding: 13px 0;
	font-size: 1em;
	line-height: 1.5;
}
.lg-nav__lista > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: var(--lg-texto);
	opacity: 0;
	transition: opacity .3s ease;
}
.lg-nav__lista > li > a:hover::after,
.lg-nav__lista > li > a:focus-visible::after,
.lg-nav__lista > .current-menu-item > a::after,
.lg-nav__lista > .current-menu-ancestor > a::after,
.lg-nav__lista > .current-menu-parent > a::after {
	opacity: 1;
}
.lg-nav__lista > .menu-item-has-children > a {
	padding-right: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%232E2E2E' d='M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z'/%3E%3C/svg%3E") right center / 8px auto no-repeat;
}
.lg-nav__lista .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 20;
	min-width: 220px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--lg-branco);
	box-shadow: var(--lg-sombra-menu);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.lg-nav__lista > li:hover > .sub-menu,
.lg-nav__lista > li:focus-within > .sub-menu,
.lg-nav__lista > li.is-aberto > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.lg-nav__lista .sub-menu a {
	padding: 13px 20px;
	font-size: .9em;
	border-bottom: 1px solid var(--lg-cinza-claro);
}
.lg-nav__lista .sub-menu li:last-child a {
	border-bottom: 0;
}
.lg-nav__lista .sub-menu a:hover,
.lg-nav__lista .sub-menu a:focus-visible,
.lg-nav__lista .sub-menu .current-menu-item > a {
	background: var(--lg-texto);
	color: var(--lg-branco);
}

/* Botão do menu móvel (Elementor: hambúrguer até 1024px). */
.lg-menu-botao {
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: var(--lg-branco);
	color: var(--lg-texto);
}
.lg-menu-botao .lg-icone--fechar,
.lg-menu-botao[aria-expanded="true"] .lg-icone--menu {
	display: none;
}
.lg-menu-botao[aria-expanded="true"] .lg-icone--fechar {
	display: inline-block;
}

@media (max-width: 1200px) {
	.lg-nav__lista { gap: 10px; }
	.lg-nav__lista > li > a { font-size: .9em; }
}

@media (max-width: 1024px) {
	.lg-menu-botao {
		display: inline-flex;
		order: 3;
	}
	.lg-header__cta { order: 2; }
	.lg-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc(100vh - 140px);
		overflow-y: auto;
		background: var(--lg-branco);
		box-shadow: var(--lg-sombra-menu);
		border-top: 1px solid var(--lg-borda-clara);
		display: none;
	}
	.lg-header.is-menu-aberto .lg-nav {
		display: block;
	}
	.lg-nav__lista {
		display: block;
	}
	.lg-nav__lista > li > a,
	.lg-nav__lista .sub-menu a {
		padding: 15px 20px;
		font-size: 1em;
		border-bottom: 1px solid var(--lg-cinza-claro);
	}
	.lg-nav__lista > li > a::after {
		display: none;
	}
	.lg-nav__lista > .menu-item-has-children > a {
		background-position: right 20px center;
		padding-right: 40px;
	}
	.lg-nav__lista .sub-menu {
		position: static;
		min-width: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		background: var(--lg-cinza-claro);
	}
	.lg-nav__lista .sub-menu a {
		padding-left: 36px;
	}
	.lg-nav__lista .sub-menu a:hover {
		background: var(--lg-texto);
	}
	/* Sem JS o painel fica fechado: a navegação completa segue no rodapé. */
}

@media (max-width: 767px) {
	.lg-header {
		border: 1px solid var(--lg-borda-clara);
	}
	.lg-header__inner {
		gap: 0;
	}
	.lg-logo {
		width: 30vw;
		max-width: 30vw;
	}
	.lg-header__acoes {
		width: 70vw;
		gap: 10px;
	}
	.lg-header__cta {
		font-size: 3.5vw;
		padding: 1.8vw 3vw 1.5vw;
	}
	.lg-menu-botao .lg-icone {
		width: 20px;
		height: 20px;
	}
	.lg-nav__lista > li > a,
	.lg-nav__lista .sub-menu a {
		font-size: 4vw;
	}
}

/* ------------------------------------------- faixa de título (cabeçalho 28) */
.lg-titulo-pagina {
	margin-bottom: 2em;
	padding-block: 2em;
	background: var(--lg-azul);
	color: var(--lg-branco);
}
.lg-titulo-pagina__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.lg-titulo-pagina__h1 {
	margin: 0;
	color: var(--lg-branco);
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.5;
}
.lg-trilha,
.lg-trilha a {
	color: var(--lg-branco);
	font-size: 14px;
}
.lg-trilha ol {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lg-trilha li + li::before {
	content: "\00a0»\00a0";
}
.lg-trilha p {
	margin: 0;
}
.lg-trilha a {
	text-decoration: none;
}
.lg-trilha a:hover {
	text-decoration: underline;
	color: var(--lg-branco);
}
@media (max-width: 767px) {
	.lg-titulo-pagina {
		margin-bottom: 6vw;
		padding: 4vw;
	}
	.lg-titulo-pagina__h1 {
		font-size: 6vw;
	}
}

/* ------------------------------------------------------------------ rodapé */
.lg-rodape {
	margin-top: 40px;
	color: var(--lg-branco);
}
.lg-venha {
	background: var(--lg-degrade-azul);
}
.lg-venha__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--lg-espaco);
	padding-block: var(--lg-respiro);
}
.lg-venha__titulo {
	margin: 0;
	color: var(--lg-branco);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5;
}
.lg-rodape__principal {
	background: var(--lg-grafite);
}
.lg-rodape__grade {
	display: flex;
	padding-block: var(--lg-respiro);
}
.lg-rodape__marca {
	display: flex;
	flex-direction: column;
	gap: var(--lg-espaco);
	width: 25%;
	padding: var(--lg-respiro);
}
.lg-rodape__logo {
	width: 80%;
	max-width: 80%;
}
.lg-rodape__texto {
	margin: 0;
	color: var(--lg-branco);
}
.lg-rodape__bloco {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.lg-rodape__rotulo {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--lg-branco);
}
.lg-rodape__menu a {
	display: block;
	color: var(--lg-branco);
	text-decoration: none;
	transition: color .2s ease;
}
.lg-rodape__menu > li > a {
	padding: 13px 10px;
	font-size: 14px;
	line-height: 1.5;
}
.lg-rodape__menu a:hover,
.lg-rodape__menu a:focus-visible,
.lg-rodape__menu .current-menu-item > a {
	color: var(--lg-laranja-claro);
}
.lg-rodape__menu--nav > li > a {
	padding: 15px 0;
	font-size: 1em;
}
.lg-rodape__menu .sub-menu {
	margin: 0;
	padding: 0 0 0 16px;
	list-style: none;
}
.lg-rodape__menu .sub-menu a {
	padding: 10px 0;
	font-size: .9em;
}
.lg-rodape__redes .lg-redes__link {
	color: var(--lg-branco);
}
.lg-rodape__unidades {
	width: 75%;
	padding: 1em 0 0 2em;
	border-left: 1px solid var(--lg-borda-rodape);
}
.lg-rodape__titulo {
	margin: 0 0 var(--lg-espaco);
	color: var(--lg-branco);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.5;
}
.lg-rodape__unidades-grade {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 35px 30px;
	padding: var(--lg-respiro);
}
.lg-unidade-rodape__nome {
	margin: 0 0 var(--lg-espaco);
	color: var(--lg-branco);
	font-size: 1.17rem;
	font-weight: 600;
	line-height: 1.5;
}
.lg-unidade-rodape__lista {
	margin: 0;
	padding: 0;
	list-style: none;
}
.lg-unidade-rodape__lista li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--lg-branco);
}
.lg-unidade-rodape__lista li + li {
	margin-top: 10px;
}
.lg-unidade-rodape__lista .lg-icone {
	width: 18px;
	height: 18px;
	margin-top: 3px;
	color: var(--lg-branco);
}
.lg-unidade-rodape__lista a {
	color: var(--lg-branco);
	text-decoration: none;
}
.lg-unidade-rodape__lista a:hover {
	color: var(--lg-laranja-claro);
	text-decoration: underline;
}
.lg-rodape__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 4px;
	min-height: 5em;
	padding: 20px;
	background: var(--lg-preto);
	text-align: center;
}
.lg-rodape__copy p {
	margin: 0;
}
.lg-rodape__copyright {
	color: var(--lg-branco);
	font-size: 1em;
	line-height: 1.5;
}
.lg-rodape__credito,
.lg-rodape__credito a,
.lg-rodape__cookies,
.lg-rodape__cookies .lg-link-botao {
	color: var(--lg-credito);
	font-size: .8em;
	text-decoration: none;
}
.lg-rodape__credito a:hover,
.lg-rodape__cookies .lg-link-botao:hover {
	color: var(--lg-branco);
	text-decoration: underline;
}
.lg-rodape__cookies .lg-link-botao {
	font-size: 1em;
}
/* Área de toque mínima (24px) nos dois links pequenos do rodapé. */
.lg-rodape__credito a,
.lg-rodape__cookies .lg-link-botao {
	display: inline-block;
	min-height: 24px;
	padding: 4px 6px;
}
.lg-rodape__cookies {
	margin-top: 4px;
}
@media (max-width: 767px) {
	.lg-venha__inner {
		gap: 10px;
		padding: 3vw 2vw;
	}
	.lg-venha__titulo {
		font-size: 4vw;
		line-height: 1.4;
	}
	.lg-venha .lg-botao {
		font-size: 3.5vw;
		padding: 1.5vw 3vw;
		flex-shrink: 0;
	}
	.lg-rodape__grade {
		flex-direction: column;
	}
	.lg-rodape__marca,
	.lg-rodape__unidades {
		width: 100%;
	}
	.lg-rodape__logo {
		align-self: center;
		width: 40vw;
		max-width: 40vw;
	}
	.lg-rodape__texto {
		font-size: 4vw;
	}
	.lg-rodape__unidades {
		padding: 2em 0 0;
		border-left: 0;
		border-top: 1px solid var(--lg-borda-rodape);
	}
	.lg-rodape__titulo {
		text-align: center;
	}
	.lg-rodape__unidades-grade {
		grid-template-columns: minmax(0, 1fr);
	}
	.lg-unidade-rodape {
		padding-bottom: 20px;
		border-bottom: 1px solid var(--lg-borda-unidade);
	}
	.lg-unidade-rodape__lista li {
		font-size: 4vw;
	}
	.lg-unidade-rodape__lista .lg-icone {
		margin-top: 4px;
	}
	.lg-rodape__copyright {
		font-size: 4vw;
	}
}

/* ------------------------------------------------------------------- busca */
.lg-busca {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: calc(var(--lg-admin) + 12vh) 16px 16px;
}
.lg-busca__fundo {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .6);
}
.lg-busca__caixa {
	position: relative;
	width: 100%;
	max-width: 720px;
	padding: 24px;
	background: var(--lg-branco);
	border-radius: var(--lg-raio-card);
	box-shadow: var(--lg-sombra-menu);
}
.lg-busca__topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}
.lg-busca__titulo {
	margin: 0;
	font-weight: 600;
	color: var(--lg-azul);
}
.lg-busca__fechar {
	display: inline-flex;
	padding: 6px;
	border: 0;
	background: none;
	color: var(--lg-texto);
}
.lg-form-busca {
	display: flex;
	gap: 10px;
}
.lg-form-busca__campo {
	flex: 1 1 auto;
	min-width: 0;
	padding: 12px 16px;
	border: 1px solid var(--lg-cinza);
	border-radius: 10px;
	background: var(--lg-branco);
	font-size: 1rem;
}
.lg-form-busca__campo:focus {
	border-color: var(--lg-azul);
}
.lg-form-busca__botao {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	border: 0;
	border-radius: 10px;
	background: var(--lg-azul);
	color: var(--lg-branco);
}
.lg-form-busca__botao:hover {
	background: var(--lg-azul-vivo);
}
.lg-com-busca {
	overflow: hidden;
}
@media (max-width: 767px) {
	.lg-form-busca__rotulo {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}
}

/* ---------------------------------------------------- página de resultados */
.lg-busca-pagina__form {
	max-width: 720px;
	margin: 0 auto 24px;
}
.lg-busca-pagina__total {
	margin-bottom: 24px;
	color: var(--lg-texto);
	text-align: center;
}
.lg-busca-pagina__vazio {
	text-align: center;
}
.lg-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}
.lg-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--lg-branco);
	border: 1px solid var(--lg-borda-popup);
	border-radius: var(--lg-raio-card);
	transition: box-shadow .2s ease;
}
.lg-card:hover {
	box-shadow: var(--lg-sombra);
}
.lg-card__midia img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}
.lg-card__corpo {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 20px;
}
.lg-card__rotulo {
	margin: 0 0 6px;
	font-size: .8em;
	font-weight: 600;
	color: var(--lg-azul);
}
.lg-card__titulo {
	margin: 0 0 10px;
	font-size: 1.1em;
	line-height: 1.4;
}
.lg-card__titulo a {
	color: var(--lg-texto);
	text-decoration: none;
}
.lg-card__titulo a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.lg-card {
	position: relative;
}
.lg-card__titulo a:hover {
	color: var(--lg-azul);
}
.lg-card__resumo {
	margin: 0 0 12px;
	font-size: .9em;
}
.lg-card__acao {
	margin: auto 0 0;
}
.lg-card__acao a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .9em;
	font-weight: 600;
	text-decoration: none;
}
.lg-paginacao {
	margin-top: 40px;
}
.lg-paginacao .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}
.lg-paginacao .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	padding: 8px 14px;
	border: 1px solid var(--lg-cinza);
	border-radius: 10px;
	color: var(--lg-texto);
	text-decoration: none;
}
.lg-paginacao .page-numbers.current,
.lg-paginacao a.page-numbers:hover {
	background: var(--lg-azul);
	border-color: var(--lg-azul);
	color: var(--lg-branco);
}
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}
@media (max-width: 1024px) {
	.lg-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.lg-cards { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}

/* ------------------------------------------------- formulário (alternativa) */
.lg-formulario__titulo {
	margin: 0 0 12px;
	font-weight: 600;
	color: var(--lg-azul);
}
.lg-formulario--alternativa {
	padding: 24px;
	background: var(--lg-cinza-claro);
	border-radius: var(--lg-raio-card);
}

/* ------------------------------------------- conteúdo livre (§4.1, §4.2) */
/* Seções dos shortcodes ocupam a largura toda; blocos comuns do editor
   (título, parágrafo, imagem, lista) ficam na coluna de leitura. */
.lg-conteudo-livre > :not(section):not([class*="lg-"]) {
	max-width: 860px;
	margin-inline: auto;
	padding-inline: var(--lg-respiro);
	box-sizing: content-box;
}
.lg-conteudo-livre > :not(section):not([class*="lg-"]):first-child {
	margin-top: var(--lg-secao);
}
.lg-conteudo-livre > :not(section):not([class*="lg-"]):last-child {
	margin-bottom: var(--lg-secao);
}
.lg-conteudo-livre > h2,
.lg-conteudo-livre > h3 {
	color: var(--lg-azul);
}
.lg-conteudo-livre__acao {
	display: flex;
	justify-content: center;
	padding-block: 24px;
}

/* ------------------------------------------------------- conteúdo (prosa) */
.lg-prosa {
	max-width: 860px;
	margin-inline: auto;
}
.lg-prosa h2,
.lg-prosa h3,
.lg-prosa h4 {
	margin-top: 2rem;
	color: var(--lg-azul);
}
.lg-prosa h2 { font-size: 1.5rem; }
.lg-prosa h3 { font-size: 1.17rem; }
.lg-prosa h4 { font-size: 1rem; }
.lg-prosa ul,
.lg-prosa ol {
	padding-left: 1.4em;
	margin: 0 0 1rem;
}
.lg-prosa li + li {
	margin-top: .35rem;
}
.lg-prosa img {
	border-radius: 10px;
}
.lg-prosa table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1rem;
}
.lg-prosa th,
.lg-prosa td {
	padding: 10px;
	border: 1px solid var(--lg-cinza);
	text-align: left;
}
.lg-prosa .alignleft { float: left; margin: 0 1.5em 1em 0; }
.lg-prosa .alignright { float: right; margin: 0 0 1em 1.5em; }
.lg-prosa .aligncenter { display: block; margin-inline: auto; }

/* ---------------------------------------------------------------- cookies */
.lg-cookies {
	position: fixed;
	left: 60px;
	bottom: 120px;
	z-index: 9999;
	width: 25vw;
	min-width: 320px;
	max-height: calc(100vh - 160px);
	overflow-y: auto;
	padding: 20px;
	background: var(--lg-branco);
	border: 1px solid var(--lg-borda-popup);
	border-radius: var(--lg-raio-popup);
	box-shadow: var(--lg-sombra);
	animation: lg-sobe 1.2s ease both;
}
.lg-cookies__titulo {
	margin: 0 0 8px;
	color: var(--lg-titulo-escuro);
	font-size: .9em;
	font-weight: 600;
	line-height: 1.5;
}
.lg-cookies__texto {
	margin: 0 0 16px;
	color: var(--lg-texto);
	font-size: .8em;
	line-height: 1.5;
}
.lg-cookies__texto a {
	color: inherit;
	text-decoration: underline;
}
.lg-cookies__preferencias fieldset {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
}
.lg-cookies__opcao {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 8px;
	font-size: .8em;
}
.lg-cookies__opcao input {
	margin-top: 3px;
	accent-color: var(--lg-azul);
}
.lg-cookies__politica {
	display: inline-block;
	margin-bottom: 12px;
	font-size: .8em;
}
.lg-cookies__acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.lg-cookies__acoes .lg-botao {
	padding: 10px;
	font-size: 1em;
}
.lg-cookies__acoes .lg-cookies__aceitar,
.lg-cookies__acoes [data-lg-cookie="salvar"] {
	flex: 1 0 100%;
}
.lg-cookies__acoes .lg-botao--contorno,
.lg-cookies__acoes .lg-botao--texto {
	flex: 1 1 0;
	font-size: .9em;
}
@keyframes lg-sobe {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: none; }
}
@media (max-width: 767px) {
	.lg-cookies {
		left: 20px;
		width: 90vw;
		min-width: 0;
		border-radius: var(--lg-raio-card);
	}
	.lg-cookies__titulo { font-size: 4vw; }
	.lg-cookies__texto,
	.lg-cookies__opcao { font-size: 3.7vw; }
	.lg-cookies__acoes .lg-botao { font-size: 4vw; }
}

/* ------------------------------------------------------- WhatsApp (FAB) */
.lg-fab {
	position: fixed;
	right: 20px;
	bottom: 30px;
	z-index: 9998;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 18px 10px 12px;
	border-radius: var(--lg-raio-botao);
	background: var(--lg-whatsapp);
	color: var(--lg-branco);
	font-size: 14px;
	line-height: 1.3;
	text-decoration: none;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
	transition: filter .2s ease, transform .2s ease;
}
.lg-fab:hover {
	color: var(--lg-branco);
	filter: brightness(1.06);
	transform: translateY(-2px);
}
.lg-fab__icone {
	display: inline-flex;
}
.lg-fab__rotulo {
	max-width: 230px;
}
@media (max-width: 767px) {
	.lg-fab {
		padding: 14px;
	}
	.lg-fab__rotulo {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}
}

/* --------------------------------------- WhatsApp: janela das unidades */
.lg-whats__janela {
	position: fixed;
	right: 20px;
	bottom: 96px;
	z-index: 10002; /* acima do banner de cookies (9999): a janela é modal */
	width: 360px;
	max-width: calc(100vw - 40px);
	max-height: calc(100vh - 130px);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--lg-raio-card);
	background: var(--lg-branco);
	color: var(--lg-texto);
	box-shadow: 0 12px 40px rgba(0, 0, 0, .22);
}
.lg-whats__janela[hidden] {
	display: none;
}
.lg-whats__topo {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 18px 16px 18px 18px;
	background: var(--lg-whatsapp);
	color: var(--lg-branco);
}
.lg-whats__marca {
	display: inline-flex;
	flex: none;
	margin-top: 2px;
}
.lg-whats__textos {
	flex: 1;
	min-width: 0;
}
.lg-whats__titulo {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
}
.lg-whats__descricao {
	margin: 6px 0 0;
	font-size: 13px;
	line-height: 1.45;
	opacity: .95;
}
.lg-whats__fechar {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: -4px -4px 0 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: inherit;
	cursor: pointer;
}
.lg-whats__fechar:hover {
	background: rgba(255, 255, 255, .16);
}
.lg-whats__lista {
	margin: 0;
	padding: 8px;
	list-style: none;
	overflow-y: auto;
}
.lg-whats__unidade {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	border-radius: 10px;
	color: var(--lg-texto);
	text-decoration: none;
	border-left: 3px solid transparent;
	transition: background .2s ease, border-color .2s ease;
}
.lg-whats__unidade:hover,
.lg-whats__unidade:focus-visible {
	background: var(--lg-cinza-claro);
	border-left-color: var(--lg-whatsapp);
	color: var(--lg-texto);
}
.lg-whats__avatar {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: var(--lg-whatsapp);
	color: var(--lg-branco);
}
.lg-whats__info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.lg-whats__nome {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}
.lg-whats__detalhe {
	font-size: 12px;
	line-height: 1.4;
	color: #6b6b6b;
}
.lg-whats__seta {
	flex: none;
	display: inline-flex;
	color: var(--lg-whatsapp);
}
@media (max-width: 767px) {
	.lg-whats__janela {
		right: 12px;
		left: 12px;
		bottom: 88px;
		width: auto;
		max-width: none;
	}
}

/* ----------------------------------------------------------- foco visível */
:focus-visible {
	outline: 2px solid var(--lg-azul);
	outline-offset: 2px;
}
.lg-botao:focus-visible,
.lg-form-busca__campo:focus-visible,
.lg-form-busca__botao:focus-visible,
.lg-fab:focus-visible,
.lg-whats__fechar:focus-visible {
	outline: none;
	box-shadow: var(--lg-foco);
}
.lg-topo :focus-visible,
.lg-rodape :focus-visible,
.lg-titulo-pagina :focus-visible {
	outline-color: var(--lg-branco);
}

/* ------------------------------------------------------- menos movimento */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
	.lg-fab:hover {
		transform: none;
	}
}
