/**
 * Tema EasySocial "Patriohub" — visual do prototipo sobre o #es.
 *
 * O style.min.css do ES e' so' minificado (sem fonte LESS), entao tudo aqui e' SOBREPOSICAO:
 *  - todo seletor leva o prefixo `#es` (o tema do ES estiliza elementos crus sob `#es`, com
 *    especificidade (1,0,1), que vence uma classe sozinha);
 *  - toda cor sai de variavel --ph-* (definidas em templates/patriohub/.../template.css, com o
 *    mesmo valor como reserva aqui) — o modo escuro entra numa 2a etapa so' redefinindo-as;
 *  - o structure/custom.css.php do tema entra DEPOIS deste arquivo (inline) e vence empates.
 *
 * Mexer: CSS novo no fim do bloco da secao correspondente. Depois de editar, limpar cache/.
 */

/* ----------------------------------------------------------------- Base */
#es {
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ------------------------------------------------------------ Coluna esquerda
   Medidas copiadas do prototipo (style.css: .leftbar, .mini-profile, .side-link, .side-label,
   .invite-card). Markup em patriohub-helper.php (edubasePhNav). */

/* Cola abaixo do cabecalho e rola sozinha quando o menu + convite passam da altura da janela.
   --ec-h = altura da faixa "Confirme seu e-mail" (plugin edubaseconfirmaemail; so' existe enquanto
   ela existe) — o plugin tambem empurra esta coluna, e este seletor mais especifico o venceria. */
#es .es-container__sidebar:has(> .ph-sidenav) {
	position: sticky;
	top: calc(81px + var(--ec-h, 0px));
	max-height: calc(100dvh - 99px - var(--ec-h, 0px));
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: #dde4ef transparent;
	padding-bottom: 12px;
	/* 220px, a largura da coluna no prototipo (o ES usa 240). */
	flex: 0 0 220px;
	width: 220px;
}

#es a.ph-miniprofile,
#es .ph-sidenav,
#es .ph-invite {
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

#es a.ph-miniprofile {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 24px;
	padding: 0 5px;
	color: var(--ph-ink, #152b4f);
	text-decoration: none;
}

#es a.ph-miniprofile img {
	flex: none;
	box-sizing: border-box;
	width: 42px;
	height: 42px;
	border: 2px solid #fff;
	border-radius: 50%;
	object-fit: cover;
}

#es a.ph-miniprofile span { min-width: 0; }
#es a.ph-miniprofile strong { display: block; font-size: 12px; font-weight: 700; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#es a.ph-miniprofile small { display: block; margin-top: 3px; font-size: 10px; line-height: 1.5; color: var(--ph-muted, #687b95); }
#es a.ph-miniprofile > svg { flex: none; width: 21px; height: 21px; color: var(--ph-ink, #152b4f); }

/* Lista solta (sem cartao), como no prototipo. */
#es .ph-sidenav { display: block; margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }

/* Itens: <a> (destino), <button> (acao) e <span> (ilustrativo) com o mesmo visual. */
#es .ph-sidelink {
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	gap: 13px;
	margin: 0 0 5px;
	padding: 12px 14px;
	border: 0;
	border-radius: var(--ph-radius-sm, 9px);
	background: none;
	color: #626f85;
	font: 500 13px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	transition: color .18s, background .18s;
}

#es .ph-sidelink svg { flex: none; width: 20px; height: 20px; }
#es .ph-sidelink:hover { background: #eaf0f9; color: var(--ph-blue, #0755f9); text-decoration: none; }
#es .ph-sidelink:focus-visible { outline: 3px solid #7ba7ff; outline-offset: 2px; }

#es .ph-sidelink.is-active {
	background: #e9f0ff;
	color: var(--ph-blue, #0755f9);
	font-weight: 700;
}

#es .ph-sidelink.is-active::before {
	content: "";
	position: absolute;
	left: 0;
	top: 14px;
	bottom: 14px;
	width: 3px;
	border-radius: 4px;
	background: var(--ph-blue, #0755f9);
}

