/* © 2026 Fábio Daniel Almeida Pimentel. Todos os direitos reservados. Ver COPYRIGHT. */
/*
 * ARL RH — estilos públicos (lista de vagas, página da vaga e formulários).
 * Com a linguagem visual do site da ARL: usa as variáveis do site (--arl-*) quando existem
 * e os mesmos valores como alternativa. As fontes não são carregadas aqui: o site já as carrega
 * (Schibsted Grotesk para o texto e Montserrat para os títulos).
 */

.arl-rh {
	--arl-rh-fonte: var(--arl-font, "Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
	--arl-rh-fonte-titulos: "Montserrat", var(--arl-rh-fonte);
	--arl-rh-principal: var(--arl-red, #dd1b1b);
	--arl-rh-principal-hover: #b91616;
	--arl-rh-tinta: var(--arl-ink, #191717);
	--arl-rh-tinta-2: var(--arl-ink-2, #3d3937);
	--arl-rh-texto: var(--arl-body, #6b6664);
	--arl-rh-suave: #9c9694;
	--arl-rh-linha: var(--arl-line, #e5e0dd);
	--arl-rh-linha-campo: #d3ced2;
	--arl-rh-cartao: #ffffff;
	--arl-rh-fundo-suave: #f5f2f1;
	--arl-rh-bloco: #e8e4e2;
	--arl-rh-campo: #ffffff;
	--arl-rh-erro: #a01414;
	--arl-rh-sucesso: #059669;
	--arl-rh-raio: 20px;
	--arl-rh-raio-campo: 4px;
	--arl-rh-espaco: 1.25rem;
	--arl-rh-sombra: 0 10px 30px rgba(25, 23, 23, 0.07);
	--arl-rh-transicao: 160ms linear;

	font-family: var(--arl-rh-fonte);
	font-size: 16px;
	line-height: 1.6;
	color: var(--arl-rh-texto);
}

/* Modo escuro do site da ARL. */
html[data-tema="escuro"] .arl-rh {
	--arl-rh-tinta: #f2efee;
	--arl-rh-tinta-2: #e9e5e3;
	--arl-rh-texto: #b8b2b0;
	--arl-rh-suave: #8d8785;
	--arl-rh-linha: #34302e;
	--arl-rh-linha-campo: #34302e;
	--arl-rh-cartao: #1a1817;
	--arl-rh-fundo-suave: #1c1a19;
	--arl-rh-bloco: #242120;
	--arl-rh-campo: #1c1a19;
	--arl-rh-erro: #ff8a8a;
	--arl-rh-sucesso: #10b981;
	--arl-rh-sombra: none;
}

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

/* Títulos: como os do site (Montserrat, 600, letras juntas). */
.arl-rh :where(h2, h3, h4) {
	font-family: var(--arl-rh-fonte-titulos);
	font-weight: 600;
	color: var(--arl-rh-tinta);
}

.arl-rh :where(h2) {
	margin: 0 0 24px;
	font-size: clamp(28px, 4vw, 36px);
	line-height: 1.12;
	letter-spacing: -0.7px;
}

.arl-rh :where(h3) {
	font-size: 20px;
	line-height: 1.25;
	letter-spacing: -0.3px;
}

.arl-rh :where(p) {
	margin: 0 0 1em;
}

.arl-rh a {
	color: var(--arl-rh-principal);
	text-decoration: none;
	transition: color var(--arl-rh-transicao);
}

.arl-rh a:hover {
	color: var(--arl-rh-principal-hover);
}

.arl-rh-intro,
.arl-rh-vagas,
.arl-rh-espontanea,
.arl-rh-detalhes,
.arl-rh-candidatar {
	margin-block: 0 calc(var(--arl-rh-espaco) * 3.5);
}

.arl-rh-intro {
	max-width: 40rem;
	font-size: 17px;
	line-height: 1.65;
}

/* Etiquetas pequenas em maiúsculas (.arl-label do site). */
.arl-rh-filtros__campo label,
.arl-rh-cartao__empresa,
.arl-rh-detalhes__linha dt {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--arl-rh-suave);
}

/* Filtros */
.arl-rh-filtros {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: flex-end;
	margin-bottom: 28px;
}

.arl-rh-filtros__campo {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 13rem;
	flex: 0 1 16rem;
}

/* Campos (filtros e formulário), como os do formulário de reparação do site. */
.arl-rh-filtros select,
.arl-rh-campo input[type="text"],
.arl-rh-campo input[type="email"],
.arl-rh-campo input[type="tel"],
.arl-rh-campo input[type="number"],
.arl-rh-campo input[type="date"],
.arl-rh-campo input[type="url"],
.arl-rh-campo select,
.arl-rh-campo textarea {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 9px 12px;
	font-family: var(--arl-rh-fonte);
	font-size: 16px;
	line-height: 1.4;
	color: var(--arl-rh-tinta);
	background-color: var(--arl-rh-campo);
	border: 1px solid var(--arl-rh-linha-campo);
	border-radius: var(--arl-rh-raio-campo);
	box-shadow: none;
	transition: border-color var(--arl-rh-transicao), box-shadow var(--arl-rh-transicao);
}

.arl-rh-filtros select {
	padding-block: 11px;
	border-radius: 10px;
}

.arl-rh-campo textarea {
	min-height: 140px;
	resize: vertical;
}

.arl-rh-filtros select:focus,
.arl-rh-campo input:focus,
.arl-rh-campo select:focus,
.arl-rh-campo textarea:focus {
	outline: 0;
	border-color: #c9c2bf;
	box-shadow: 0 0 0 4px rgba(221, 27, 27, 0.08);
}

.arl-rh-campo input[type="file"] {
	width: 100%;
	padding: 10px;
	font-family: var(--arl-rh-fonte);
	font-size: 15px;
	color: var(--arl-rh-texto);
	background: var(--arl-rh-fundo-suave);
	border: 1px dashed var(--arl-rh-linha-campo);
	border-radius: var(--arl-rh-raio-campo);
}

.arl-rh-campo input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 8px 16px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	color: var(--arl-rh-tinta);
	background: var(--arl-rh-campo);
	border: 1px solid var(--arl-rh-linha);
	border-radius: 999px;
	cursor: pointer;
}

.arl-rh-campo ::placeholder {
	color: var(--arl-rh-suave);
}

.arl-rh input[type="checkbox"],
.arl-rh input[type="radio"] {
	accent-color: var(--arl-rh-principal);
	width: 18px;
	height: 18px;
	margin: 0 8px 0 0;
	vertical-align: -3px;
}

/* Lista de vagas: cartões brancos sobre o fundo do site, como os cartões flutuantes da página inicial. */
.arl-rh-lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--arl-rh-espaco);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr));
}

