/*
Theme Name: HP Academia de Eneagrama
Author: HP Academia de Eneagrama
Description: Tema de blocos do site hpeneagrama.pt, a partir das maquetas validadas.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: hp-eneagrama
*/

:root {
	--hp-tipo: #1569A6;
	--hp-tipo-claro: #E4F4F6;
	--hp-tipo-texto: #1569A6;
}

/* Foco visível em tudo o que se pode ativar */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid #2BBBD8;
	outline-offset: 2px;
	border-radius: 4px;
}

.hp-ligacao-saltar {
	position: absolute; left: -9999px; top: 8px; z-index: 100;
	background: #0F2A44; color: #fff; padding: 10px 16px; border-radius: 8px;
}
.hp-ligacao-saltar:focus { left: 8px; }

/* Cabeçalho */
.hp-cabecalho { border-bottom: 1px solid var(--wp--preset--color--linha); }
.hp-marca { display: flex; align-items: center; gap: 12px; text-decoration: none; color: #0F2A44; }
.hp-marca__nome { display: flex; flex-direction: column; line-height: 1.15; }
.hp-marca__nome strong { font-weight: 600; font-size: 17px; color: #1569A6; }
.hp-marca__nome span { font-size: 14px; color: #4E6275; }
.hp-cabecalho .wp-block-navigation { font-size: 15px; }
.hp-cabecalho .wp-block-navigation a { color: #0F2A44; }
.hp-cabecalho .wp-block-navigation .current-menu-item > a { color: #1569A6; }
.hp-botao-menu a,
.hp-cabecalho .wp-block-navigation .hp-botao-menu a {
	background: #F2876B; color: #0F2A44; padding: 10px 18px; border-radius: 999px; font-weight: 600; text-decoration: none;
}

/* Rodapé */
.hp-rodape a { color: #D6E6F2; }

/* Botões secundários (contorno) */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; border: 1px solid currentColor; padding: 14px 24px;
}
.hp-sobre-escuro .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: #4F7394; }

/* Textos de leitura */
.hp-serif { font-family: var(--wp--preset--font-family--source-serif); }

/* Roda do Eneagrama */
.hp-roda { position: relative; width: 100%; max-width: 440px; aspect-ratio: 1; margin-inline: auto; }
.hp-roda__svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.hp-roda__ponto {
	position: absolute; transform: translate(-50%, -50%);
	width: 48px; height: 48px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: #fff; color: #0F2A44; border: 2px solid #fff;
	font-weight: 600; font-size: 19px; text-decoration: none;
}
.hp-roda__ponto:hover { background: #F2876B; color: #0F2A44; }

/* Círculo com o número do tipo */
.hp-circulo {
	flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	color: #fff; font-weight: 600; font-size: 21px;
}

/* Grelha dos nove tipos */
.hp-tipos-grelha { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.hp-tipo-cartao {
	background: #fff; border-radius: 16px; padding: 22px; text-decoration: none; color: #0F2A44;
	display: flex; gap: 16px; align-items: flex-start;
}
.hp-tipo-cartao > span:last-child { display: flex; flex-direction: column; gap: 6px; }
.hp-tipo-cartao__nome { font-weight: 600; font-size: 17px; }
.hp-tipo-cartao__foco { font-size: 14px; line-height: 1.5; color: #4E6275; }
.hp-tipo-cartao:hover { color: #0F2A44; box-shadow: 0 0 0 2px #D7E3EC; }

/* Ligações por tipo nas listas */
.hp-chips-tipo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.hp-chips-tipo > span { font-size: 14px; color: #C9DDEC; margin-right: 6px; }
.hp-chips-tipo a {
	width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	text-decoration: none; font-weight: 600; font-size: 16px; color: #fff; border: 2px solid var(--c); background: transparent;
}
.hp-chips-tipo a:hover, .hp-chips-tipo a[aria-current] { background: var(--c); color: #fff; }

/* Cartões de artigo nas listas */
.hp-lista-artigos .wp-block-post {
	background: #F3F7FA; border-radius: 16px; overflow: hidden; border-top: 6px solid var(--hp-tipo);
	padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 8px;
}
.hp-lista-artigos .wp-block-post-title a { color: #0F2A44; text-decoration: none; }
.hp-lista-artigos .wp-block-post-title a:hover { color: #1569A6; }
.hp-lista-artigos .wp-block-post-terms { font-size: 13px; font-weight: 600; }
.hp-lista-artigos .wp-block-post-terms a { text-decoration: none; }

/* Paginação */
.wp-block-query-pagination { gap: 8px; margin-top: 32px; }
.wp-block-query-pagination-numbers { display: flex; gap: 8px; }
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-next,
.wp-block-query-pagination-previous {
	min-width: 40px; height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid #D7E3EC;
	display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: #0F2A44;
}
.wp-block-query-pagination .page-numbers.current { background: #0F2A44; border-color: #0F2A44; color: #fff; font-weight: 600; }
.wp-block-query-pagination .page-numbers.dots { border: 0; }

/* Pesquisa */
.hp-pesquisa .wp-block-search__label { font-size: 14px; color: #C9DDEC; font-weight: 400; }
.hp-pesquisa .wp-block-search__input {
	font: inherit; font-size: 17px; padding: 15px 18px; border: 0; border-radius: 14px; background: #fff; color: #0F2A44;
}
.hp-pesquisa .wp-block-search__inside-wrapper { border: 0; padding: 0; gap: 8px; }
.hp-pesquisa .wp-block-search__button { margin: 0; border-radius: 999px; }

/* Artigo */
.hp-artigo-topo { background: var(--hp-tipo-claro); }
.hp-artigo-topo, .hp-artigo-topo a { color: var(--hp-tipo-texto); }
.hp-artigo-topo h1 { color: #0F2A44; }
.hp-artigo-topo .wp-block-post-date { color: inherit; font-size: 14px; }
.hp-artigo-texto > p:first-child { font-size: 23px; line-height: 1.55; color: #0F2A44; }
.hp-etiquetas a {
	display: inline-block; font-size: 14px; text-decoration: none; padding: 7px 14px; border-radius: 999px;
	background: var(--hp-tipo-claro); color: var(--hp-tipo-texto);
}
.hp-etiquetas .wp-block-post-terms__separator { display: none; }
.hp-etiquetas { display: flex; flex-wrap: wrap; gap: 8px; }
.hp-partilhar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 14px; color: #4E6275; }
.hp-copiar {
	font: inherit; font-size: 14px; color: #1569A6; background: none; border: 1px solid #B9D0E2; border-radius: 999px; padding: 6px 12px; cursor: pointer;
}
.hp-cartao-tipo {
	background: var(--hp-tipo-claro); border-radius: 20px; padding: 22px; display: flex; flex-direction: column; gap: 10px; font-size: 15px;
}
.hp-cartao-tipo__topo { display: flex; align-items: center; gap: 12px; }
.hp-cartao-tipo__topo .hp-circulo { width: 44px; height: 44px; font-size: 20px; }
.hp-cartao-tipo__topo > span:last-child { display: flex; flex-direction: column; }
.hp-cartao-tipo__rotulo { font-size: 13px; color: #4E6275; }
.hp-cartao-tipo__nome { font-weight: 600; font-size: 17px; }

/* Relacionados */
.hp-relacionados { display: flex; flex-wrap: wrap; gap: 14px; }
.hp-relacionado {
	flex: 1 1 300px; min-width: 0; background: #fff; border-radius: 16px; padding: 22px 24px;
	text-decoration: none; color: #0F2A44; display: flex; flex-direction: column; gap: 8px;
}
.hp-relacionado__rotulo { font-size: 13px; color: #1569A6; font-weight: 500; }
.hp-relacionado__titulo { font-weight: 600; font-size: 19px; line-height: 1.3; }
.hp-relacionado__resumo { font-family: var(--wp--preset--font-family--source-serif); font-size: 16px; line-height: 1.55; color: #2E4A62; }

/* Cartões genéricos */
.hp-cartao { border-radius: 20px; }

/* Formulários */
.hp-form { background: #fff; border-radius: 20px; padding: 28px; display: flex; flex-direction: column; gap: 16px; font-size: 15px; color: #0F2A44; scroll-margin-top: 16px; }
.hp-form h3 { margin: 0; font-size: 22px; }
.hp-form__grelha { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.hp-form__largo { grid-column: 1 / -1; }
.hp-form__campo { display: flex; flex-direction: column; gap: 6px; }
.hp-form input[type="text"], .hp-form input[type="email"], .hp-form input[type="tel"], .hp-form select, .hp-form textarea,
.hp-newsletter input[type="email"] {
	font: inherit; font-size: 16px; padding: 12px 14px; border: 1px solid #B9D0E2; border-radius: 12px; background: #fff; color: #0F2A44; width: 100%;
}
.hp-form textarea { resize: vertical; font-family: var(--wp--preset--font-family--source-serif); }
.hp-form__check { display: flex; gap: 10px; align-items: flex-start; line-height: 1.45; font-size: 14px; }
.hp-form__check input { margin-top: 2px; width: 18px; height: 18px; flex: 0 0 auto; }
.hp-form__botao, .hp-newsletter button {
	font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; background: #F2876B; color: #0F2A44; border: 0; border-radius: 999px; padding: 14px 26px;
}
.hp-form__botao:hover { background: #EE7556; }
.hp-form__erro { margin: 0; background: #FBE4DE; color: #A3341F; border-radius: 12px; padding: 12px 16px; font-weight: 500; }
.hp-form--sucesso { background: #E4F4F6; }
.hp-form--sucesso p { margin: 0; font-size: 16px; }
.hp-form__sr { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Newsletter */
.hp-newsletter { background: #2BBBD8; color: #0F2A44; border-radius: 24px; padding: 40px 48px; display: flex; flex-wrap: wrap; align-items: center; gap: 24px 48px; scroll-margin-top: 16px; }
.hp-newsletter__texto { flex: 1 1 380px; display: flex; flex-direction: column; gap: 8px; }
.hp-newsletter__texto h2 { margin: 0; font-size: 26px; }
.hp-newsletter__texto p { margin: 0; font-size: 15px; }
.hp-newsletter__form { flex: 1 1 360px; display: flex; flex-direction: column; gap: 12px; font-size: 14px; }
.hp-newsletter__linha { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.hp-newsletter__linha label { flex: 1 1 220px; display: flex; flex-direction: column; gap: 6px; }
.hp-newsletter input[type="email"] { border: 0; }
.hp-newsletter button { background: #0F2A44; color: #fff; }
.hp-newsletter__msg { flex: 1 1 360px; margin: 0; font-size: 16px; font-weight: 500; }
@media (max-width: 600px) { .hp-newsletter { padding: 28px 22px; } }

/* Página de tipo */
.hp-tipo-barra { background: var(--hp-tipo-claro); border-bottom: 1px solid rgba(15,42,68,.08); }
.hp-tipo-barra__in { max-width: 1160px; margin: 0 auto; padding: 14px 24px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.hp-caminho { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--hp-tipo-texto); }
.hp-caminho a { color: var(--hp-tipo-texto); }
.hp-caminho span:last-child { color: #0F2A44; }
.hp-tipo-outros { display: flex; flex-wrap: wrap; gap: 6px; }
.hp-tipo-outros a, .hp-mini {
	width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	text-decoration: none; font-weight: 600; font-size: 14px; background: #fff; color: var(--c); border: 2px solid var(--c);
}
.hp-tipo-outros a:hover, .hp-tipo-outros a[aria-current], .hp-mini:hover { background: var(--c); color: #fff; }
.hp-tipo-heroi { background: var(--hp-tipo-claro); }
.hp-tipo-heroi__in { max-width: 1160px; margin: 0 auto; padding: 48px 24px 64px; display: flex; flex-wrap: wrap; align-items: center; gap: 32px 48px; }
.hp-tipo-heroi__in > div { flex: 1 1 420px; display: flex; flex-direction: column; gap: 14px; }
.hp-tipo-heroi__in h1 { margin: 0; }
.hp-tipo-heroi__in p { margin: 0; }
.hp-tipo-heroi__rotulo { color: var(--hp-tipo-texto); font-weight: 600; }
.hp-tipo-heroi .hp-serif { font-size: 20px; line-height: 1.6; color: #2E4A62; max-width: 720px; }
.hp-tipo-heroi__num {
	flex: 0 0 auto; width: 160px; height: 160px; border-radius: 50%; background: var(--hp-tipo); color: #fff;
	display: flex; align-items: center; justify-content: center; font-size: 84px; font-weight: 600; line-height: 1;
}
@media (max-width: 600px) { .hp-tipo-heroi__num { width: 96px; height: 96px; font-size: 52px; } }

.hp-ficha h2 { margin: 0 0 20px; }
.hp-ficha__grelha { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.hp-ficha__cel { background: #F3F7FA; border-radius: 16px; padding: 20px 22px; display: flex; flex-direction: column; gap: 6px; }
.hp-ficha__cel--largo { grid-column: 1 / -1; }
.hp-ficha__cel p { margin: 0; }
.hp-ficha__rot { font-size: 13px; font-weight: 600; color: var(--hp-tipo-texto); text-transform: uppercase; letter-spacing: .04em; }
.hp-ficha__val { font-size: 22px; font-weight: 600; display: flex; gap: 8px; align-items: center; }
.hp-ficha__texto { font-family: var(--wp--preset--font-family--source-serif); font-size: 19px; line-height: 1.55; color: #2E4A62; }
.hp-ficha__nota { font-size: 14px; color: #4E6275; }
.hp-ficha__subs { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-top: 4px; }
.hp-ficha__sub { background: #fff; border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.hp-ficha__sub span:first-child { font-size: 13px; color: #4E6275; }
.hp-ficha__sub span:last-child { font-weight: 600; }

.hp-filtro { display: flex; flex-direction: column; gap: 16px; margin-bottom: 8px; }
.hp-filtro h2 { margin: 0; }
.hp-filtro__temas { display: flex; flex-wrap: wrap; gap: 8px; }
.hp-filtro__temas a {
	font-size: 15px; padding: 9px 16px; border-radius: 999px; text-decoration: none; color: #0F2A44; background: #fff; border: 1px solid #D7E3EC;
}
.hp-filtro__temas a[aria-current] { background: var(--hp-tipo); border-color: var(--hp-tipo); color: #fff; }
.hp-lista-artigos .wp-block-post-excerpt__excerpt { margin: 0; }

/* Livros */
.hp-livro-destaque { display: flex; flex-wrap: wrap; align-items: center; gap: 40px 56px; }
.hp-livro-destaque__capa { flex: 0 1 300px; width: 300px; max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 18px 40px rgba(15,42,68,.25); }
.hp-livro-destaque__texto { flex: 1 1 420px; display: flex; flex-direction: column; gap: 16px; }
.hp-livro-destaque__texto p, .hp-livro-destaque__texto h1 { margin: 0; }
.hp-livro-destaque__rotulo { color: #A84A1E; font-weight: 600; }
.hp-livro-destaque__autor { color: #4E6275; font-size: 15px; }
.hp-livro-destaque .hp-serif { font-size: 19px; line-height: 1.65; color: #2E4A62; }
.hp-livro-destaque__dados { font-size: 14px; color: #4E6275; }
.hp-livro-destaque__acoes { display: flex; flex-wrap: wrap; gap: 12px; }
.hp-botao-coral, .hp-botao-contorno { display: inline-block; text-decoration: none; border-radius: 999px; padding: 14px 24px; font-weight: 600; font-size: 16px; }
.hp-botao-coral { background: #F2876B; color: #0F2A44; }
.hp-botao-coral:hover { background: #EE7556; color: #0F2A44; }
.hp-botao-contorno { border: 1px solid #0F2A44; color: #0F2A44; }
.hp-livros { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
.hp-livro { display: flex; gap: 18px; align-items: flex-start; background: #fff; border-radius: 16px; padding: 20px; text-decoration: none; color: #0F2A44; }
.hp-livro:hover { color: #0F2A44; box-shadow: 0 0 0 2px #D7E3EC; }
.hp-livro__capa { flex: 0 0 96px; width: 96px; height: auto; border-radius: 4px; box-shadow: 0 6px 14px rgba(15,42,68,.18); }
.hp-livro__texto { display: flex; flex-direction: column; gap: 8px; }
.hp-livro__titulo { font-weight: 600; font-size: 18px; line-height: 1.3; }
.hp-livro__resumo { font-family: var(--wp--preset--font-family--source-serif); font-size: 15px; line-height: 1.55; color: #2E4A62; }
.hp-livro__ler { font-size: 14px; font-weight: 500; color: #1569A6; }

/* ---------- Telemóvel ---------- */
/* Botão do teste sempre visível no cabeçalho em ecrãs pequenos (o menu completo fica no ícone) */
.hp-teste-movel { display: none; background: #F2876B; color: #0F2A44; text-decoration: none; font-weight: 600; font-size: 15px; padding: 9px 16px; border-radius: 999px; white-space: nowrap; }
@media (max-width: 599px) { .hp-teste-movel { display: inline-block; } }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { padding: 10px; margin: -10px; }

/* Menu aberto no telemóvel */
.hp-cabecalho .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px;
	/* Logótipo no topo + degradê turquesa claro → areia (cores do site) */
	background:
		url("assets/logo/hp-academia-160.png") no-repeat 24px 22px / 52px auto,
		linear-gradient(165deg, #E4F4F6 0%, #F3F7FA 45%, #FBF0E6 85%, #FDEBDB 100%) !important;
	overflow: hidden;
}
/* Símbolo do Eneagrama em marca de água, por trás das opções */
.hp-cabecalho .wp-block-navigation__responsive-container.is-menu-open::before {
	content: "";
	position: absolute;
	right: -32vw;
	bottom: -14vh;
	width: 110vw;
	height: 110vw;
	background: url("assets/eneagrama-fundo.svg") no-repeat center / contain;
	opacity: .09;
	pointer-events: none;
	z-index: 0;
}
.hp-cabecalho .is-menu-open .wp-block-navigation__responsive-close,
.hp-cabecalho .is-menu-open .wp-block-navigation__responsive-dialog { position: relative; z-index: 1; }
.hp-cabecalho .is-menu-open .wp-block-navigation-item { border-bottom-color: rgba(15, 42, 68, .12) !important; }
.hp-cabecalho .is-menu-open .wp-block-navigation-item:not(.hp-botao-menu) a:hover,
.hp-cabecalho .is-menu-open .wp-block-navigation-item:not(.hp-botao-menu) a:focus-visible { color: #1569A6; padding-left: 6px !important; transition: padding .15s ease, color .15s ease; }
.hp-cabecalho .is-menu-open .wp-block-navigation__responsive-container-close { background: rgba(255, 255, 255, .7); border-radius: 50%; }
@media (prefers-reduced-motion: reduce) { .hp-cabecalho .is-menu-open .wp-block-navigation-item a { transition: none !important; } }
.hp-cabecalho .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; padding-top: 48px; }
.hp-cabecalho .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 4px !important; width: 100%; }
.hp-cabecalho .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid #D7E3EC; }
.hp-cabecalho .is-menu-open .wp-block-navigation-item a { font-size: 22px; font-weight: 500; padding: 14px 0; display: block; width: 100%; }
.hp-cabecalho .is-menu-open .hp-botao-menu { border-bottom: 0; margin-top: 20px; }
.hp-cabecalho .is-menu-open .hp-botao-menu a { font-size: 18px; text-align: center; padding: 16px 24px; }

/* Paginação: quebra de linha em vez de sair do ecrã */
.wp-block-query-pagination, .wp-block-query-pagination-numbers { flex-wrap: wrap; row-gap: 8px; }

/* Ligações dos subtipos com área de toque maior */
.hp-ficha__sub a { display: block; padding: 4px 0; }
.hp-cabecalho .is-menu-open .wp-block-navigation-item .wp-block-navigation-item__content { padding: 14px 0 !important; }
.hp-cabecalho .is-menu-open .hp-botao-menu .wp-block-navigation-item__content { padding: 16px 24px !important; }
html { scroll-behavior: auto; }
.hp-cabecalho .is-menu-open .wp-block-navigation-item a { box-sizing: border-box; }
.hp-cabecalho .is-menu-open .hp-botao-menu { width: 100%; }
@media (max-width: 599px) {
	.hp-cabecalho .alignwide { flex-wrap: nowrap !important; }
	.hp-marca { gap: 10px; min-width: 0; }
	
	.hp-marca__nome strong { font-size: 15px; }
	.hp-marca__nome span { font-size: 13px; }
}
/* Palavras longas nos títulos (ex.: «autodesenvolvimento») partem com hífen em vez de sair do ecrã */
h1, h2, h3, .wp-block-post-title { overflow-wrap: break-word; }
.hp-livros { grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); }
.hp-tipos-grelha { grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr)); }
.hp-ficha__grelha, .hp-ficha__subs, .hp-form__grelha { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }

/* Logótipo */
.hp-marca img { width: 56px; height: 56px; flex: 0 0 auto; display: block; }
.hp-marca-branca { width: 88px; height: 88px; display: block; }
@media (max-width: 599px) { .hp-marca img { width: 44px; height: 44px; } }

/* Fotografias dos professores */
.hp-foto { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; display: block; border: 4px solid #fff; box-shadow: 0 4px 14px rgba(15,42,68,.12); }

/* Contraste: números dos tipos sobre branco usam o tom escuro de cada tipo (AA) */
.hp-tipo-outros a, .hp-mini { color: var(--t, var(--c)); border-color: var(--c); }
.hp-tipo-outros a:hover, .hp-tipo-outros a[aria-current], .hp-mini:hover { color: #fff; background: var(--t, var(--c)); border-color: var(--t, var(--c)); }

/* ---------- Melhorias de design (revisão de 9-11-2026) ---------- */
/* Grelha dos nove tipos: 3 × 3 em ecrãs largos */
@media (min-width: 900px) { .hp-tipos-grelha { grid-template-columns: repeat(3, 1fr); } }
/* Artigos recentes com imagem */
.hp-com-imagem .wp-block-post { padding-top: 0; }
.hp-com-imagem .hp-cartao-imagem { margin: 0 -22px 6px; }
.hp-com-imagem .hp-cartao-imagem img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Entrada do artigo também quando o texto começa por uma imagem */
.hp-artigo-texto > figure:first-child + p { font-size: 23px; line-height: 1.55; color: #0F2A44; }
.hp-artigo-texto figure img { border-radius: 12px; }
/* Coluna lateral do artigo acompanha a leitura */
@media (min-width: 782px) { .hp-coluna-lateral { position: sticky; top: 24px; align-self: flex-start; } }
/* Rodapé: ligações com espaço entre si */
.hp-rodape__ligacoes { display: flex; flex-wrap: wrap; gap: 8px 24px; }

/* ---------- Componentes descritivos ---------- */
.hp-tipo-cartao__frase { font-family: var(--wp--preset--font-family--source-serif); font-style: italic; font-size: 15px; color: #2E4A62; }
.hp-tres { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 16px; }
.hp-tres__item { background: #F3F7FA; border-radius: 20px; padding: 26px; display: flex; flex-direction: column; gap: 8px; }
.hp-tres__item h3 { margin: 0; font-size: 21px; }
.hp-tres__item p { margin: 0; font-family: var(--wp--preset--font-family--source-serif); font-size: 17px; line-height: 1.6; color: #2E4A62; }
.hp-tres__num { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg,#7BC48D,#2BBBD8 55%,#1569A6); color: #fff; font-weight: 600; display: flex; align-items: center; justify-content: center; }
.hp-passos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 16px; counter-reset: passo; }
.hp-passo { position: relative; background: #fff; border: 1px solid #D7E3EC; border-radius: 20px; padding: 28px 26px 26px; display: flex; flex-direction: column; gap: 10px; }
.hp-passo h3 { margin: 0; font-size: 21px; }
.hp-passo p { margin: 0; font-family: var(--wp--preset--font-family--source-serif); font-size: 17px; line-height: 1.6; color: #2E4A62; flex: 1; }
.hp-passo a { font-weight: 600; font-size: 15px; }
.hp-passo__num { width: 44px; height: 44px; border-radius: 50%; background: #0F2A44; color: #fff; font-weight: 600; font-size: 19px; display: flex; align-items: center; justify-content: center; }
.hp-passo--destaque { background: #F2876B; border-color: #F2876B; }
.hp-passo--destaque p { color: #0F2A44; }
.hp-passo--destaque a { align-self: flex-start; background: #0F2A44; color: #fff; text-decoration: none; padding: 12px 22px; border-radius: 999px; }
.hp-passo--destaque a:hover { color: #fff; }
.hp-comece { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 10px; }
.hp-comece a { display: block; background: #F3F7FA; border-radius: 12px; padding: 14px 18px; text-decoration: none; color: #0F2A44; font-weight: 500; }
.hp-comece a:hover { background: #E4F4F6; }
.hp-faq { background: #fff; border-radius: 14px; padding: 16px 20px; }
.hp-faq summary { cursor: pointer; font-weight: 600; font-size: 18px; }
.hp-faq p { margin: 10px 0 0; font-size: 17px; line-height: 1.6; color: #2E4A62; }
.hp-lista-etica li { margin-bottom: 8px; }
/* Página de tipo: camada humana */
.hp-humano { display: flex; flex-direction: column; gap: 18px; margin-bottom: 48px; }
.hp-humano h2 { margin: 0; }
.hp-humano__frase { margin: 0; border-left: 4px solid var(--hp-tipo); padding: 8px 0 8px 22px; }
.hp-humano__frase p { margin: 0; font-family: var(--wp--preset--font-family--source-serif); font-size: 26px; line-height: 1.4; color: #0F2A44; }
.hp-humano__frase cite { display: block; margin-top: 6px; font-style: normal; font-size: 14px; color: #4E6275; }
.hp-humano__grelha { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 14px; }
.hp-humano__cel { background: var(--hp-tipo-claro); border-radius: 16px; padding: 20px 22px; }
.hp-humano__cel h3 { margin: 0 0 6px; font-size: 15px; color: var(--hp-tipo-texto); }
.hp-humano__cel p { margin: 0; font-family: var(--wp--preset--font-family--source-serif); font-size: 18px; line-height: 1.55; color: #0F2A44; }
.hp-humano__fortes h3 { margin: 0 0 10px; font-size: 18px; }
.hp-humano__fortes ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.hp-humano__fortes li { background: #fff; border: 2px solid var(--hp-tipo); color: var(--hp-tipo-texto); border-radius: 999px; padding: 6px 14px; font-weight: 500; font-size: 15px; }
.hp-humano__nota { margin: 0; font-size: 14px; color: #4E6275; }
.hp-ficha__intro { margin: -8px 0 18px; color: #4E6275; }
/* Entrevista */
@media (min-width: 900px) { .hp-passos--quatro { grid-template-columns: repeat(4, 1fr); } }
.hp-info { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 14px; }
.hp-info__item { background: #F3F7FA; border-radius: 16px; padding: 20px 22px; }
.hp-info dt { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: #1569A6; margin-bottom: 6px; }
.hp-info dd { margin: 0; font-family: var(--wp--preset--font-family--source-serif); font-size: 18px; line-height: 1.5; }

/* Eventos */
.hp-eventos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); gap: 16px; }
.hp-evento { display: flex; gap: 16px; background: #fff; border: 1px solid #D7E3EC; border-radius: 20px; padding: 20px; }
.hp-evento--esgotado { opacity: .7; }
.hp-evento__data { flex: 0 0 64px; height: 72px; border-radius: 14px; background: #0F2A44; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; }
.hp-evento__data span:first-child { font-size: 26px; font-weight: 600; }
.hp-evento__data span:last-child { font-size: 13px; text-transform: uppercase; color: #7FD6E8; }
.hp-evento__corpo { flex: 1; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.hp-evento__corpo h3 { margin: 2px 0 0; font-size: 19px; line-height: 1.3; }
.hp-evento__corpo p { margin: 0; }
.hp-evento__percurso, .hp-evento__estado { align-self: flex-start; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: #A84A1E; }
.hp-evento__estado { color: #A3341F; background: #FBE4DE; border-radius: 999px; padding: 2px 8px; }
.hp-evento__quando { font-weight: 500; color: #0F2A44; }
.hp-evento__detalhe { font-size: 14px; color: #4E6275; }
.hp-evento__resumo { font-family: var(--wp--preset--font-family--source-serif); font-size: 15px; line-height: 1.5; color: #2E4A62; }
.hp-evento__rodape { margin-top: auto; padding-top: 8px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.hp-evento__preco { font-weight: 600; }
.hp-evento__botao { background: #F2876B; color: #0F2A44; text-decoration: none; font-weight: 600; font-size: 15px; padding: 9px 18px; border-radius: 999px; }
.hp-evento__botao:hover { background: #EE7556; color: #0F2A44; }
.hp-evento__botao--off { background: #D7E3EC; }
.hp-eventos-vazio { background: #FBF0E6; border-radius: 20px; padding: 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.hp-eventos-vazio p { margin: 0; font-size: 16px; }
.hp-eventos-vazio__botao { background: #0F2A44; color: #fff; text-decoration: none; padding: 11px 20px; border-radius: 999px; font-weight: 600; }
.hp-eventos-vazio__botao:hover { color: #fff; }
/* Percursos de formação */
.hp-percursos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 16px; counter-reset: perc; }
.hp-percurso { border-radius: 20px; padding: 28px; display: flex; flex-direction: column; gap: 10px; background: #F3F7FA; position: relative; }
.hp-percurso:nth-child(2) { background: #E4F4F6; } .hp-percurso:nth-child(3) { background: #FBF0E6; }
.hp-percurso__passo { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: #1569A6; }
.hp-percurso h3 { margin: 0; font-size: 24px; }
.hp-percurso > p { margin: 0; font-family: var(--wp--preset--font-family--source-serif); font-size: 17px; line-height: 1.6; color: #2E4A62; }
.hp-percurso ul { margin: 4px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.hp-percurso li { background: #fff; border-radius: 12px; padding: 12px 14px; font-size: 15px; }
.hp-percurso li strong { display: block; font-size: 16px; }
.hp-percurso li a { font-weight: 500; }
/* Campos dos formulários não saem do cartão (o padding conta para a largura) */
.hp-form input, .hp-form select, .hp-form textarea, .hp-newsletter input, .ht-email input { box-sizing: border-box; max-width: 100%; }
/* Empresas */
@media (min-width: 900px) { .hp-tres--quatro { grid-template-columns: repeat(4, 1fr); } }
.hp-info__item--branco { background: #fff; }
.hp-faq--claro { background: #F3F7FA; }
.hp-exemplo { background: #fff; border: 1px solid #D7E3EC; border-top: 6px solid var(--c); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 12px 30px rgba(15,42,68,.08); }
.hp-exemplo__rotulo { margin: 0; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: #4E6275; }
.hp-exemplo__topo { display: flex; gap: 14px; align-items: center; }
.hp-exemplo__topo div { display: flex; flex-direction: column; gap: 2px; }
.hp-exemplo__topo strong { font-size: 19px; }
.hp-exemplo__topo span:not(.hp-circulo) { font-size: 14px; color: #4E6275; }
.hp-exemplo__grelha { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); gap: 12px; }
.hp-exemplo__grelha div { background: #F3F7FA; border-radius: 12px; padding: 14px; }
.hp-exemplo h4 { margin: 0 0 6px; font-size: 14px; color: #A55515; }
.hp-exemplo ul { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.5; }
/* Cabeçalho em ecrãs médios (portáteis pequenos, tablets): menu numa só linha */
@media (min-width: 600px) and (max-width: 1199px) {
	.hp-cabecalho .alignwide { flex-wrap: nowrap !important; gap: 12px; }
	.hp-cabecalho .wp-block-navigation .wp-block-navigation__container { gap: 6px 14px !important; }
	.hp-cabecalho .wp-block-navigation { font-size: 14px; }
	.hp-cabecalho .hp-botao-menu a { padding: 8px 12px; }
	.hp-marca__nome strong { font-size: 15px; }
	.hp-marca__nome span { font-size: 12px; }
}
@media (min-width: 600px) and (max-width: 979px) {
	.hp-marca__nome { display: none; } /* fica só o logótipo para caber o menu */
}

/* Setas na ficha do tipo */
@media (min-width: 700px) { .hp-ficha__cel--setas { grid-column: span 2; } }
.hp-setas { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.hp-setas li { display: flex; gap: 12px; align-items: center; }
.hp-setas li span { font-family: var(--wp--preset--font-family--source-serif); font-size: 16px; line-height: 1.45; color: #0F2A44; }
.hp-setas .hp-mini { flex: 0 0 auto; }

.hp-ficha__sub-texto { margin: 6px 0 0; font-family: var(--wp--preset--font-family--source-serif); font-size: 15px; line-height: 1.5; color: #2E4A62; font-weight: 400; }

/* Listas de artigos: imagem do artigo esbatida por trás do cartão */
.hp-com-fundo .wp-block-post { position: relative; isolation: isolate; overflow: hidden; background: #fff; min-height: 150px; }
.hp-com-fundo .hp-cartao-fundo { position: absolute; inset: 0; margin: 0 !important; z-index: -1; pointer-events: none; }
.hp-com-fundo .hp-cartao-fundo img { width: 100%; height: 100%; object-fit: cover; opacity: .7; filter: saturate(1.05) brightness(1.06); transition: opacity .25s ease; }
.hp-com-fundo .hp-cartao-fundo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.74) 65%, rgba(255,255,255,.4) 100%); }
.hp-com-fundo .wp-block-post:hover .hp-cartao-fundo img { opacity: .9; }
@media (prefers-reduced-motion: reduce) { .hp-com-fundo .hp-cartao-fundo img { transition: none; } }

/* Redes sociais no rodapé e nos contactos */
.hp-redes { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.hp-redes a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(15, 42, 68, .15); transition: transform .15s ease, box-shadow .15s ease; }
.hp-redes a:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(15, 42, 68, .22); }
.hp-redes a:focus-visible { outline: 3px solid #F2876B; outline-offset: 3px; }
.hp-redes svg { display: block; }
@media (prefers-reduced-motion: reduce) { .hp-redes a { transition: none; } .hp-redes a:hover { transform: none; } }