/* Ainda nao existe (so' ilustrativo): igual aos outros, sem cursor de clique. */
#es .ph-sidelink--soon { cursor: default; }

/* Selo "NOVO" e contador de mensagens. */
#es .ph-sidenew {
	margin-left: auto;
	padding: 3px 5px;
	border-radius: 4px;
	background: #ddf4ed;
	color: #0c9b80;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .4px;
}

#es .ph-sidecount {
	margin-left: auto;
	min-width: 18px;
	border-radius: 5px;
	background: var(--ph-blue, #0755f9);
	color: #fff;
	font-size: 10px;
	line-height: 18px;
	text-align: center;
}

#es .ph-sidecount[hidden] { display: none; }

#es .ph-sidedivider { height: 1px; margin: 20px 12px; background: #e5eaf2; }
#es .ph-sidelabel { display: block; margin: 0 14px 10px; font-size: 9px; font-weight: 600; letter-spacing: 1.4px; line-height: 1.5; color: #9aa4b6; }

/* O avatar grande do EasySocial vira o mini-perfil acima. */
#es .es-container__sidebar .es-side-widget:has(.mod-es-avatar) { display: none; }

/* Cartao de convite (degrade claro, texto navy). */
#es .ph-invite {
	position: relative;
	/* 18px + os 5px de margem do ultimo item = os 23px do prototipo (a coluna e' flex: sem colapso). */
	margin: 18px 0 12px;
	padding: 19px 16px;
	overflow: hidden;
	border-radius: var(--ph-radius, 12px);
	background: linear-gradient(130deg, #e4edff, #eaf7ff);
	font: 14px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

#es .ph-invite__spark { display: block; width: 20px; height: 20px; margin: 4px 0 16px 1px; color: #2572ed; }
#es .ph-invite strong { font-size: 14px; font-weight: 700; line-height: 1.4; color: var(--ph-navy, #05265f); }
#es .ph-invite p { margin: 9px 0 14px; font-size: 10px; line-height: 1.5; color: #71829b; }

#es .ph-invite button {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ph-blue, #0755f9);
	font: 700 10px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	cursor: pointer;
}

#es .ph-invite button svg { width: 15px; height: 21px; }
#es .ph-invite__fb { display: block; margin-top: 8px; font-size: 10px; font-weight: 600; line-height: 1.4; color: #0c9b80; overflow-wrap: anywhere; }
#es .ph-invite__fb[hidden] { display: none; }

/* Larguras e escalas do prototipo: 235px a partir de 1500px; 190px e fontes menores ate 1200px. */
@media (min-width: 1500px) {
	#es .es-container__sidebar:has(> .ph-sidenav) { flex-basis: 235px; width: 235px; }
}

@media (max-width: 1200px) {
	#es .es-container__sidebar:has(> .ph-sidenav) { flex-basis: 190px; width: 190px; }
	#es .ph-sidelink { gap: 10px; padding: 11px 10px; font-size: 12px; }
	#es .ph-sidenew { font-size: 7px; }
	#es .ph-invite { padding: 16px 12px; }
	#es .ph-invite strong { font-size: 12px; }
	#es .ph-invite button { font-size: 9px; }
}

@media (max-width: 1050px) {
	#es .es-container__sidebar:has(> .ph-sidenav) { flex-basis: 200px; width: 200px; }
}

@media (max-width: 960px) {
	#es .ph-sidelink { font-size: 11px; }
}

/* ------------------------------------------------ Card de post: cabecalho
   Como o `.post-author` do prototipo: nome em negrito escuro, linha de baixo (tempo · privacidade)
   miuda e apagada, menu de tres pontos. Markup em themes/patriohub/stream/default/item.php. */
/* So' o nome (link) vai em negrito; o texto em volta ("curtiu esta pagina", "esta com...") fica normal. */
#es .es-stream-meta .es-stream-title {
	color: var(--ph-ink, #152b4f);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
}

