/* ==========================================================================
   Tema ABDT – estilos gerais
   Medidas e cores copiadas do site original (Elementor, kit 12 / header 363 / footer 369).
   ========================================================================== */

:root {
	--primaria: #223C42;
	--secundaria: #525B5B;
	--texto: #8B9C9E;
	--destaque: #D0D6D6;
	--fundo: #EAEFEF;
	--vermelho: #D20000;
	--branco: #FFFFFF;
	--serif: "PT Serif", serif;
	--sans: "Open Sans", sans-serif;
	--largura: 1140px;
}

*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1.6;
	color: var(--texto);
	background: var(--branco);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

a { color: var(--primaria); transition: color .2s; }
a:hover { color: var(--vermelho); }

.container {
	width: 100%;
	max-width: var(--largura);
	margin: 0 auto;
	padding: 0 10px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.pular-conteudo {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000;
	padding: 10px 20px;
	background: var(--vermelho);
	color: var(--branco);
}
.pular-conteudo:focus { left: 10px; }

.icone svg, .busca__botao svg, .busca__fechar svg { width: 1em; height: 1em; fill: currentColor; display: block; }

/* ---------- Cabeçalho ---------- */

.cabecalho__faixa {
	min-height: 40px;
	background: var(--primaria);
}

.cabecalho__principal {
	background: var(--fundo);
}

.cabecalho__linha {
	display: flex;
	align-items: center;
	min-height: 120px;
}

.cabecalho__logo { flex: 0 1 30%; min-width: 220px; }
.cabecalho__logo img { display: block; width: 100%; height: auto; }

.menu-principal {
	flex: 1 1 auto;
	display: flex;
	justify-content: flex-end;
	padding-right: 10px;
}

.menu-principal__botao { display: none; }

.menu-principal__lista,
.menu-principal__lista .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.menu-principal__lista {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
}

.menu-principal__lista > li { position: relative; margin: 0 0 0 clamp(14px, 1.8vw, 26px); white-space: nowrap; }

.menu-principal__lista a {
	display: block;
	font-family: var(--serif);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	color: var(--primaria);
}

.menu-principal__lista > li > a {
	position: relative;
	padding: 5px 0;
}

/* sublinhado vermelho no passar do mouse (e--pointer-underline, fade) */
.menu-principal__lista > li > a::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 1px;
	background: var(--vermelho);
	opacity: 0;
	transition: opacity .3s;
}
.menu-principal__lista > li > a:hover::after,
.menu-principal__lista > li > a:focus::after,
.menu-principal__lista > .current-menu-item > a::after,
.menu-principal__lista > .current-menu-ancestor > a::after { opacity: 1; }
.menu-principal__lista > li > a:hover { color: var(--primaria); }

/* submenu (desktop): fundo vermelho, texto branco */
.menu-principal__lista .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 50;
	min-width: 220px;
	background: var(--vermelho);
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s, visibility .2s;
}
.menu-principal__lista li:hover > .sub-menu,
.menu-principal__lista li:focus-within > .sub-menu { opacity: 1; visibility: visible; }

.menu-principal__lista .sub-menu a {
	color: var(--branco);
	padding: 13px 20px;
}
.menu-principal__lista .sub-menu a:hover { color: var(--branco); background: rgba(0, 0, 0, .08); }

.menu-principal__lista .submenu-alternar { display: none; }

/* busca em tela cheia */
.busca { flex: 0 0 5%; display: flex; justify-content: flex-end; }

.busca__botao {
	width: 25px;
	height: 25px;
	padding: 0;
	border: 0;
	font-size: 25px;
	background: var(--fundo);
	color: var(--primaria);
	cursor: pointer;
}

.busca__tela {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 10%;
	background: rgba(34, 60, 66, .97);
}
.busca__tela[hidden] { display: none; }

.busca__form { width: 100%; max-width: 800px; }

.busca__campo {
	width: 100%;
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .5);
	font-family: var(--sans);
	font-size: 50px;
	color: var(--branco);
	background: transparent;
	outline: 0;
}
.busca__campo::placeholder { color: rgba(255, 255, 255, .6); }

.busca__fechar {
	position: absolute;
	top: 30px;
	right: 30px;
	padding: 0;
	border: 0;
	font-size: 30px;
	color: var(--branco);
	background: none;
	cursor: pointer;
}

/* ---------- Conteúdo genérico ---------- */

.pagina { padding: 60px 10px 80px; }

.pagina__titulo {
	margin: 0 0 30px;
	font-family: var(--serif);
	font-size: clamp(34px, 5vw, 54px);
	font-weight: 700;
	line-height: 1.2;
	color: var(--primaria);
}

.pagina__conteudo > *:first-child { margin-top: 0; }