.arl-rh-lista__item {
	margin: 0;
}

.arl-rh-cartao {
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 30px 28px 28px;
	background: var(--arl-rh-fundo-suave);
	border-radius: var(--arl-rh-raio);
	transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1);
}

.arl-rh-cartao:hover {
	transform: translateY(-3px);
}

.arl-rh-cartao__empresa {
	order: -1;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.arl-rh-cartao__titulo {
	margin: 0;
	font-size: 24px;
	letter-spacing: -0.5px;
}

.arl-rh-cartao__titulo a {
	color: var(--arl-rh-tinta);
}

.arl-rh-cartao__titulo a:hover {
	color: var(--arl-rh-principal);
}

.arl-rh-cartao__meta {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 18px;
	font-size: 14px;
	color: var(--arl-rh-texto);
}

.arl-rh-cartao__meta li {
	margin: 0;
}

.arl-rh-meta__rotulo {
	font-weight: 500;
	color: var(--arl-rh-tinta-2);
}

.arl-rh-cartao__resumo {
	margin: 4px 0 0;
	font-size: 15px;
	color: var(--arl-rh-texto);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.arl-rh-cartao__acoes {
	margin: auto 0 0;
	padding-top: 10px;
}

/* No cartão, "Ver vaga" é uma ligação vermelha com seta, como o "Saber mais →" do site. */
.arl-rh-cartao .arl-rh-botao,
.arl-rh .arl-rh-cartao a.arl-rh-botao {
	padding: 0;
	font-size: 16px;
	font-weight: 400;
	color: var(--arl-rh-principal);
	background: none;
	border: 0;
	border-radius: 0;
}

.arl-rh-cartao .arl-rh-botao::after {
	content: "\2192";
	transition: transform var(--arl-rh-transicao);
}

.arl-rh .arl-rh-cartao a.arl-rh-botao:hover {
	color: var(--arl-rh-principal-hover);
	background: none;
}

.arl-rh-cartao .arl-rh-botao:hover::after {
	transform: translateX(3px);
}

.arl-rh-vazio {
	padding: 24px 28px;
	background: var(--arl-rh-fundo-suave);
	border-radius: var(--arl-rh-raio);
}

/*
 * No Oxygen, os blocos são colunas flex com align-items: flex-start, e o shortcode encolhia
 * até à largura do texto. Assim ocupa a largura toda do bloco.
 */
.ct-div-block > .ct-shortcode:has(> .arl-rh) {
	align-self: stretch;
	width: 100%;
}

/* Grupos de vagas por tipo: "Ofertas de emprego", depois "Estágios". */
.arl-rh-grupo + .arl-rh-grupo {
	margin-top: 56px;
}

.arl-rh .arl-rh-grupo__titulo {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 18px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.2px;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--arl-rh-tinta-2);
}

.arl-rh-grupo__total {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 24px;
	padding: 0 8px;
	font-family: var(--arl-rh-fonte);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--arl-rh-principal);
	background: rgba(221, 27, 27, 0.08);
	border-radius: 999px;
}