#es .es-stream-meta .es-stream-title a {
	color: var(--ph-ink, #152b4f);
	font-size: 13px;
	font-weight: 700;
}

#es .es-stream-meta .es-stream-title a:hover { color: var(--ph-blue, #0755f9); text-decoration: none; }

#es .es-stream-meta .es-stream-meta-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	margin-top: 3px;
	color: #6b80a0;
	font-size: 10px;
	line-height: 1.5;
}

#es .es-stream-meta-footer time,
#es .es-stream-meta-footer time a { color: #6b80a0; font-size: 10px; }
#es .es-stream-meta-footer time a:hover { color: var(--ph-blue, #0755f9); text-decoration: none; }

/* "· <icone de privacidade>" depois do tempo; sem a setinha do seletor de privacidade. */
#es .es-stream-meta-footer [data-breadcrumb] { display: inline-flex; align-items: center; gap: 4px; color: #8191a8; }
#es .es-stream-meta-footer [data-breadcrumb]::before { content: ""; flex: none; width: 2px; height: 2px; border-radius: 50%; background: currentColor; }
#es .es-stream-meta-footer [data-breadcrumb]:not(:has(.es-privacy))::before { content: none; }
#es .es-stream-meta-footer .es-privacy { display: inline-flex; align-items: center; }
#es .es-stream-meta-footer .es-privacy .es-privacy-toggle,
#es .es-stream-meta-footer .es-privacy .es-privacy-toggle-label { height: auto; padding: 0; color: inherit; line-height: 1; }
/* Dono do post: o icone e' o botao que troca a privacidade; sem a setinha, a area de toque cresce por fora. */
#es .es-stream-meta-footer .es-privacy a.es-privacy-toggle { padding: 6px; margin: -6px; }
#es .es-stream-meta-footer .es-privacy i[data-privacy-icon] { width: auto; font-size: 10px; }
#es .es-stream-meta-footer .es-privacy .fa-caret-down { display: none; }

/* Menu da publicacao: tres pontos no lugar da setinha. */
#es .es-stream-control { top: 10px; right: 12px; }

#es .es-stream-control .btn-control {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 27px;
	height: 27px;
	border-radius: 50%;
	color: #8f9bb0;
	line-height: 1;
	transition: color .18s, background .18s;
}

#es .es-stream-control .btn-control svg { width: 20px; height: 20px; }
#es .es-stream-control .btn-control:hover,
#es .es-stream-control.open .btn-control { background: #f4f7fc; color: var(--ph-blue, #0755f9); text-decoration: none; }

/* Selos de fixado/favoritado passam para a esquerda dos tres pontos. */
#es .es-stream-sticky-label,
#es .es-stream-bookmark-label { top: 16px; right: 46px; }
#es .is-bookmarked .es-stream-sticky-label { right: 66px; }

/* ------------------------------------------------ Card de post: barra de acoes
   A barra "N reacoes / Voce reagiu a isto" some (o total ja' aparece ao lado do coracao) e o botao
   Salvar ocupa a ponta direita da linha de icones. */
#es .es-actions__item-stats { display: none; }

#es .es-actions-list:has(> .action-title-save) { display: flex; align-items: center; }
#es .es-actions-list > li.action-title-save { margin: 0 0 0 auto; }

#es .es-actions-list > li.action-title-save > a {
	display: inline-flex;
	padding: 4px;
	border-radius: 6px;
	color: #2b47bd;
	line-height: 1;
}

#es .es-actions-list > li.action-title-save > a:hover { background: #f4f7fc; text-decoration: none; }

/* Salvo: o marcador fica cheio (mesmo recurso do coracao: 1o tracado e' o preenchimento). */
#es .is-bookmarked .action-title-save svg > path:first-child { opacity: 1; }

/* ----------------------------------------------- Comunidades (listagem)
   Formato do prototipo (#comunidades): `.page-heading`, `.section-search`, `.filter-selects.split-half`,
   `.results-header`, `.directory-grid` e `.directory-card`. Markup em themes/patriohub/groups/default/
   (default.php, wrapper.php, items.php, directory.card.php). */