.lista-resultados { list-style: none; margin: 0 0 40px; padding: 0; }
.lista-resultados__item {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 0;
	border-bottom: 1px solid var(--fundo);
}
.lista-resultados__item a { font-family: var(--serif); font-weight: 700; text-decoration: none; }
.lista-resultados__tipo { font-size: 14px; white-space: nowrap; }

.botao,
.wp-block-button__link {
	display: inline-block;
	padding: 5px 12px;
	border-radius: 0;
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--branco);
	background: var(--vermelho);
	transition: background .2s, color .2s;
}
.botao:hover,
.wp-block-button__link:hover { color: var(--branco); background: var(--primaria); }

.navigation.pagination .nav-links { display: flex; gap: 6px; flex-wrap: wrap; }
.navigation.pagination .page-numbers {
	display: inline-block;
	min-width: 36px;
	padding: 6px 10px;
	text-align: center;
	text-decoration: none;
	color: var(--primaria);
	background: var(--fundo);
}
.navigation.pagination .page-numbers.current,
.navigation.pagination a.page-numbers:hover { color: var(--branco); background: var(--vermelho); }

/* ---------- Rodapé ---------- */

.rodape {
	padding: 90px 0 0;
	background: var(--primaria);
	color: rgba(255, 255, 255, .8);
	font-size: 15px;
	font-weight: 300;
	line-height: 1.7;
}

.rodape__colunas {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
	gap: 40px;
	padding-bottom: 60px;
}

.rodape a { color: var(--branco); text-decoration: none; transition: color .2s; }
.rodape a:hover { color: var(--vermelho); }

.rodape__marca {
	margin: 0 0 18px;
	font-family: var(--serif);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--branco);
}

.rodape__endereco { margin: 0 0 16px; font-style: normal; }

.rodape__email { margin: 0 0 24px; }
.rodape__email a { display: inline-flex; align-items: center; gap: 10px; }
.rodape__email svg { width: 18px; height: 18px; fill: currentColor; }

.rodape__botao {
	display: inline-block;
	padding: 8px 18px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--primaria) !important;
	background: var(--branco);
	transition: background .2s, color .2s;
}
.rodape__botao:hover { color: var(--branco) !important; background: var(--vermelho); }

.rodape__titulo {
	position: relative;
	margin: 0 0 18px;
	padding-bottom: 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--branco);
}
.rodape__titulo::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 28px;
	height: 2px;
	background: var(--vermelho);
}

.rodape__lista,
.rodape__lista .sub-menu { list-style: none; margin: 0; padding: 0; }
.rodape__lista li { margin-bottom: 8px; line-height: 1.4; }
.rodape__lista a { color: rgba(255, 255, 255, .8); }
.rodape__lista a:hover { color: var(--branco); }
.rodape__lista .sub-menu { margin: 8px 0 0; }

.rodape__social { list-style: none; display: flex; gap: 12px; margin: 0; padding: 0; }
.rodape__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 50%;
	color: var(--branco);
	transition: background .2s, border-color .2s;
}
.rodape__social a:hover { color: var(--branco); background: var(--vermelho); border-color: var(--vermelho); }
.rodape__social svg { width: 17px; height: 17px; fill: currentColor; }

.rodape__base {
	padding-top: 22px;
	padding-bottom: 22px;
	border-top: 1px solid rgba(255, 255, 255, .15);
	font-size: 13px;
	color: rgba(255, 255, 255, .6);
}
.rodape__base p { margin: 0; }

/* ---------- Tablet (até 1024px) ---------- */

@media (max-width: 1024px) {
	.rodape__colunas { grid-template-columns: 1fr 1fr 1fr; }
	.rodape__coluna--contato { grid-column: 1 / -1; }

	.menu-principal { position: static; }

	.menu-principal__botao {
		display: block;
		padding: 0;
		border: 0;
		font-size: 25px;
		color: var(--secundaria);
		background: var(--fundo);
		cursor: pointer;
	}
	.menu-principal__botao .icone--fechar { display: none; }
	.menu-principal__botao[aria-expanded="true"] .icone--abrir { display: none; }
	.menu-principal__botao[aria-expanded="true"] .icone--fechar { display: block; }

	.cabecalho__principal { position: relative; }

	.menu-principal__lista {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 60;
		flex-direction: column;
		background: var(--vermelho);
	}
	.menu-principal.aberto .menu-principal__lista { display: flex; }

	.menu-principal__lista > li { margin: 0; }
	.menu-principal__lista a,
	.menu-principal__lista > li > a { padding: 10px 20px; color: var(--branco); }
	.menu-principal__lista > li > a::after { display: none; }
	.menu-principal__lista > li > a:hover { color: var(--branco); }

	.menu-principal__lista .sub-menu {
		position: static;
		display: none;
		min-width: 0;
		opacity: 1;
		visibility: visible;
		background: rgba(0, 0, 0, .08);
	}
	.menu-principal__lista .sub-menu a { padding-left: 40px; }
	.menu-principal__lista li.submenu-aberto > .sub-menu { display: block; }

	.menu-principal__lista .menu-item-has-children { position: relative; }
	.menu-principal__lista .submenu-alternar {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 50px;
		height: 44px;
		padding: 0;
		border: 0;
		font-size: 25px;
		font-weight: 900;
		line-height: 44px;
		color: inherit;
		background: none;
		cursor: pointer;
	}
}

