/* Candidatura de eletricistas ("Trabalhe connosco"; docs/ELETRICISTAS.md). Por cima de styles.css (tema "Terra"). */
.pagina-candidatura main > section { padding: 28px 0 56px; }
.pagina-candidatura .publico { display: grid; gap: 22px; }
.pagina-candidatura .pilha { display: grid; gap: 14px; min-width: 0; align-content: start; }
.pagina-candidatura .rotulo { margin: 0; font: 700 .76rem/1.2 var(--letra); letter-spacing: .06em; text-transform: uppercase; color: var(--argila-texto); }
.pub-topo { padding: 24px 20px; border-radius: 26px; background: radial-gradient(120% 90% at 90% 10%, color-mix(in srgb, var(--areia) 28%, transparent), transparent 60%), var(--musgo-claro); }
.pub-topo h1 { font-size: clamp(1.7rem, 5vw, 2.5rem); margin: 6px 0 10px; max-width: 18ch; }
.pub-topo h1 em { font-style: normal; color: var(--musgo-texto); }
.pub-topo > p { max-width: 56ch; margin: 0; color: var(--texto-suave); font-size: 1.05rem; }
.pub-topo > p + p { margin-top: 8px; }
.pub-topo .pub-entrar { margin-top: 18px; font-size: .95rem; }
.pub-topo .pub-entrar a { display: inline-block; padding: 10px 0; font-weight: 700; }
.pontos { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
.pontos li { display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: start; }
.pontos svg { width: 30px; height: 30px; color: var(--argila); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pontos b { display: block; }
.pontos span { font-size: .92rem; color: var(--texto-suave); }
@media (min-width: 920px) {
  .pagina-candidatura .publico { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; }
  .pub-topo { padding: 34px 30px; position: sticky; top: 88px; }
}

.pagina-candidatura form h2, .enviada h2 { margin: 0; font-size: 1.5rem; }
.pagina-candidatura .cartao p { color: var(--texto); }
@media (min-width: 560px) { .pagina-candidatura form .duas { grid-template-columns: 1fr 1fr; } }
.grupo-concelhos { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; gap: 8px; }
.grupo-concelhos legend { padding: 0; margin-bottom: 6px; font-weight: 600; font-size: .95rem; }
.fichas { display: flex; flex-wrap: wrap; gap: 8px; max-height: 232px; overflow-y: auto; padding: 4px; margin: -4px; }
.ficha { position: relative; display: block; }
.ficha input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; cursor: pointer; }
.ficha span { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 14px; border-radius: 999px; border: 1.5px solid var(--borda); background: var(--fundo); font-weight: 600; font-size: .92rem; }
.ficha input:checked + span { background: var(--musgo); border-color: var(--musgo); color: var(--sobre-musgo); }
.ficha input:focus-visible + span { outline: 3px solid var(--foco); outline-offset: 2px; }
.pagina-candidatura input[type=file] { padding: 8px; font-size: .9rem; }
.pagina-candidatura .caixa { align-items: flex-start; font-weight: 400; }
.pagina-candidatura .caixa input { margin-top: 2px; }
.pagina-candidatura [aria-invalid="true"] { border-color: var(--alarme); }
/* Campo-armadilha: fora do ecrã (não com display:none, que alguns robôs saltam). */
.armadilha { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.so-leitor { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.enviada .visto { width: 56px; height: 56px; border-radius: 50%; background: var(--musgo); color: var(--sobre-musgo); display: grid; place-items: center; }
.enviada .visto svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.enviada p { margin: 0; }
ol.depois { margin: 6px 0 0; padding-left: 20px; display: grid; gap: 4px; }