/* Na listagem a coluna esquerda e' so' o menu principal: filtros e categorias do EasySocial viram a
   busca/categoria do cabecalho. Ficam no DOM (o JS do bundle le o filtro ativo deles), escondidos. */
#es .es-groups:has(.phg-head) .es-modules-es-sidebar,
#es .es-groups:has(.phg-head) .es-snackbar2 { display: none; }

#es .phg-head { margin: 0; }

#es h1.phg-title {
	margin: 0 0 10px;
	color: var(--ph-navy, #05265f);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -1.05px;
}

#es .phg-search {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 10px;
	padding: 7px 8px 7px 17px;
	background: #fff;
	border: 1px solid #e5eaf3;
	border-radius: 11px;
	box-shadow: var(--ph-shadow, 0 4px 22px #12356204);
}

#es .phg-search > svg { flex: none; width: 18px; height: 18px; color: #9aa7bb; }

#es .phg-search input {
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 8px 0;
	border: 0;
	outline: 0;
	background: none;
	box-shadow: none;
	color: var(--ph-ink, #152b4f);
	font: 13px Inter, sans-serif;
}

#es .phg-search input::placeholder { color: #8d98ab; }

#es .phg-search button,
#es .phg-create {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 0;
	border-radius: 9px;
	background: var(--ph-blue, #0755f9);
	color: #fff;
	font: 600 12px/1.45 Inter, sans-serif;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 3px 8px #0755f916;
	cursor: pointer;
	transition: background .18s, transform .18s;
}

#es .phg-search button { padding: 9px 18px; font-size: 11px; }
#es .phg-create { padding: 9px 12px; }
#es .phg-search button:hover,
#es .phg-create:hover { background: #003fd1; color: #fff; text-decoration: none; transform: translateY(-1px); }
#es .phg-create svg { width: 17px; height: 17px; }

#es .phg-filters { display: flex; gap: 12px; margin: 0 0 14px; }
#es .phg-filters > * { flex: 1 1 0; min-width: 0; }

#es .phg-select {
	position: relative;
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 7px 11px;
	border: 1px solid var(--ph-line, #e9edf4);
	border-radius: 8px;
	background: #fff;
	color: #7184a2;
}

#es .phg-select > svg { flex: none; width: 15px; height: 15px; }

#es .phg-select select {
	flex: 1;
	width: 100%;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 3px 22px 3px 5px;
	border: 0;
	outline: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237184a2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 0 center / 16px no-repeat;
	box-shadow: none;
	color: #6d82a0;
	font: 12px Inter, sans-serif;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

#es .phg-results { display: flex; align-items: center; justify-content: space-between; margin: 4px 0 18px; }
#es .phg-results h3 { margin: 0; color: var(--ph-navy, #05265f); font-size: 14px; font-weight: 700; line-height: 1.25; }
#es .phg-results > span { color: #97a3b7; font-size: 10px; }

#es .phg-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 24px; }
#es .phg-card[hidden] { display: none; }

#es .phg-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--ph-line, #e9edf4);
	border-radius: var(--ph-radius, 12px);
	box-shadow: var(--ph-shadow, 0 4px 22px #12356204);
	transition: transform .2s, box-shadow .2s;
}

#es .phg-card:hover { box-shadow: 0 8px 22px #15315a0c; transform: translateY(-3px); }

#es .phg-card__cover { position: relative; display: block; height: 140px; overflow: hidden; background: #dbe7ff; }
#es .phg-card__cover > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
#es .phg-card:hover .phg-card__cover > img { transform: scale(1.03); }