/* ---------- Celular (até 767px) ---------- */

@media (max-width: 767px) {
	.cabecalho__faixa { padding: 0 16px; }

	.cabecalho__principal { padding: 10px 16px; }
	.cabecalho__linha { min-height: 85px; padding: 0; }
	.cabecalho__logo { flex: 0 0 auto; }
	.cabecalho__logo img { width: 190px; }

	/* no celular o menu aberto é cinza-claro com texto verde (widget 5082c69) */
	.menu-principal__lista { background: var(--fundo); min-height: 100vh; }
	.menu-principal__lista a,
	.menu-principal__lista > li > a,
	.menu-principal__lista .submenu-alternar { color: var(--primaria); }
	.menu-principal__lista > li > a:hover,
	.menu-principal__lista .sub-menu a:hover { color: var(--vermelho); background: none; }
	.menu-principal__lista .sub-menu { background: none; }
	.menu-principal__lista > li { margin-bottom: 7px; }

	.busca { flex: 0 0 auto; margin-left: 15px; }
	.busca__campo { font-size: 28px; }

	.rodape { padding: 60px 16px 0; }
	.rodape__colunas { grid-template-columns: 1fr; gap: 40px; text-align: center; padding-bottom: 40px; }
	.rodape__coluna--mapa { display: none; }
	.rodape__titulo::after { left: 50%; transform: translateX(-50%); }
	.rodape__social { justify-content: center; }
	.rodape__base { text-align: center; padding-left: 16px; padding-right: 16px; }

	.pagina { padding: 40px 16px 60px; }
}

/* ==========================================================================
   Fase 3 – páginas individuais
   ========================================================================== */

.container--largo { max-width: 1320px; }
.container--medio { max-width: 900px; }
.container--estreito { max-width: 750px; }

.texto-grande { font-size: 18px; color: var(--primaria); }
.texto-grande img { height: auto; }
.links-vermelhos a { color: var(--vermelho); }
.links-vermelhos a:hover { color: var(--primaria); }

.secao-titulo {
	margin: 0 0 20px;
	padding-bottom: 10px;
	font-family: var(--serif);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--primaria);
}

.botao--bloco { display: block; text-align: center; padding: 7px 15px; }

.pagina__titulo--medio { font-size: clamp(34px, 5vw, 42px); }

.video { position: relative; padding-top: 56.25%; margin: 20px 0; }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- Perfil (acadêmico e memória viva) ---------- */

.perfil {
	display: flex;
	align-items: flex-start;
	margin-top: 50px;
	margin-bottom: 50px;
}

.perfil__lateral {
	flex: 0 0 28%;
	position: sticky;
	top: 20px;
	padding: 20px 20px 40px;
	background: var(--fundo);
	text-align: center;
}

.perfil__foto {
	display: block;
	width: 100%;
	height: 350px;
	margin: 0 0 30px;
	object-fit: cover;
	object-position: center top;
}

.perfil__nome {
	margin: 0 0 10px;
	font-family: var(--serif);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--primaria);
}

.perfil__ingresso {
	margin: 0 0 0 5px;
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--primaria);
}

.perfil__lateral .botao--bloco { margin-top: 20px; }

.perfil__cadeira {
	margin: 50px 0 0;
	font-family: var(--serif);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--primaria);
}

.perfil__divisor {
	width: 30%;
	margin: 15px auto;
	border: 0;
	border-top: 1px solid var(--primaria);
}

.perfil__vinculos {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	font-size: 12px;
	color: var(--primaria);
}
.perfil__vinculos li { margin-bottom: 6px; }
.perfil__vinculos a { font-weight: 400; text-decoration: none; }
.perfil__vinculos a:hover { color: var(--vermelho); }

.perfil__principal { flex: 1 1 auto; min-width: 0; padding: 30px 30px 30px 50px; }

.perfil__resumo {
	margin: 0 0 50px;
	font-size: 18px;
	color: var(--primaria);
}
.perfil__resumo > *:first-child { margin-top: 0; }

.perfil__secao { margin-bottom: 50px; }