/*
 * Vagas em grelha de colunas (estilo="lista"): cada vaga com a linha por cima, como a lista
 * "Vagas e estágios abertos" do site, mas lado a lado para usar a largura da página.
 */
.arl-rh-linhas {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0 40px;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr));
}

.arl-rh-linha {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
	padding: 24px 0 30px;
	border-top: 2px solid var(--arl-rh-linha);
	transition: border-color var(--arl-rh-transicao);
}

.arl-rh-linha:hover,
.arl-rh-linha:focus-within {
	border-top-color: var(--arl-rh-principal);
}

.arl-rh-linha__info {
	min-width: 0;
	max-width: 100%;
}

.arl-rh-linha__titulo {
	margin: 0 0 4px;
	font-size: 22px;
	line-height: 1.3;
	letter-spacing: -0.3px;
}

.arl-rh-linha__titulo a {
	color: var(--arl-rh-tinta);
}

.arl-rh-linha__titulo a:hover {
	color: var(--arl-rh-principal);
}

.arl-rh-linha__meta {
	margin: 0;
	font-size: 15px;
	color: var(--arl-rh-texto);
}

.arl-rh-linha__meta .arl-rh-etiqueta {
	margin-right: 6px;
	vertical-align: 1px;
}

.arl-rh-linha__ver {
	flex: none;
	margin-top: auto;
	font-size: 16px;
	white-space: nowrap;
}

.arl-rh-linha__ver::after {
	content: "\2192";
	display: inline-block;
	margin-left: 0.3em;
	transition: transform var(--arl-rh-transicao);
}

.arl-rh-linha:hover .arl-rh-linha__ver::after {
	transform: translateX(3px);
}

/* Sobretítulo pequeno por cima dos títulos de secção (como "SERVIÇOS" no site). */
.arl-rh-sobretitulo {
	margin: 0 0 10px;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--arl-rh-suave);
}

.arl-rh-etiqueta {
	display: inline-block;
	padding: 3px 10px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 1.5;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--arl-rh-principal);
	background: rgba(221, 27, 27, 0.08);
	border-radius: 999px;
}

/* Botões: pílula vermelha (primário) e pílula com borda (secundário, como os "Mais pedidos"). */
.arl-rh-botao,
.arl-rh-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 26px;
	font-family: var(--arl-rh-fonte);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	color: #ffffff;
	background: var(--arl-rh-principal);
	border: 1px solid var(--arl-rh-principal);
	border-radius: 999px;
	cursor: pointer;
	transition: background-color var(--arl-rh-transicao), border-color var(--arl-rh-transicao), color var(--arl-rh-transicao);
}

