/*
 * Estilos do portal. Tudo escopado em .egoh-portal porque isto roda dentro do
 * BeTheme hoje e do tema Egoh depois - nao pode vazar nem herdar surpresa.
 * As cores repetem a paleta da marca em vez de importar tokens do tema, para
 * a aparencia ficar igual nos dois.
 */

/*
 * Contraste: os tons claros da marca funcionavam no material impresso, mas na
 * tela os rotulos e as bordas de campo sumiam no fundo creme. Os tokens de
 * TEXTO ficam todos acima de 4.5:1 sobre branco e sobre o creme; o ouro segue
 * sendo o acento, nunca a cor de um texto pequeno.
 */
.egoh-portal {
	--eg-ouro: #c2a17b;        /* acento: borda ativa, foco, detalhe */
	--eg-ouro-fundo: #7a6039;  /* ouro escuro: fundo de botao com texto branco */
	--eg-tinta: #26221e;
	--eg-suave: #4f4740;
	--eg-fraca: #6e655c;       /* era #9a9188: 2.8:1, ilegivel em rotulo */
	--eg-linha: #ddd4c6;       /* divisorias e bordas de cartao */
	--eg-linha-forte: #b9ac9a; /* borda de campo: o alvo de clique precisa aparecer */
	--eg-morno: #f7f4ef;
	max-width: 820px;
	margin: 0 auto;
	padding: 8px 0 40px;
	color: var(--eg-tinta);
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
}

.egoh-portal h2 { font-size: 1.9rem; line-height: 1.2; margin: 0 0 .4em; }
.egoh-portal h3 { font-size: 1.15rem; margin: 0 0 1em; color: var(--eg-tinta); }
.egoh-portal p { margin: 0 0 1em; }
.egoh-apoio { color: var(--eg-suave); font-size: .93rem; }
.egoh-olho { font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--eg-ouro-fundo); margin-bottom: .5em; }

.egoh-topo { padding-bottom: 26px; border-bottom: 1px solid var(--eg-linha); margin-bottom: 34px; }

.egoh-cartao {
	background: #fff; border: 1px solid var(--eg-linha); border-radius: 4px;
	padding: 38px 34px;
}
.egoh-cartao--estreito { max-width: 420px; margin: 0 auto; }

.egoh-bloco {
	background: #fff; border: 1px solid var(--eg-linha); border-radius: 4px;
	padding: 28px 30px; margin-bottom: 20px;
}

/* ---------- linha do tempo ---------- */
.egoh-linha { list-style: none; margin: 0; padding: 0; }
.egoh-linha__passo { display: flex; gap: 14px; align-items: flex-start; padding: 0 0 22px; position: relative; }
.egoh-linha__passo:not(:last-child)::before {
	content: ""; position: absolute; left: 15px; top: 32px; bottom: 0; width: 1px; background: var(--eg-linha);
}
.egoh-linha__marca {
	flex: 0 0 auto; width: 31px; height: 31px; border-radius: 50%;
	display: grid; place-items: center; font-size: .85rem;
	border: 1px solid var(--eg-linha); background: #fff; color: var(--eg-fraca); position: relative; z-index: 1;
}
.egoh-linha__rotulo { padding-top: 4px; color: var(--eg-suave); }

.egoh-linha__passo--feito .egoh-linha__marca { background: var(--eg-ouro); border-color: var(--eg-ouro); color: #fff; }
.egoh-linha__passo--feito .egoh-linha__rotulo { color: var(--eg-tinta); }
.egoh-linha__passo--atual .egoh-linha__marca { border-color: var(--eg-ouro); color: var(--eg-ouro-fundo); box-shadow: 0 0 0 4px rgba(194,161,123,.16); }
.egoh-linha__passo--atual .egoh-linha__rotulo { color: var(--eg-tinta); font-weight: 500; }

/* ---------- dados da cerimonia ---------- */
.egoh-dados { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin: 0; }
.egoh-dados dt { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--eg-fraca); margin-bottom: 4px; }
.egoh-dados dd { margin: 0; color: var(--eg-tinta); }

/* ---------- video ---------- */
.egoh-video iframe, .egoh-video video { width: 100%; aspect-ratio: 16/9; height: auto; border: 0; border-radius: 3px; }