/* Comunidade sem capa: degrade da marca (6 tons, pelo id) com o icone de grupo ao fundo. */
#es .phg-card__ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #ffffff59; }
#es .phg-card__ph svg { width: 64px; height: 64px; }
#es .phg-card__cover--0 { background: linear-gradient(135deg, #0755f9, #25c5ec); }
#es .phg-card__cover--1 { background: linear-gradient(135deg, #05265f, #3978ff); }
#es .phg-card__cover--2 { background: linear-gradient(135deg, #3273db, #7ba7ff); }
#es .phg-card__cover--3 { background: linear-gradient(135deg, #0c9b80, #25c5ec); }
#es .phg-card__cover--4 { background: linear-gradient(135deg, #5b4bdb, #3978ff); }
#es .phg-card__cover--5 { background: linear-gradient(135deg, #123e8c, #25c5ec); }

#es .phg-pill {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 5px 8px;
	border-radius: 20px;
	background: #ffffffee;
	color: #526987;
	font-size: 9px;
	font-weight: 500;
	line-height: 1.3;
}

#es .phg-pill svg { width: 11px; height: 11px; }

#es .phg-card__body { position: relative; display: flex; flex: 1; flex-direction: column; padding: 18px; }

#es .phg-card__cat {
	display: block;
	margin-bottom: 7px;
	color: #3273db;
	font-size: 9px;
	font-weight: 600;
	text-decoration: none;
}

#es .phg-card__title { color: var(--ph-navy, #05265f); text-decoration: none; }
#es .phg-card__title h3 { margin: 0 0 9px; color: var(--ph-navy, #05265f); font-size: 16px; font-weight: 700; line-height: 1.25; letter-spacing: -.3px; }
#es .phg-card__title:hover h3 { color: var(--ph-blue, #0755f9); }
#es .phg-card__desc { margin: 0 0 17px; min-height: 38px; color: #6d829e; font-size: 12px; line-height: 1.7; }

#es .phg-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--ph-line, #e9edf4);
}

#es .phg-card__members { display: flex; align-items: center; gap: 4px; color: #91a0b6; font-size: 9px; text-decoration: none; }
#es .phg-card__members svg { flex: none; width: 13px; height: 13px; }
#es .phg-card__members:hover { color: var(--ph-blue, #0755f9); }

/* Botao do EasySocial (group.action) com a cara do `.primary.small` / `.secondary.small`. */
#es .phg-card__foot .btn,
#es .phg-card__foot .o-btn-group > .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 8px 12px;
	border: 0;
	border-radius: 9px;
	/* !important: o tema do ES pinta `.btn-es-default-o` com !important, como o `.btn-es-primary`. */
	background: var(--ph-blue, #0755f9) !important;
	color: #fff !important;
	font: 600 11px/1.45 Inter, sans-serif;
	white-space: nowrap;
	box-shadow: 0 3px 8px #0755f916;
	text-decoration: none;
	transition: background .18s;
}

#es .phg-card__foot .btn:hover { background: #003fd1 !important; color: #fff !important; text-decoration: none; }

/* Ja participo ("Sair" no EasySocial) vira o estado "Participando", como no prototipo. */
#es .phg-card__foot [data-es-groups-leave],
#es .phg-card__foot [data-request-sent] > .btn,
#es .phg-card__foot [data-es-groups-respond-invitation] {
	background: #f0f5ff !important;
	color: var(--ph-blue, #0755f9) !important;
	border: 1px solid #dee9ff !important;
	box-shadow: none;
}

#es .phg-card__foot [data-es-groups-leave]:hover,
#es .phg-card__foot [data-request-sent] > .btn:hover,
#es .phg-card__foot [data-es-groups-respond-invitation]:hover { background: #e4eeff !important; color: var(--ph-blue, #0755f9) !important; }

#es .phg-card__foot [data-es-groups-leave] { font-size: 0; }
#es .phg-card__foot [data-es-groups-leave]::before {
	content: "";
	width: 14px;
	height: 14px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
#es .phg-card__foot [data-es-groups-leave]::after { content: "Participando"; font-size: 11px; }