.arl-rh a.arl-rh-botao {
	color: #ffffff;
}

.arl-rh-botao:hover,
.arl-rh-form button[type="submit"]:hover {
	color: #ffffff;
	background: var(--arl-rh-principal-hover);
	border-color: var(--arl-rh-principal-hover);
}

.arl-rh-form button[type="submit"] {
	width: 100%;
	max-width: 26rem;
	padding: 18px 30px;
	font-size: 17px;
}

.arl-rh-botao--secundario,
.arl-rh a.arl-rh-botao--secundario {
	padding-block: 11px;
	font-size: 15px;
	font-weight: 400;
	color: var(--arl-rh-tinta-2);
	background: transparent;
	border-color: var(--arl-rh-linha-campo);
}

.arl-rh-botao--secundario:hover,
.arl-rh a.arl-rh-botao--secundario:hover {
	color: var(--arl-rh-principal);
	background: transparent;
	border-color: var(--arl-rh-principal);
}

.arl-rh-botao:focus-visible,
.arl-rh-form button:focus-visible,
.arl-rh a:focus-visible,
.arl-rh-form input[type="checkbox"]:focus-visible,
.arl-rh-form input[type="radio"]:focus-visible,
.arl-rh-form input[type="file"]:focus-visible {
	outline: 2px solid var(--arl-rh-principal);
	outline-offset: 3px;
}

/* Página da vaga: topo, conteúdo com coluna lateral e o formulário por baixo. */
.arl-rh-vaga {
	max-width: 1160px;
	margin-inline: auto;
	padding: clamp(32px, 6vw, 72px) clamp(16px, 4vw, 32px) 0;
}

.arl-rh-vaga__topo {
	max-width: 52rem;
	margin-bottom: clamp(32px, 5vw, 56px);
}

.arl-rh-vaga__etiqueta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--arl-rh-principal);
}

.arl-rh .arl-rh-vaga__titulo {
	margin: 0 0 20px;
	font-family: var(--arl-rh-fonte-titulos);
	font-size: clamp(32px, 5vw, 52px);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -1.2px;
	color: var(--arl-rh-tinta);
}

.arl-rh-vaga__factos {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}

.arl-rh-vaga__factos li {
	padding: 6px 14px;
	font-size: 14px;
	font-weight: 500;
	color: var(--arl-rh-tinta-2);
	background: var(--arl-rh-fundo-suave);
	border: 1px solid var(--arl-rh-linha);
	border-radius: 999px;
}

.arl-rh-vaga__grelha {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
	gap: clamp(24px, 4vw, 48px);
	align-items: start;
	margin-bottom: calc(var(--arl-rh-espaco) * 3.5);
}

.arl-rh-vaga__principal {
	display: grid;
	gap: 20px;
	min-width: 0;
}

.arl-rh-vaga__conteudo {
	font-size: 17px;
	line-height: 1.7;
}

.arl-rh-vaga__conteudo > :last-child {
	margin-bottom: 0;
}

/* Tarefas, requisitos e competências: um cartão por secção preenchida. */
.arl-rh-seccao {
	padding: 28px 32px;
	background: var(--arl-rh-cartao);
	border: 1px solid var(--arl-rh-linha);
	border-radius: var(--arl-rh-raio);
}

.arl-rh .arl-rh-seccao h2 {
	margin: 0 0 18px;
	font-size: 22px;
	letter-spacing: -0.4px;
}