/* depoimentos (memória viva) */
.depoimento { margin: 0 0 30px; padding: 0 0 30px; border-bottom: 2px solid var(--destaque); }
.depoimento cite { display: block; text-align: right; font-size: 14px; font-style: normal; font-weight: 700; }

/* ---------- Item de publicação ---------- */

.lista-publicacoes .item-publicacao:nth-child(n+11) { display: none; }
.lista-publicacoes.mostrar-todas .item-publicacao { display: flex; }
.lista-publicacoes__mais { margin-top: 20px; }

.item-publicacao {
	display: flex;
	align-items: flex-start;
	padding: 15px 40px;
}
.item-publicacao:nth-child(odd) { background: var(--fundo); }

.item-publicacao__imagem { flex: 0 0 90px; }
.item-publicacao__imagem img { display: block; width: 100%; height: auto; max-height: 130px; object-fit: contain; }

.item-publicacao__texto { flex: 1 1 auto; padding: 10px 0 0 20px; }

.item-publicacao__meta { margin: 0; font-size: 12px; color: var(--primaria); }
.item-publicacao__data { margin-right: 5px; font-weight: 700; }
.item-publicacao__tipo { text-transform: uppercase; }

.item-publicacao__autor { margin: 0; font-size: 14px; font-weight: 700; }

.item-publicacao__titulo {
	margin: 10px 0 0;
	font-family: var(--serif);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25em;
}
.item-publicacao__titulo a { text-decoration: none; }

/* ---------- Evento ---------- */

.evento-capa {
	height: 300px;
	background-color: var(--primaria);
	background-position: center;
	background-size: cover;
}

.evento-inscricao__linha {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-top: 20px;
	padding-bottom: 20px;
	background: var(--primaria);
}

.evento-inscricao__texto {
	margin: 0;
	font-family: var(--serif);
	font-size: 32px;
	font-weight: 700;
	color: var(--branco);
}

.evento-inscricao .botao { padding: 7px 15px; margin-right: 20px; }

.evento { padding-top: 50px; padding-bottom: 50px; }
.evento__secao { margin-bottom: 50px; }

.programacao__dia { margin: 30px 0 10px; font-size: 18px; color: var(--primaria); }
.programacao__item { margin-bottom: 20px; color: var(--primaria); }
.programacao__item p { margin: 0 0 4px; }

.palestrante { display: flex; margin-bottom: 20px; background: var(--fundo); }
.palestrante__texto { flex: 0 0 60%; padding: 0 20px; min-height: 325px; color: var(--primaria); }
.palestrante__foto { flex: 0 0 40%; min-height: 325px; background-position: center; background-size: cover; }

/* ---------- Publicação / Ato ---------- */

.publicacao { padding-top: 50px; padding-bottom: 80px; }

.publicacao__autor {
	margin: 0 0 10px;
	font-family: var(--serif);
	font-size: 22px;
	font-weight: 700;
}
.publicacao__autor a { text-decoration: none; }

.publicacao__titulo {
	margin: 0 0 20px;
	font-family: var(--serif);
	font-size: clamp(28px, 5vw, 54px);
	font-weight: 700;
	line-height: 1.2;
	color: var(--primaria);
}

.publicacao__data { font-size: 14px; }
.publicacao__acao { margin-top: 30px; text-align: center; }

/* ---------- Notícia ---------- */

.noticia { padding-top: 50px; }

.noticia__titulo {
	margin: 0 0 50px;
	font-family: var(--serif);
	font-size: clamp(30px, 4vw, 42px);
	font-weight: 700;
	line-height: 1.2;
	color: var(--primaria);
}

.noticia__meta {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 20px;
}

.noticia__autor { margin: 0; font-size: 14px; font-weight: 700; }
.noticia__data { margin: 0; font-size: 12px; color: var(--primaria); }
.noticia__categorias { text-transform: uppercase; }

.compartilhar { display: flex; align-items: center; gap: 8px; }
.compartilhar__rotulo { margin-right: 2px; font-size: 12px; color: var(--primaria); }
.compartilhar__botao img { display: block; width: 25px; height: 25px; }

.noticia__corpo { margin-top: 20px; }
.noticia__imagem { margin: 0 0 30px; }
.noticia__imagem img { display: block; width: 100%; }

.noticia__aviso { margin-top: 30px; margin-bottom: 50px; text-align: center; }

.relacionadas { margin-bottom: 80px; }

/* ---------- Grade de notícias ---------- */

.grade-noticias { display: grid; gap: 30px; }
.grade-noticias--2 { grid-template-columns: repeat(2, 1fr); }
.grade-noticias--3 { grid-template-columns: repeat(3, 1fr); }

.card-noticia__imagem img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.card-noticia__data { margin: 15px 0 5px; font-size: 12px; font-weight: 700; color: var(--primaria); }
.card-noticia__titulo { margin: 0 0 10px; font-family: var(--serif); font-size: 18px; font-weight: 700; line-height: 1.25; }
.card-noticia__titulo a { text-decoration: none; }
.card-noticia__resumo { margin: 0; font-size: 14px; }

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