/* Dono da comunidade: mesmo visual do estado "Participando", sem acao. */
#es .phg-owner {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border: 1px solid #dee9ff;
	border-radius: 9px;
	background: #f0f5ff;
	color: var(--ph-blue, #0755f9);
	font: 600 11px/1.45 Inter, sans-serif;
	white-space: nowrap;
	cursor: default;
}

#es .phg-owner svg { width: 14px; height: 14px; }

#es .phg-nomatch { margin: 8px 0 24px; color: #7387a4; font-size: 12px; text-align: center; }
#es .phg-nomatch[hidden] { display: none; }

@media (max-width: 1200px) {
	#es .phg-grid { gap: 13px; }
	#es .phg-card__body { padding: 15px; }
	#es .phg-card__title h3 { font-size: 14px; }
	#es .phg-card__desc { font-size: 11px; }
	#es .phg-card__foot { flex-wrap: wrap; gap: 10px; }
}

@media (max-width: 760px) {
	#es h1.phg-title { font-size: 28px; letter-spacing: -.9px; }
	#es .phg-search { gap: 9px; margin-bottom: 10px; padding-left: 12px; }
	#es .phg-search input { font-size: 12px; }
	#es .phg-search button { padding: 10px 12px; font-size: 10px; }
	#es .phg-filters { gap: 8px; margin-bottom: 20px; }
	#es .phg-select { gap: 4px; padding: 7px 8px; }
	#es .phg-select select { font-size: 10px; }
	#es .phg-create { padding: 9px 12px; font-size: 11px; }
	#es .phg-grid { gap: 12px; }
	#es .phg-card__cover { height: 107px; }
	#es .phg-pill { top: 9px; right: 9px; padding: 4px 6px; font-size: 8px; }
	#es .phg-card__body { padding: 13px 12px; }
	#es .phg-card__title h3 { font-size: 13px; line-height: 1.35; margin-bottom: 8px; }
	#es .phg-card__desc { min-height: 68px; font-size: 11px; }
	#es .phg-card__desc { margin-bottom: 13px; }
	#es .phg-card__foot { padding-top: 12px; }
	#es .phg-card__foot .btn,
	#es .phg-owner { width: 100%; justify-content: center; padding: 8px 11px; font-size: 10px; }
}

/* ------------------------------------------------------- Botao primario */
/* O tema declara `.btn-es-primary{background:... !important}` em dois lugares; com !important
   nenhuma especificidade ganha, so' outro !important. */
#es .btn-es-primary,
#es .btn-es-primary:focus {
	background-color: var(--ph-blue, #0755f9) !important;
	border-color: var(--ph-blue, #0755f9) !important;
	color: #fff !important;
}

#es .btn-es-primary:hover,
#es .btn-es-primary:active {
	background-color: #0646cc !important;
	border-color: #0646cc !important;
}

/* ------------------------------------------------------------- Cartoes */
#es .es-stream {
	border: 1px solid var(--ph-line, #e9edf4);
	border-radius: var(--ph-radius, 12px);
	box-shadow: var(--ph-shadow, 0 4px 22px #12356204);
}

/* Cartao de convite ANTIGO (mod_edubase_convite, despublicado em 29/10/2026 — o convite agora
   e' o .ph-invite acima). Mantido caso o modulo volte a ser publicado. */
#es .ebc {
	background: linear-gradient(130deg, #e4edff, #eaf7ff);
	color: var(--ph-navy, #05265f);
	border-radius: var(--ph-radius, 12px);
	padding: 19px 16px;
}

#es .ebc .ebc__title { color: var(--ph-navy, #05265f); font-size: 14px; }
#es .ebc .ebc__intro,
#es .ebc .ebc__label,
#es .ebc .ebc__feedback { color: #71829b; font-size: 11px; }
#es .ebc .ebc__btn--copy { background: var(--ph-blue, #0755f9); color: #fff; }
#es .ebc .ebc__btn--share { background: #fff; color: var(--ph-blue, #0755f9); }
#es .ebc .ebc__intro strong,
#es .ebc .ebc__intro b,
#es .ebc strong { color: var(--ph-navy, #05265f); }