.arl-rh-seccao ul {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.arl-rh-seccao li {
	position: relative;
	padding-left: 34px;
	line-height: 1.55;
	color: var(--arl-rh-tinta-2);
}

/* Visto vermelho num círculo claro. */
.arl-rh-seccao li::before {
	content: "";
	position: absolute;
	top: 1px;
	left: 0;
	width: 22px;
	height: 22px;
	background: rgba(221, 27, 27, 0.1);
	border-radius: 50%;
}

.arl-rh-seccao li::after {
	content: "";
	position: absolute;
	top: 6px;
	left: 8px;
	width: 6px;
	height: 10px;
	border: solid var(--arl-rh-principal);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

/* Coluna lateral: detalhes e botão, fixos ao descer. */
.arl-rh-vaga__lado {
	position: sticky;
	top: 24px;
	display: grid;
	gap: 16px;
}

.arl-rh-detalhes {
	padding: 30px 32px;
	background: var(--arl-rh-fundo-suave);
	border-radius: var(--arl-rh-raio);
}

.arl-rh .arl-rh-detalhes h2 {
	margin-bottom: 18px;
	font-size: 22px;
	letter-spacing: -0.4px;
}

.arl-rh-detalhes__lista {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr));
	gap: 18px 24px;
	margin: 0;
}

.arl-rh-vaga__lado .arl-rh-detalhes {
	margin: 0;
}

.arl-rh-vaga__lado .arl-rh-detalhes__lista {
	grid-template-columns: 1fr;
	gap: 0;
}

.arl-rh-vaga__lado .arl-rh-detalhes__linha {
	padding-block: 12px;
	border-top: 1px solid var(--arl-rh-linha);
}

.arl-rh-vaga__lado .arl-rh-detalhes__linha:first-child {
	padding-top: 0;
	border-top: 0;
}