@media (max-width: 767px) {
	.perfil { flex-direction: column; margin: 30px 0; }
	.perfil__lateral,
	.perfil__principal { flex: none; width: 100%; }
	.perfil__lateral { position: static; padding: 30px 16px; }
	.perfil__foto { width: 80%; height: 320px; margin: 0 auto 30px; }
	.perfil__principal { padding: 50px 16px; }

	.item-publicacao { padding: 15px 10px; }
	.item-publicacao__imagem { flex-basis: 64px; }
	.item-publicacao__texto { padding: 0 0 0 12px; }

	.evento-inscricao__linha { flex-direction: column; align-items: flex-start; }
	.evento-inscricao__texto { font-size: 26px; }
	.evento, .publicacao, .noticia, .noticia__corpo, .relacionadas { padding-left: 16px; padding-right: 16px; }
	.palestrante { flex-direction: column-reverse; }
	.palestrante__texto, .palestrante__foto { flex: none; min-height: 0; }
	.palestrante__foto { height: 280px; }
	.palestrante__texto { padding: 10px 16px 20px; }

	.publicacao__autor { font-size: 14px; }

	.noticia__meta { flex-direction: column; align-items: flex-start; }

	.grade-noticias--2,
	.grade-noticias--3 { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Fase 4 – página inicial
   ========================================================================== */

.container--centro { text-align: center; }

.divisor { width: 20%; margin: 0 auto 40px; border: 0; border-top: 2px solid var(--vermelho); }
.divisor--branco { border-top-color: var(--branco); }

.home-secao { padding: 80px 0; }

.home-titulo {
	margin: 0 0 30px;
	font-family: var(--serif);
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	color: var(--primaria);
}

.home-titulo-grande {
	margin: 0 0 20px;
	font-family: var(--serif);
	font-size: clamp(36px, 5vw, 54px);
	font-weight: 700;
	line-height: 1.2;
	color: var(--primaria);
}
.home-titulo-grande--branco { color: var(--branco); }

/* quem somos */
.home-quem-somos { padding: 0 0 50px; background: #223C42; }
.home-quem-somos__foto { margin: 0; }
.home-quem-somos__foto img { display: block; width: 100%; }
.home-quem-somos__foto figcaption { margin-top: 10px; font-size: 14px; text-align: right; }
.home-quem-somos__texto { color: var(--branco); }

/* podcast e entrevistas */
.home-podcast__player { width: 100%; max-width: 780px; border: 0; border-radius: 12px; }
.home-entrevistas__videos { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.home-entrevistas__videos .video { margin: 0; }

/* destaques (conteúdo editável da página inicial) */
.home-destaques .container > * { margin-left: auto; margin-right: auto; }
.home-destaques img { max-width: 780px; width: 100%; height: auto; }
.home-destaques .wp-block-buttons { justify-content: center; }

/* atalhos: eventos, publicações, notícias */
.home-atalhos { padding: 120px 0 119px; background: var(--fundo); }
.home-atalhos__grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.home-atalho { text-align: center; color: var(--primaria); }
.home-atalho__icone { width: 50%; max-width: 160px; height: auto; margin: 0 auto 30px; display: block; }
.home-atalho__titulo { margin: 0 0 10px; font-family: var(--sans); font-size: 20px; font-weight: 400; color: var(--primaria); }
.home-atalho__texto { margin: 0 0 20px; font-size: 16px; color: var(--texto); }
.home-atalho__botao { font-size: 20px; font-weight: 700; text-decoration: none; padding: 7px 15px; color: var(--primaria); }
.home-atalho__botao:hover { color: var(--vermelho); }

/* mailing */
.home-mailing__grade { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.home-mailing__titulo { margin: 0; font-family: var(--serif); font-size: clamp(28px, 4vw, 42px); font-weight: 700; line-height: 1.2; color: var(--primaria); }

.mailing { color: var(--primaria); }
.mailing__titulo { margin: 0 0 10px; font-family: var(--serif); font-size: 24px; font-weight: 700; }
.mailing__texto { margin: 0 0 20px; }
.mailing__campo { display: block; margin-bottom: 15px; }
.mailing__campo span { display: block; margin-bottom: 4px; font-weight: 600; }
.mailing__campo input {
	width: 100%;
	padding: 10px;
	border: 1px solid var(--destaque);
	font: inherit;
	color: var(--primaria);
}
.mailing__campo input:focus { outline: 2px solid var(--primaria); outline-offset: -1px; }
.obrigatorio { color: var(--vermelho); }
.mailing__armadilha { position: absolute; left: -5000px; }
.mailing__acao { margin-top: 20px; }
.mailing .botao { padding: 10px 25px; border: 0; cursor: pointer; }

.modal-mailing {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, .65);
}
.modal-mailing[hidden] { display: none; }
.modal-mailing__caixa { width: 90%; max-width: 420px; padding: 35px 25px; text-align: center; background: var(--branco); color: #444; }
.modal-mailing__titulo { margin: 0 0 15px; font-size: 22px; font-weight: 700; color: #28A745; }

/* memória viva */
.home-memoria {
	padding: 120px 0;
	background: var(--vermelho) url(/wp-content/uploads/2021/04/imagem_memoria-viva-scaled.jpg) center / cover no-repeat;
}
.home-memoria__subtitulo {
	max-width: 720px;
	margin: 0 auto 20px;
	font-family: var(--serif);
	font-size: clamp(22px, 3vw, 32px);
	font-weight: 700;
	line-height: 1.25;
	color: var(--branco);
}
.video--memoria { max-width: 720px; margin: 0 auto 30px; }

.botao--branco { color: var(--vermelho); background: var(--branco); }
.botao--branco:hover { color: var(--branco); background: var(--primaria); }
.botao--branco-verde { color: var(--primaria); background: var(--branco); padding: 5px 12px; }
.botao--branco-verde:hover { color: var(--branco); background: var(--vermelho); }

/* mural de acadêmicos */
.home-academicos { padding: 120px 0; background: var(--fundo); }
.mural-academicos { display: grid; grid-template-columns: repeat(20, 1fr); margin-bottom: 60px; }
.mural-academicos__item { display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--destaque); }
.mural-academicos__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s, filter .3s; }
.mural-academicos__item:hover img { transform: scale(1.08); filter: brightness(1.1); }

/* acompanhe */
.home-acompanhe { background: var(--primaria); color: var(--branco); }
.home-acompanhe__grade { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.home-acompanhe__texto { padding: 40px 70px; }
.home-acompanhe__rotulo { margin: 0 0 20px; font-size: 20px; font-weight: 300; text-transform: uppercase; }
.home-acompanhe__redes { list-style: none; display: flex; gap: 35px; margin: 0 0 45px; padding: 0; }
.home-acompanhe__redes img { display: block; width: 56px; height: 56px; transition: opacity .2s; }
.home-acompanhe__redes a:hover img { opacity: .7; }
.home-acompanhe__rotulo + .botao { margin-top: 10px; }
.home-acompanhe__video .video { margin: 0; }

/* parceiros */
.home-parceiros__logos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; align-items: center; }
.home-parceiros__logos img { display: block; max-width: 100%; height: auto; margin: 0 auto; }

@media (max-width: 1024px) {
	.mural-academicos { grid-template-columns: repeat(10, 1fr); }
	.home-acompanhe__texto { padding: 40px; }
}

@media (max-width: 767px) {
	.home-secao { padding: 60px 16px; }
	.home-quem-somos { padding: 0 16px 40px; }
	.home-entrevistas__videos,
	.home-mailing__grade,
	.home-acompanhe__grade { grid-template-columns: 1fr; }
	.home-mailing__grade { gap: 30px; }
	.home-atalhos { padding: 60px 16px; }
	.home-atalhos__grade { grid-template-columns: 1fr; gap: 50px; }
	.home-memoria,
	.home-academicos { padding: 90px 16px; }
	.divisor { width: 75%; }
	.home-acompanhe__texto { padding: 20px 16px 50px; text-align: center; }
	.home-acompanhe__redes { justify-content: center; gap: 25px; }
	.home-acompanhe__redes img { width: 45px; height: 45px; }
	.home-parceiros__logos { grid-template-columns: repeat(2, 1fr); }
}

/* ==========================================================================
   Fase 4 – A Academia e grades de acadêmicos
   ========================================================================== */

.academia { padding-top: 60px; padding-bottom: 40px; }
.academia-secao { margin-bottom: 80px; }

.academia-secao__topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.academia-secao__titulo { flex: 1 1 auto; }
.academia-secao__titulo h2 {
	margin: 0 0 10px;
	font-family: var(--serif);
	font-size: clamp(34px, 4vw, 42px);
	font-weight: 700;
	line-height: 1.2;
	color: var(--primaria);
}
.academia-secao__titulo hr { margin: 0; border: 0; border-top: 1px solid var(--destaque); }

.filtro-gestao {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 8px 8px 15px;
	background: var(--vermelho);
	color: var(--branco);
	white-space: nowrap;
}
.filtro-gestao select {
	padding: 10px 20px 10px 10px;
	border: 0;
	border-radius: 0;
	font-family: var(--sans);
	font-size: 15px;
	color: var(--primaria);
	background: var(--branco);
	cursor: pointer;
}

.academia-secao__texto { max-width: 80%; margin: 0 0 30px; font-size: 20px; color: var(--primaria); }

.grade-academicos { display: grid; grid-template-columns: repeat(6, 1fr); gap: 30px 20px; }

.card-academico { text-align: center; }
.card-academico[hidden] { display: none; }
.card-academico__foto { display: block; height: 225px; overflow: hidden; background: var(--fundo); }
.card-academico__foto img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .3s; }
.card-academico:hover .card-academico__foto img { transform: scale(1.05); }
.card-academico__nome { margin: 10px 0 2px; font-family: var(--sans); font-size: 16px; font-weight: 400; line-height: 1.3; }
.card-academico__nome a { color: #000; text-decoration: none; }
.card-academico__nome a:hover { color: var(--vermelho); }
.card-academico__cargo { margin: 0; font-size: 12px; color: var(--texto); }
.card-academico__cargo:empty { display: none; }

@media (max-width: 1024px) {
	.grade-academicos { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 767px) {
	.academia { padding-left: 16px; padding-right: 16px; }
	.academia-secao__topo { flex-direction: column; align-items: stretch; }
	.filtro-gestao { justify-content: space-between; background: var(--fundo); color: var(--primaria); font-size: 12px; }
	.filtro-gestao select { padding: 7px 14px 7px 7px; font-size: 12px; }
	.academia-secao__texto { max-width: none; font-size: 18px; }
	.grade-academicos { grid-template-columns: repeat(3, 1fr); gap: 20px 10px; }
	.card-academico__foto { height: 140px; }
	.card-academico__nome { font-size: 13px; }
}

/* ==========================================================================
   Fase 4 – listagens, memória viva e contato
   ========================================================================== */

.listagem { padding-top: 60px; padding-bottom: 80px; }
.listagem__coluna--estreita { max-width: 750px; margin: 0 auto; }
.listagem__coluna--media { max-width: 900px; margin: 0 auto; }
.listagem__vazio { color: var(--primaria); }

.titulo-listagem {
	margin: 0 0 30px;
	font-family: var(--serif);
	font-size: clamp(34px, 4vw, 42px);
	font-weight: 700;
	line-height: 1.2;
	color: var(--primaria);
}

/* submenu em abas (acadêmicos, eventos) */
.faixa-submenu { padding: 20px 0; background: var(--fundo); }
.submenu__lista { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 0 0 30px; padding: 0; }
.faixa-submenu .submenu__lista { margin: 0; }
.submenu__lista a {
	display: block;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--primaria);
	background: var(--branco);
	transition: background .2s, color .2s;
}
.listagem .submenu__lista a { background: var(--fundo); }
.submenu__lista a:hover,
.submenu__lista .current-menu-item > a { color: var(--branco); background: var(--vermelho) !important; }

/* mural no topo das páginas de acadêmicos */
.mural-topo { padding: 40px 0; background: var(--primaria); }
.mural-topo__grade { display: grid; grid-template-columns: repeat(20, 1fr); padding: 0; }
.mural-topo__item { display: block; aspect-ratio: 3 / 4; overflow: hidden; }
.mural-topo__item img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.mural-topo__item--vago { background: rgba(255, 255, 255, .06); }
.mural-academicos__item--vago { background: var(--destaque); opacity: .5; }

/* eventos */
.card-evento { display: flex; gap: 30px; min-height: 280px; padding: 25px 0; border-bottom: 1px solid var(--fundo); }
.card-evento__texto { flex: 0 0 60%; }
.card-evento__imagem { flex: 1 1 auto; }
.card-evento__imagem img { display: block; width: 100%; height: auto; }
.card-evento__data { margin: 0 0 5px; font-size: 12px; font-weight: 700; color: var(--primaria); }
.card-evento__titulo { margin: 0 0 20px; font-family: var(--serif); font-size: 30px; font-weight: 700; line-height: 1.2; }
.card-evento__titulo a { text-decoration: none; }
.botao--verde { padding: 7px 50px; background: var(--primaria); }
.botao--verde:hover { background: var(--vermelho); }

/* publicações */
.filtro-abas { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 30px; }
.filtro-abas a {
	padding: 6px 14px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	color: var(--primaria);
	background: var(--fundo);
}
.filtro-abas a:hover,
.filtro-abas a.ativo { color: var(--branco); background: var(--vermelho); }

.grade-publicacoes { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; margin-bottom: 30px; }
.grade-publicacoes .item-publicacao { padding: 15px 0; background: none; border-bottom: 1px solid var(--fundo); }
.lista-simples .item-publicacao { padding-left: 0; padding-right: 0; background: none; border-bottom: 1px solid var(--fundo); }

/* notícias */
.item-noticia { display: flex; gap: 30px; padding: 25px 0; border-bottom: 1px solid var(--fundo); }
.item-noticia__texto { flex: 0 0 70%; }
.item-noticia__imagem { position: relative; flex: 1 1 auto; }
.item-noticia__imagem img:not(.item-noticia__play) { display: block; width: 100%; height: auto; }
.item-noticia__play { position: absolute; top: 8px; right: 8px; width: 30px; height: 30px; border-radius: 50%; background: var(--branco); }
.item-noticia__meta { margin: 0; font-size: 12px; color: var(--primaria); }
.item-noticia__categorias { text-transform: uppercase; }
.item-noticia__titulo { margin: 15px 0 0; font-family: var(--serif); font-size: 20px; font-weight: 700; line-height: 1.25em; }
.item-noticia__titulo a { text-decoration: none; }
.item-noticia__resumo { margin: 15px 0 0; line-height: 1.5em; color: var(--primaria); }

/* memória viva */
.memoria-topo { background: var(--vermelho) url(/wp-content/uploads/2021/04/imagem_memoria-viva-scaled.jpg) center / cover no-repeat; }
.memoria-topo__titulo {
	max-width: 85%;
	margin: 75px 0;
	font-family: var(--serif);
	font-size: clamp(35px, 5vw, 54px);
	font-weight: 700;
	line-height: 1.25em;
	color: var(--branco);
}
.memoria-intro { max-width: 900px; margin: 0 0 60px; font-size: 18px; color: var(--primaria); }
.memoria-bloco { margin-bottom: 70px; }
.memoria-livros { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 750px; }
.memoria-livro__capa { display: block; width: 75%; height: auto; margin-bottom: 15px; }
.memoria-livro__titulo { margin: 0 0 20px; font-family: var(--serif); font-size: 18px; font-weight: 700; color: var(--primaria); }

/* contato */
.contato-intro { margin: 0 0 30px; font-size: 18px; color: var(--primaria); }
.contato-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.contato p { margin: 0 0 15px; }
.contato input,
.contato textarea {
	width: 100%;
	padding: 12px;
	border: 1px solid var(--destaque);
	font: inherit;
	color: var(--primaria);
	background: var(--branco);
}
.contato textarea { height: 250px; resize: vertical; }
.contato input::placeholder,
.contato textarea::placeholder { color: var(--texto); }
.contato .botao { padding: 10px 30px; border: 0; cursor: pointer; }
.contato__armadilha { position: absolute; left: -5000px; }
.contato-aviso { margin-bottom: 20px; padding: 15px 20px; color: var(--branco); }
.contato-aviso--ok { background: var(--primaria); }
.contato-aviso--erro { background: var(--vermelho); }
.contato-info { color: var(--primaria); }
.contato-info__email a { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.contato-info__email svg { width: 20px; height: 20px; fill: currentColor; }
.contato-info__mapa { width: 100%; height: 350px; margin-top: 10px; border: 0; }

@media (max-width: 1024px) {
	.mural-topo { grid-template-columns: repeat(10, 1fr); }
}

@media (max-width: 767px) {
	.listagem { padding: 40px 16px 60px; }
	.mural-topo { padding: 20px 16px; }
	.submenu__lista { gap: 6px; }
	.submenu__lista a { padding: 8px 12px; font-size: 12px; }
	.card-evento,
	.item-noticia { flex-direction: column-reverse; gap: 15px; }
	.card-evento__titulo { font-size: 26px; }
	.grade-publicacoes,
	.memoria-livros,
	.contato-grade { grid-template-columns: 1fr; }
	.memoria-topo { padding: 0 16px; }
}

/* ordenação e carregamento contínuo */
.listagem__topo { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 30px; margin-bottom: 30px; }
.listagem__topo .titulo-listagem { margin: 0; }
.ordenacao { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--primaria); }
.ordenacao a { padding: 6px 14px; font-weight: 700; text-decoration: none; color: var(--primaria); background: var(--fundo); }
.ordenacao a:hover,
.ordenacao a.ativo { color: var(--branco); background: var(--vermelho); }

.card-academico__cadeira { margin: 10px 0 0; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--vermelho); }
.card-academico__cadeira + .card-academico__nome { margin-top: 2px; }

.carregando { margin: 30px 0; text-align: center; font-size: 14px; color: var(--texto); visibility: hidden; }
.carregando--ativo { visibility: visible; }

.memoria-videos__grade { display: grid; grid-template-columns: 3fr 2fr; gap: 40px; align-items: center; }
.memoria-videos__grade .video { margin: 0; }
.memoria-videos__texto { font-size: 18px; color: var(--primaria); }
@media (max-width: 767px) {
	.memoria-videos__grade { grid-template-columns: 1fr; gap: 20px; }
}