/* ---------- arquivos ---------- */
.egoh-arquivos { list-style: none; margin: 0; padding: 0; }
.egoh-arquivos li + li { border-top: 1px solid var(--eg-linha); }
.egoh-arquivos a {
	display: flex; justify-content: space-between; gap: 16px; align-items: center;
	padding: 13px 0; color: var(--eg-tinta); text-decoration: none;
}
.egoh-arquivos a:hover .egoh-arquivos__nome { color: var(--eg-ouro-fundo); text-decoration: underline; }
.egoh-arquivos__meta { color: var(--eg-fraca); font-size: .85rem; flex: 0 0 auto; }

/* ---------- lista de casos ---------- */
.egoh-lista { list-style: none; margin: 0; padding: 0; }
.egoh-lista a {
	display: flex; justify-content: space-between; gap: 16px; align-items: center;
	background: #fff; border: 1px solid var(--eg-linha); border-radius: 4px;
	padding: 20px 24px; margin-bottom: 12px; color: var(--eg-tinta); text-decoration: none;
	transition: border-color .2s;
}
.egoh-lista a:hover { border-color: var(--eg-ouro); }
.egoh-lista span { color: var(--eg-suave); font-size: .9rem; }

/* ---------- tabela de pagamentos ---------- */
.egoh-tabela { width: 100%; border-collapse: collapse; font-size: .94rem; }
.egoh-tabela th {
	text-align: left; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase;
	color: var(--eg-fraca); font-weight: 500; padding: 0 10px 10px 0; border-bottom: 1px solid var(--eg-linha);
}
.egoh-tabela td { padding: 12px 10px 12px 0; border-bottom: 1px solid var(--eg-linha); }
.egoh-selo { display: inline-block; padding: 3px 11px; border-radius: 20px; font-size: .78rem; }
.egoh-selo--pago { background: #e8f2e9; color: #2f6b3c; }
.egoh-selo--pendente { background: var(--eg-morno); color: var(--eg-suave); border: 1px solid var(--eg-linha); }
.egoh-selo--atrasado { background: #fbeaea; color: #9b3232; }

/* ---------- formulario de login ---------- */
.egoh-portal .login-username label,
.egoh-portal .login-password label {
	display: block; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase;
	color: var(--eg-fraca); font-weight: 500; margin-bottom: 6px;
}
.egoh-portal input[type="text"],
.egoh-portal input[type="password"] {
	width: 100%; padding: 12px 14px; border: 1px solid var(--eg-linha-forte); border-radius: 3px;
	font: inherit; color: var(--eg-tinta); background: #fff; margin-bottom: 16px;
}
.egoh-portal input[type="text"]:focus,
.egoh-portal input[type="password"]:focus { outline: 2px solid var(--eg-ouro); outline-offset: 1px; border-color: var(--eg-ouro); }
.egoh-portal .login-submit input[type="submit"] {
	background: var(--eg-ouro-fundo); color: #fff; border: 1px solid var(--eg-ouro-fundo); border-radius: 2px;
	padding: 13px 30px; font: inherit; letter-spacing: .04em; cursor: pointer; width: 100%;
}
.egoh-portal .login-submit input[type="submit"]:hover { background: #5d4829; border-color: #5d4829; }
.egoh-portal .login-remember { margin-bottom: 14px; font-size: .9rem; color: var(--eg-suave); }
.egoh-portal .login-remember input { margin-right: 6px; }

.egoh-rodape-nota { text-align: center; padding-top: 10px; }

@media (max-width: 640px) {
	.egoh-bloco, .egoh-cartao { padding: 22px 20px; }
	.egoh-portal h2 { font-size: 1.55rem; }
	.egoh-arquivos a { flex-direction: column; align-items: flex-start; gap: 4px; }
}

/* ================= painel com barra lateral ================= */
.egoh-portal--painel {
	max-width: 1080px;
	display: grid;
	grid-template-columns: 216px 1fr;
	gap: 40px;
	align-items: start;
}

.egoh-lateral { position: sticky; top: 24px; }
.egoh-lateral ul { list-style: none; margin: 0; padding: 0; }
.egoh-lateral li + li { margin-top: 2px; }
.egoh-lateral a {
	display: block; padding: 11px 16px; border-radius: 3px;
	color: var(--eg-suave); text-decoration: none; font-size: .95rem;
	border-left: 2px solid transparent; transition: background-color .18s, color .18s;
}
.egoh-lateral a:hover { background: var(--eg-morno); color: var(--eg-tinta); }
.egoh-lateral a.esta-ativo {
	background: var(--eg-morno); color: var(--eg-tinta);
	border-left-color: var(--eg-ouro); font-weight: 500;
}
.egoh-lateral__sair { margin: 22px 0 0; padding: 14px 16px 0; border-top: 1px solid var(--eg-linha); }
.egoh-lateral__sair a { color: var(--eg-fraca); font-size: .88rem; padding: 0; }

.egoh-painel { min-width: 0; }
.egoh-voltar { margin-bottom: 18px; }
.egoh-voltar a { color: var(--eg-suave); font-size: .9rem; text-decoration: none; }
.egoh-voltar a:hover { color: var(--eg-ouro-fundo); }

/* ---------- avisos ---------- */
.egoh-aviso { padding: 13px 18px; border-radius: 3px; margin-bottom: 24px; font-size: .94rem; }
.egoh-aviso--bom  { background: #eef5ef; border: 1px solid #cfe3d2; color: #2f6b3c; }
.egoh-aviso--ruim { background: #fbeeee; border: 1px solid #eccfcf; color: #9b3232; }

/* ---------- botoes ---------- */
/* Botao: fundo no ouro escuro. O ouro claro com texto branco dava 2.3:1. */
.egoh-botao {
	display: inline-block; background: var(--eg-ouro-fundo); color: #fff;
	border: 1px solid var(--eg-ouro-fundo); border-radius: 2px;
	padding: 12px 26px; font: inherit; font-size: .93rem; letter-spacing: .03em;
	cursor: pointer; text-decoration: none; transition: background-color .2s, border-color .2s;
}
.egoh-botao:hover { background: #5d4829; border-color: #5d4829; color: #fff; text-decoration: none; }
.egoh-botao--vazado { background: transparent; color: var(--eg-ouro-fundo); border-color: var(--eg-ouro-fundo); }
.egoh-botao--vazado:hover { background: var(--eg-ouro-fundo); border-color: var(--eg-ouro-fundo); color: #fff; }

/* ---------- formularios ---------- */
.egoh-form { max-width: 540px; }
.egoh-campo { margin-bottom: 18px; }
.egoh-campo label {
	display: block; font-size: .8rem; letter-spacing: .07em; text-transform: uppercase;
	color: var(--eg-fraca); font-weight: 500; margin-bottom: 6px;
}
.egoh-portal input[type="email"],
.egoh-portal select,
.egoh-portal textarea {
	width: 100%; padding: 12px 14px; border: 1px solid var(--eg-linha-forte); border-radius: 3px;
	font: inherit; color: var(--eg-tinta); background: #fff;
}
.egoh-portal input:disabled { background: var(--eg-morno); color: var(--eg-suave); }
.egoh-portal textarea { resize: vertical; }
.egoh-portal input[type="email"]:focus,
.egoh-portal select:focus,
.egoh-portal textarea:focus { outline: 2px solid var(--eg-ouro); outline-offset: 1px; border-color: var(--eg-ouro); }
.egoh-obrig { color: #9b3232; }

/* ---------- grade de urnas ---------- */
.egoh-urnas { display: grid; grid-template-columns: repeat(auto-fill, minmax(228px, 1fr)); gap: 22px; }
.egoh-urna {
	background: #fff; border: 1px solid var(--eg-linha); border-radius: 4px;
	overflow: hidden; display: flex; flex-direction: column; transition: border-color .2s;
}
.egoh-urna:hover { border-color: var(--eg-ouro); }
.egoh-urna__foto { aspect-ratio: 4/3; background: var(--eg-morno); display: grid; place-items: center; overflow: hidden; }
.egoh-urna__foto img { width: 100%; height: 100%; object-fit: cover; }
.egoh-urna__vazio { color: var(--eg-fraca); font-size: .82rem; }
.egoh-urna__corpo { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.egoh-urna__corpo h3 { font-size: 1.05rem; margin-bottom: .4em; }
.egoh-urna__corpo p { margin-bottom: .6em; font-size: .9rem; }
.egoh-urna__preco { font-size: 1.15rem; color: var(--eg-ouro-fundo); margin: auto 0 14px; }
.egoh-urna .egoh-botao { width: 100%; text-align: center; }

.egoh-tag {
	display: inline-block; background: var(--eg-morno); border: 1px solid var(--eg-linha);
	color: var(--eg-suave); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase;
	padding: 2px 9px; border-radius: 20px; margin-bottom: 8px;
}
.egoh-lista .egoh-tag { margin: 0 0 0 10px; }

@media (max-width: 860px) {
	.egoh-portal--painel { grid-template-columns: 1fr; gap: 22px; }
	.egoh-lateral { position: static; border-bottom: 1px solid var(--eg-linha); padding-bottom: 12px; }
	.egoh-lateral ul { display: flex; flex-wrap: wrap; gap: 4px; }
	.egoh-lateral li + li { margin-top: 0; }
	.egoh-lateral a { border-left: 0; border-bottom: 2px solid transparent; padding: 9px 13px; }
	.egoh-lateral a.esta-ativo { border-left: 0; border-bottom-color: var(--eg-ouro); }
	.egoh-lateral__sair { margin-top: 10px; padding-top: 10px; }
}

/* ---------- largura em template de tela cheia ---------- */
/* Sem pai estreito, o painel pode respirar. Fora dele o max-width menor
   continua valendo, para o portal nao ficar gigante num tema qualquer. */
.tela-cheia .egoh-portal { max-width: none; }
.tela-cheia .egoh-portal--painel { max-width: 1320px; grid-template-columns: 240px 1fr; gap: 48px; }
.tela-cheia .egoh-portal--painel .egoh-painel { max-width: 900px; }
.tela-cheia .egoh-urnas { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
@media (max-width: 860px) {
	.tela-cheia .egoh-portal--painel { grid-template-columns: 1fr; gap: 22px; }
}

/* ---------- marca no alto da coluna esquerda ---------- */
.egoh-lateral__marca {
	display: block; padding: 0 16px 22px; margin-bottom: 18px;
	border-bottom: 1px solid var(--eg-linha);
}
.egoh-lateral__marca:hover { background: none; }
.egoh-lateral__marca img { height: 46px; width: auto; display: block; }
.egoh-lateral__nome {
	font-size: 1.25rem; letter-spacing: .14em; text-transform: uppercase; color: var(--eg-ouro-fundo);
}
/* telas soltas (login, aviso, parceiro): marca centralizada acima do cartao */
.egoh-marca-topo { text-align: center; margin-bottom: 30px; }
.egoh-marca-topo img { height: 54px; width: auto; display: inline-block; }
.egoh-marca-topo a { display: inline-block; }
.egoh-portal--solto { padding-top: 12px; }

@media (max-width: 860px) {
	.egoh-lateral__marca { padding: 0 0 16px; margin-bottom: 14px; }
	.egoh-lateral__marca img { height: 38px; }
}

/* ---------- financeiro ---------- */
.egoh-selo--cancelado { background: var(--eg-morno); color: var(--eg-fraca); border: 1px solid var(--eg-linha); text-decoration: line-through; }
.egoh-tabela .egoh-botao { padding: 7px 18px; font-size: .85rem; white-space: nowrap; }
.egoh-tabela td:last-child { text-align: right; }
@media (max-width: 640px) {
	.egoh-tabela, .egoh-tabela thead, .egoh-tabela tbody, .egoh-tabela tr, .egoh-tabela td { display: block; width: 100%; }
	.egoh-tabela thead { display: none; }
	.egoh-tabela tr { border: 1px solid var(--eg-linha); border-radius: 4px; padding: 12px 14px; margin-bottom: 10px; }
	.egoh-tabela td { border: 0; padding: 4px 0; }
	.egoh-tabela td:last-child { text-align: left; padding-top: 10px; }
}

/* ---------- rodape do portal ---------- */
/* A area logada nao tem o rodape institucional; esta linha e a saida para
   termos, privacidade e contato. */
.egoh-rodape {
	margin-top: 44px; padding-top: 18px; border-top: 1px solid var(--eg-linha);
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
	gap: 8px 20px; font-size: .82rem; color: var(--eg-fraca);
}
.egoh-rodape__links { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.egoh-rodape a { color: var(--eg-suave); text-decoration: none; }
.egoh-rodape a:hover { color: var(--eg-ouro-fundo); text-decoration: underline; }

/* telas soltas (login, aviso, parceiro): centralizado sob o cartao estreito */
.egoh-portal--solto .egoh-rodape {
	max-width: 420px; margin: 34px auto 0;
	flex-direction: column; justify-content: center; text-align: center; gap: 8px;
}

@media (max-width: 640px) {
	.egoh-rodape { flex-direction: column; align-items: flex-start; }
	.egoh-portal--solto .egoh-rodape { align-items: center; }
}

/* ---------- familia: pessoas e convites ---------- */
.egoh-pessoas { list-style: none; margin: 0 0 26px; padding: 0; }
.egoh-pessoas li {
	display: flex; justify-content: space-between; align-items: center; gap: 14px;
	padding: 14px 0; border-bottom: 1px solid var(--eg-linha);
}
.egoh-pessoas li:last-child { border-bottom: 0; }
.egoh-pessoas strong { display: block; font-weight: 500; }
.egoh-pessoas__nota { display: block; font-size: .84rem; color: var(--eg-fraca); margin-top: 2px; }
.egoh-pessoas .egoh-tag { margin: 0; flex: 0 0 auto; }

/* Acao destrutiva discreta: botao que se parece com link, nunca com o botao ouro. */
.egoh-link-risco {
	background: none; border: 0; padding: 0; font: inherit; font-size: .86rem;
	color: var(--eg-fraca); cursor: pointer; text-decoration: underline; white-space: nowrap;
}
.egoh-link-risco:hover { color: #9b3232; }
.egoh-form-inline { margin: 0; flex: 0 0 auto; }
.egoh-form--fim { margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--eg-linha); }

/* Convidar: nome + e-mail + botao na mesma faixa, quebrando no celular. */
.egoh-form--linha { display: flex; flex-wrap: wrap; gap: 0 14px; align-items: flex-end; max-width: 620px; }
.egoh-form--linha .egoh-campo { flex: 1 1 200px; }
.egoh-form--linha .egoh-campo--botao { flex: 0 0 auto; margin-bottom: 18px; }
.egoh-cartao--medio { max-width: 560px; margin: 0 auto; }

@media (max-width: 640px) {
	.egoh-pessoas li { flex-direction: column; align-items: flex-start; gap: 6px; }
	.egoh-form--linha .egoh-campo--botao { flex: 1 1 100%; }
	.egoh-form--linha .egoh-botao { width: 100%; }
}

/* ---------- contratar em etapas ---------- */
/* Sem JS nao existe classe --js: todos os passos ficam visiveis e o form
   funciona como antes. O passo a passo e ganho, nunca requisito. */
.egoh-portal [hidden] { display: none !important; }

.egoh-passos__topo { display: none; }
.egoh-passos--js .egoh-passos__topo { display: block; margin-bottom: 26px; }
.egoh-passos__conta {
	font-size: .74rem; letter-spacing: .14em; text-transform: uppercase;
	color: var(--eg-fraca); margin: 0 0 8px;
}
.egoh-passos__barra { height: 3px; background: var(--eg-linha); border-radius: 2px; overflow: hidden; }
.egoh-passos__barra i { display: block; height: 100%; width: 0; background: var(--eg-ouro-fundo); transition: width .25s ease; }

.egoh-passo + .egoh-passo { margin-top: 8px; }
.egoh-passos--js .egoh-passo { animation: egoh-entra .22s ease; }
@keyframes egoh-entra { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.egoh-passos--js .egoh-passo { animation: none; }
	.egoh-passos__barra i { transition: none; }
}

.egoh-passos__acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* ---------- escolha rapida (relacao) ---------- */
.egoh-opcoes-campo { border: 0; margin: 0 0 4px; padding: 0; }
.egoh-opcoes-campo legend {
	padding: 0; font-size: .8rem; letter-spacing: .07em; text-transform: uppercase;
	color: var(--eg-fraca); font-weight: 500; margin-bottom: 10px;
}
.egoh-opcoes { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.egoh-opcao { display: inline-block; }
/* Radio de verdade por baixo: teclado e leitor de tela continuam funcionando. */
.egoh-opcao input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.egoh-opcao span {
	display: inline-block; padding: 10px 18px; border-radius: 22px;
	border: 1px solid var(--eg-linha-forte); background: #fff;
	color: var(--eg-suave); font-size: .92rem; cursor: pointer;
	transition: background-color .18s, border-color .18s, color .18s;
}
.egoh-opcao:hover span { border-color: var(--eg-ouro-fundo); color: var(--eg-tinta); }
.egoh-opcao input:checked + span {
	background: var(--eg-ouro-fundo); border-color: var(--eg-ouro-fundo); color: #fff;
}
.egoh-opcao input:focus-visible + span { outline: 2px solid var(--eg-ouro); outline-offset: 2px; }

@media (max-width: 640px) {
	.egoh-passos__acoes { flex-direction: column-reverse; }
	.egoh-passos__acoes .egoh-botao { width: 100%; text-align: center; }
}

/* ---------- escolha do local: dois caminhos ---------- */
.egoh-modos { display: flex; gap: 8px; margin-bottom: 22px; flex-wrap: wrap; }
.egoh-modo {
	background: none; border: 1px solid var(--eg-linha-forte); border-radius: 3px;
	padding: 10px 18px; font: inherit; font-size: .9rem; color: var(--eg-suave);
	cursor: pointer; transition: background-color .18s, border-color .18s, color .18s;
}
.egoh-modo:hover { border-color: var(--eg-ouro-fundo); color: var(--eg-tinta); }
.egoh-modo.esta-ativo {
	background: var(--eg-morno); border-color: var(--eg-ouro-fundo);
	color: var(--eg-tinta); font-weight: 500;
}
/* Sem JS os dois painéis ficam visíveis; os botões de modo não fazem nada,
   então somem para não prometer o que não cumprem. */
.egoh-modos { display: none; }
.egoh-passos--js .egoh-modos { display: flex; }

.egoh-passo__titulo { font-size: 1.05rem; color: var(--eg-tinta); margin-bottom: .3em; }
/* UF dentro do botão do ponto pré-definido */
.egoh-opcao span em { font-style: normal; opacity: .7; font-size: .85em; margin-left: 6px; }

/* País sem curadoria: aviso honesto, com saída para o outro caminho. */
.egoh-vazio {
	border: 1px dashed var(--eg-linha-forte); border-radius: 4px;
	padding: 22px 24px; background: var(--eg-morno);
}
.egoh-vazio p:last-child { margin-bottom: 0; }

/* Resumo da etapa 1 repetido na etapa 3, para a pessoa saber onde está. */
.egoh-resumo {
	border-left: 2px solid var(--eg-ouro); background: var(--eg-morno);
	padding: 12px 16px; margin-bottom: 24px; color: var(--eg-tinta); font-size: .95rem;
}
.egoh-dica { display: block; font-size: .82rem; color: var(--eg-fraca); margin-top: 5px; }

/* ---------- escolha da urna (cartão inteiro clicável) ---------- */
.egoh-urnas--escolha { margin-bottom: 26px; }
.egoh-urna--escolha { cursor: pointer; position: relative; }
/* radio de verdade, só fora de vista: teclado e leitor de tela seguem valendo */
.egoh-urna--escolha input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.egoh-urna--escolha:hover { border-color: var(--eg-ouro); }
.egoh-urna--escolha input:focus-visible ~ .egoh-urna__foto,
.egoh-urna--escolha input:focus-visible ~ .egoh-urna__corpo { outline: 2px solid var(--eg-ouro); outline-offset: -2px; }

.egoh-urna__selo {
	display: none; align-self: flex-start; margin-top: 10px;
	background: var(--eg-ouro-fundo); color: #fff; border-radius: 20px;
	padding: 4px 14px; font-size: .78rem; letter-spacing: .04em;
}
/* Sem JS o selo aparece pelo próprio :checked; com JS a classe também pinta a borda. */
.egoh-urna--escolha input:checked ~ .egoh-urna__corpo .egoh-urna__selo { display: inline-block; }
.egoh-urna--escolha.esta-escolhida {
	border-color: var(--eg-ouro-fundo);
	box-shadow: 0 0 0 2px var(--eg-ouro-fundo) inset;
}

/* "Ainda não escolhi": mesma altura dos outros, sem foto */
.egoh-urna--depois { background: var(--eg-morno); justify-content: center; }
.egoh-urna--depois .egoh-urna__corpo { flex: 0 0 auto; }