.arl-rh-detalhes__linha {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.arl-rh-detalhes__linha dd {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	color: var(--arl-rh-tinta);
}

.arl-rh .arl-rh-vaga__candidatar {
	width: 100%;
	padding-block: 16px;
}

@media (max-width: 900px) {

	.arl-rh-vaga__grelha {
		grid-template-columns: 1fr;
	}

	.arl-rh-vaga__lado {
		position: static;
	}

	/* No telemóvel o botão do topo chega; o da coluna lateral ficava repetido. */
	.arl-rh .arl-rh-vaga__candidatar {
		display: none;
	}
}

/* Painel do formulário: branco, com o bloco cinzento desfasado por trás, como na página inicial. */
.arl-rh-candidatar,
.arl-rh-espontanea {
	position: relative;
	padding: 40px;
	background: var(--arl-rh-cartao);
	border-radius: var(--arl-rh-raio);
	box-shadow: 44px -8px 0 0 var(--arl-rh-bloco);
	margin-right: 44px;
}

.arl-rh-espontanea__texto {
	max-width: 40rem;
	margin-bottom: var(--arl-rh-espaco);
	font-size: 17px;
	line-height: 1.65;
}

/* Avisos */
.arl-rh-aviso {
	padding: 16px 24px;
	color: var(--arl-rh-tinta-2);
	background: var(--arl-rh-fundo-suave);
	border-left: 4px solid var(--arl-rh-linha-campo);
	border-radius: 10px;
}

.arl-rh-aviso--erro {
	color: var(--arl-rh-erro);
	background: rgba(221, 27, 27, 0.07);
	border-left-color: var(--arl-rh-principal);
}

/* Igual ao destaque verde do formulário da página inicial. */
.arl-rh-aviso--sucesso {
	color: var(--arl-rh-tinta);
	background: rgba(5, 150, 105, 0.09);
	border-left-color: var(--arl-rh-sucesso);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.45;
}

html[data-tema="escuro"] .arl-rh .arl-rh-aviso--sucesso {
	background: rgba(16, 185, 129, 0.15);
}

.arl-rh-aviso p {
	margin: 0;
}

.arl-rh-aviso p + p,
.arl-rh-aviso ul {
	margin: 0.5em 0 0;
}

.arl-rh-aviso a {
	color: inherit;
	text-decoration: underline;
}

.arl-rh-aviso:focus {
	outline: 2px solid var(--arl-rh-principal);
	outline-offset: 2px;
}

.arl-rh-form__resumo:not(:empty) {
	margin-bottom: var(--arl-rh-espaco);
}

.arl-rh-aviso--encerrada {
	font-weight: 500;
}

/* Formulário */
.arl-rh-form__campos {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 20px;
	margin-bottom: 28px;
}

.arl-rh-campo {
	flex: 1 1 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.arl-rh-campo--half {
	flex-basis: calc(50% - 10px);
}

.arl-rh-campo--checkbox,
.arl-rh-campo--consentimento {
	display: block;
	font-size: 15px;
	color: var(--arl-rh-tinta-2);
}

/* Etiquetas dos campos: como no formulário de reparação (normais, 15px, 500). */
.arl-rh-campo__rotulo {
	padding: 0;
	font-size: 15px;
	font-weight: 500;
	color: var(--arl-rh-tinta);
}

.arl-rh-campo__ajuda {
	margin: 0;
	font-size: 14px;
	color: var(--arl-rh-suave);
}

.arl-rh-opcao {
	display: block;
	margin: 4px 0;
	font-size: 15px;
	color: var(--arl-rh-tinta-2);
}

.arl-rh-obrigatorio {
	color: var(--arl-rh-principal);
}

/* Títulos de secção dentro do formulário, com a linha por baixo (como "Equipamento"). */
.arl-rh-form__titulo {
	margin: 14px 0 0;
	padding-bottom: 10px;
	font-family: var(--arl-rh-fonte);
	font-size: 19px;
	letter-spacing: -0.2px;
	border-bottom: 1px solid var(--arl-rh-linha);
}

.arl-rh-campo [aria-invalid="true"] {
	border-color: var(--arl-rh-principal);
}

.arl-rh-campo__erro {
	margin: 0;
	font-size: 14px;
	color: var(--arl-rh-erro);
}

.arl-rh-campo--checkbox .arl-rh-campo__erro,
.arl-rh-campo--consentimento .arl-rh-campo__erro {
	margin-top: 6px;
}

/* Passos da candidatura espontânea. Sem JavaScript aparecem todos, cada um com o seu título. */
.arl-rh-passo {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.arl-rh-passo:focus {
	outline: none;
}

.arl-rh-form [hidden] {
	display: none !important;
}

.arl-rh-passo__titulo {
	display: block;
	width: 100%;
	margin: 0 0 18px;
	padding: 0 0 10px;
	font-family: var(--arl-rh-fonte-titulos);
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.2px;
	color: var(--arl-rh-tinta);
	border-bottom: 1px solid var(--arl-rh-linha);
}

.arl-rh-passo__numero {
	display: block;
	margin-bottom: 4px;
	font-family: var(--arl-rh-fonte);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--arl-rh-principal);
}

.arl-rh-passo__nav,
.arl-rh-form--passos .arl-rh-form__acoes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0;
}

.arl-rh-passo__proximo {
	margin-left: auto;
}

.arl-rh-passo__proximo::after {
	content: "\2192";
}

.arl-rh-form--passos .arl-rh-form__acoes button[type="submit"] {
	flex: 1 1 14rem;
}

.arl-rh-form[aria-busy="true"] {
	opacity: 0.7;
}

.arl-rh-form__estado:empty {
	display: none;
}

/* Honeypot: fora do ecrã, nunca visível para pessoas. */
.arl-rh-hp {
	position: absolute !important;
	left: -10000px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

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

@media (prefers-reduced-motion: reduce) {

	.arl-rh-cartao,
	.arl-rh-cartao:hover,
	.arl-rh-linha,
	.arl-rh-linha__ver::after,
	.arl-rh-linha:hover .arl-rh-linha__ver::after {
		transition: none;
		transform: none;
	}
}

@media (max-width: 767px) {

	.arl-rh-candidatar,
	.arl-rh-espontanea {
		margin-right: 0;
		padding: 24px 20px;
		box-shadow: var(--arl-rh-sombra);
	}
}

@media (max-width: 600px) {

	.arl-rh-campo--half {
		flex-basis: 100%;
	}

	.arl-rh-filtros__campo {
		flex: 1 1 100%;
	}

	.arl-rh-cartao,
	.arl-rh-detalhes,
	.arl-rh-seccao {
		padding: 22px;
	}

	.arl-rh-form button[type="submit"] {
		max-width: none;
	}
}
