/* FDR Concursos — tabela e menu de estados.
   Sem dependência de framework: o tema jnews já carrega CSS demais.
   No mobile a tabela vira cartão (linha = bloco, cabeçalho vira rótulo). */

/* Integração com o tema.
   O jnews do FDR declara estas variáveis no <body>:
     --j-accent-color: #fcb338   (âmbar da marca)
     --j-heading-color: #212121
     --j-entry-link-color: #0287a0
     --j-alt-color: #b5b5b5
   e usa "Helvetica Neue", Helvetica, Roboto, Arial a 16px/26px.

   Então nada aqui fixa fonte nem cor de marca: tudo herda, com um fallback
   para o caso de o bloco rodar fora do tema (preview, outro site da rede).
   Se amanhã o FDR trocar o âmbar, esta página troca junto, sozinha. */

.fdrc {
	--fdrc-marca: var(--j-accent-color, #fcb338);
	--fdrc-marca-texto: var(--j-heading-color, #212121);
	--fdrc-marca-clara: #fff6e3;
	/* Texto em cima de fundo claro nunca usa o âmbar puro: 1,8:1 sobre branco.
	   Este tom escuro da mesma família dá 7:1 e continua lendo como a marca. */
	--fdrc-marca-escura: #7a5300;
	--fdrc-link: var(--j-entry-link-color, #0287a0);
	--fdrc-texto: var(--j-heading-color, #16181d);
	--fdrc-suave: #6b7280;
	--fdrc-borda: #e3e6ea;
	--fdrc-fundo-alt: #f7f8fa;
	--fdrc-alerta: #b42318;
	--fdrc-alerta-clara: #fdece9;
	--fdrc-espera: #8a6d00;
	--fdrc-espera-clara: #fff6da;
	--fdrc-raio: 6px;

	color: var(--fdrc-texto);
	font-family: inherit;
	font-size: inherit;
	line-height: 1.5;
	margin: 0 0 32px;
}

/* Formulário herda a tipografia do tema: o jnews estiliza input e select
   globalmente, e brigar com ele é o que deixa o bloco com cara de plugin. */
.fdrc input,
.fdrc select,
.fdrc button {
	font-family: inherit;
}

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

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

.fdrc-resumo {
	margin: 0 0 14px;
	color: var(--fdrc-suave);
	font-size: 14px;
}

.fdrc-resumo strong {
	color: var(--fdrc-texto);
	font-size: 16px;
}

/* ------------------------------------------------------------ Menu de UFs */

.fdrc-estados {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 16px;
	padding: 0;
}

.fdrc-uf {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 40px;
	padding: 6px 12px;
	border: 1px solid var(--fdrc-borda);
	border-radius: 999px;
	background: #fff;
	color: var(--fdrc-texto);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .15s, border-color .15s;
}

.fdrc-uf:hover,
.fdrc-uf:focus-visible {
	background: var(--fdrc-marca-clara);
	border-color: var(--fdrc-marca);
	color: var(--fdrc-marca-escura);
}

.fdrc-uf.is-ativo {
	background: var(--fdrc-marca);
	border-color: var(--fdrc-marca);
	color: var(--fdrc-marca-texto);
}

.fdrc-uf__n {
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	padding: 3px 6px;
	border-radius: 999px;
	background: var(--fdrc-fundo-alt);
	color: var(--fdrc-suave);
}

.fdrc-uf.is-ativo .fdrc-uf__n {
	background: rgba(0, 0, 0, .14);
	color: var(--fdrc-marca-texto);
}

/* --------------------------------------------------------------- Filtros */

.fdrc-filtros {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 16px;
}

.fdrc-filtro {
	flex: 1 1 180px;
	min-width: 0;
}

.fdrc-filtro--busca {
	flex: 2 1 280px;
}

.fdrc-filtros input[type="search"],
.fdrc-filtros select {
	width: 100%;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--fdrc-borda);
	border-radius: var(--fdrc-raio);
	background: #fff;
	font-size: 15px;
	color: var(--fdrc-texto);
}

.fdrc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 16px;
	border: 1px solid var(--fdrc-borda);
	border-radius: var(--fdrc-raio);
	background: #fff;
	color: var(--fdrc-texto);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
}

/* O âmbar da marca é claro demais para texto branco (contraste 1,8:1).
   Com o cinza-escuro do tema em cima, vai a 9:1 e continua sendo o botão
   do FDR. */
.fdrc-btn--primario {
	background: var(--fdrc-marca);
	border-color: var(--fdrc-marca);
	color: var(--fdrc-marca-texto);
}

.fdrc-btn:hover {
	filter: brightness(.96);
}

/* ----------------------------------------------------- Layout em lista */

.fdrc-lista__regiao {
	margin: 26px 0 10px;
	padding-bottom: 6px;
	border-bottom: 2px solid var(--fdrc-marca);
	color: var(--fdrc-texto);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.fdrc-lista__uf {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 18px 0 8px;
	font-size: 17px;
	font-weight: 700;
}

.fdrc-lista__uf span {
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--fdrc-fundo-alt);
	color: var(--fdrc-suave);
	font-size: 12px;
	font-weight: 700;
}

.fdrc-lista__itens {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--fdrc-borda);
	border-radius: var(--fdrc-raio);
	overflow: hidden;
	background: #fff;
}

.fdrc-item {
	display: grid;
	grid-template-columns: minmax(0, 2.2fr) minmax(0, 2fr) minmax(0, 1.2fr) auto;
	gap: 12px 16px;
	align-items: center;
	padding: 12px 14px;
	border-bottom: 1px solid var(--fdrc-borda);
}

/* `display` declarado pelo autor vence o `[hidden] { display: none }` que o
   navegador traz. Sem estas três linhas o filtro esconde no JS e o item
   continua na tela. */
.fdrc-item[hidden],
.fdrc-lista__uf[hidden],
.fdrc-lista__itens[hidden],
.fdrc-detalhe[hidden] {
	display: none !important;
}

.fdrc-item:last-child {
	border-bottom: 0;
}

.fdrc-item:hover {
	background: var(--fdrc-fundo-alt);
}

.fdrc-item--encerrado {
	opacity: .62;
}

.fdrc-item__principal {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.fdrc-item__dados {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	min-width: 0;
	font-size: 13px;
	color: var(--fdrc-suave);
}

.fdrc-dado--vagas {
	color: var(--fdrc-texto);
	font-size: 14px;
}

.fdrc-dado--cargos {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fdrc-item__prazo {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	font-size: 13px;
}

.fdrc-item__acoes {
	display: flex;
	align-items: center;
	gap: 6px;
}

.fdrc-item .fdrc-detalhe {
	grid-column: 1 / -1;
	margin: 6px 0 0;
	padding: 14px;
	border-radius: 8px;
	background: var(--fdrc-fundo-alt);
}

/* Estrela de acompanhar */

.fdrc-salvar {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid var(--fdrc-borda);
	border-radius: 8px;
	background: #fff;
	color: var(--fdrc-suave);
	font-size: 17px;
	line-height: 1;
	cursor: pointer;
}

.fdrc-salvar:hover {
	border-color: var(--fdrc-marca);
	color: var(--fdrc-marca-escura);
}

.fdrc-salvar.is-salvo {
	border-color: var(--fdrc-espera);
	color: var(--fdrc-espera);
	background: var(--fdrc-espera-clara);
}

.fdrc-salvar[disabled] {
	opacity: .5;
	cursor: wait;
}

/* No desktop o botão é só o "+" ao lado dos links; no mobile ganha rótulo e
   vira uma barra, porque lá ele é o único jeito de ver banca e taxa. */
.fdrc-expandir__txt {
	display: none;
}

.fdrc-item__acoes .fdrc-expandir {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
}

@media (max-width: 782px) {

	.fdrc-expandir__txt {
		display: inline;
		margin-right: 5px;
		font-size: 13px;
		font-weight: 600;
	}
}

@media (max-width: 782px) {

	.fdrc-item {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 14px;
	}

	.fdrc-item__prazo {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
	}

	.fdrc-item__acoes {
		flex-wrap: wrap;
	}

	.fdrc-item__acoes .fdrc-acoes {
		flex: 1 1 100%;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.fdrc-item__acoes .fdrc-btn {
		flex: 1 1 45%;
		min-height: 42px;
	}

	.fdrc-item__acoes .fdrc-expandir {
		flex: 1 1 100%;
		width: 100%;
		height: 40px;
	}

	.fdrc-dado--cargos {
		white-space: normal;
	}
}

/* --------------------------------------------------------------- Tabela */

.fdrc-tabela-wrap {
	overflow-x: auto;
	border: 1px solid var(--fdrc-borda);
	border-radius: var(--fdrc-raio);
	background: #fff;
}

.fdrc-tabela {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.fdrc-tabela th {
	position: sticky;
	top: 0;
	z-index: 2;
	padding: 12px 14px;
	background: var(--fdrc-fundo-alt);
	border-bottom: 1px solid var(--fdrc-borda);
	color: var(--fdrc-suave);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .03em;
	text-align: left;
	text-transform: uppercase;
	white-space: nowrap;
}

.fdrc-tabela th[data-ordenavel] {
	cursor: pointer;
	user-select: none;
}

.fdrc-tabela th[data-ordenavel]::after {
	content: "↕";
	margin-left: 4px;
	opacity: .45;
}

.fdrc-tabela th[aria-sort="ascending"]::after {
	content: "↑";
	opacity: 1;
}

.fdrc-tabela th[aria-sort="descending"]::after {
	content: "↓";
	opacity: 1;
}

.fdrc-tabela td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--fdrc-borda);
	vertical-align: middle;
}

/* São 10 colunas: no desktop a tabela rola na horizontal e a coluna da
   instituição fica fixa à esquerda, senão o leitor perde a referência de qual
   concurso está olhando. */
@media (min-width: 783px) {

	.fdrc-tabela {
		min-width: 1040px;
	}

	.fdrc-tabela .fdrc-col--logo {
		position: sticky;
		left: 0;
		z-index: 1;
		width: 300px;
		min-width: 280px;
		background: #fff;
		box-shadow: 1px 0 0 var(--fdrc-borda);
	}

	.fdrc-tabela th.fdrc-col--logo {
		z-index: 3;
		background: var(--fdrc-fundo-alt);
	}

	.fdrc-tabela tbody tr:hover .fdrc-col--logo {
		background: var(--fdrc-fundo-alt);
	}

	.fdrc-tabela td.fdrc-col--salario,
	.fdrc-tabela td.fdrc-col--salario_medio,
	.fdrc-tabela td.fdrc-col--inicio,
	.fdrc-tabela td.fdrc-col--fim,
	.fdrc-tabela td.fdrc-col--prova,
	.fdrc-tabela td.fdrc-col--resultado,
	.fdrc-tabela td.fdrc-col--situacao {
		white-space: nowrap;
	}

	.fdrc-tabela td.fdrc-col--nivel,
	.fdrc-tabela td.fdrc-col--area {
		min-width: 130px;
	}

	.fdrc-tabela td.fdrc-col--acoes,
	.fdrc-tabela td.fdrc-col--acao {
		min-width: 130px;
	}
}

/* --------------------------------------------------- Links de saída (rewarder) */

.fdrc-acoes {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.fdrc-btn--linha {
	min-height: 32px;
	padding: 5px 12px;
	font-size: 13px;
	font-weight: 600;
}

.fdrc-acoes .fdrc-btn--primario {
	min-height: 34px;
	padding: 6px 12px;
	font-size: 13px;
}

/* Chip de área de atuação */

.fdrc-area {
	display: inline-block;
	margin: 0 3px 3px 0;
	padding: 3px 8px;
	border-radius: 6px;
	background: var(--fdrc-fundo-alt);
	color: var(--fdrc-suave);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
}

.fdrc-area:hover {
	background: var(--fdrc-marca-clara);
	color: var(--fdrc-marca-escura);
}

/* ------------------------------------------------------- Linha de detalhe */

.fdrc-col--expandir {
	width: 44px;
	text-align: center;
}

.fdrc-expandir {
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid var(--fdrc-borda);
	border-radius: 8px;
	background: #fff;
	color: var(--fdrc-suave);
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
}

.fdrc-expandir[aria-expanded="true"] {
	background: var(--fdrc-marca);
	border-color: var(--fdrc-marca);
	color: var(--fdrc-marca-texto);
}

.fdrc-detalhe > td {
	background: var(--fdrc-fundo-alt);
	padding: 14px 18px;
}

.fdrc-detalhe__lista {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 10px 20px;
	margin: 0;
}

.fdrc-detalhe__lista dt {
	color: var(--fdrc-suave);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.fdrc-detalhe__lista dd {
	margin: 2px 0 0;
	font-size: 14px;
}

.fdrc-detalhe__materia {
	margin: 14px 0 0;
	font-size: 13px;
}

.fdrc-detalhe__materia a {
	color: var(--fdrc-link);
	font-weight: 600;
}

.fdrc-tabela tr:last-child td {
	border-bottom: 0;
}

.fdrc-tabela tbody tr:hover {
	background: var(--fdrc-fundo-alt);
}

.fdrc-linha--encerrado {
	opacity: .62;
}

/* Instituição + logo */

.fdrc-orgao {
	display: flex;
	align-items: center;
	gap: 10px;
	color: inherit;
	text-decoration: none;
	min-width: 220px;
}

.fdrc-orgao:hover .fdrc-orgao__nome {
	color: var(--fdrc-link);
	text-decoration: underline;
}

.fdrc-logo {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	object-fit: contain;
	border: 1px solid var(--fdrc-borda);
	border-radius: 8px;
	background: #fff;
	padding: 3px;
}

.fdrc-logo--vazio {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--fdrc-marca-clara);
	color: var(--fdrc-marca-escura);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -.02em;
}

.fdrc-orgao__txt {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.fdrc-orgao__nome {
	font-weight: 600;
	line-height: 1.25;
}

.fdrc-orgao__local {
	color: var(--fdrc-suave);
	font-size: 12px;
}

.fdrc-vagas {
	font-size: 15px;
	white-space: nowrap;
}

.fdrc-prazo {
	white-space: nowrap;
}

.fdrc-alerta {
	display: block;
	margin-top: 3px;
	color: var(--fdrc-alerta);
	font-size: 12px;
	font-weight: 700;
}

.fdrc-tag {
	display: inline-block;
	padding: 4px 9px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.fdrc-tag--aberto {
	background: var(--fdrc-marca-clara);
	color: var(--fdrc-marca-escura);
}

.fdrc-tag--previsto {
	background: var(--fdrc-espera-clara);
	color: var(--fdrc-espera);
}

.fdrc-tag--encerrado {
	background: var(--fdrc-fundo-alt);
	color: var(--fdrc-suave);
}

.fdrc-vazio {
	padding: 24px;
	border: 1px dashed var(--fdrc-borda);
	border-radius: var(--fdrc-raio);
	color: var(--fdrc-suave);
	text-align: center;
}

.fdrc-paginacao {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 18px;
}

.fdrc-paginacao .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 0 10px;
	border: 1px solid var(--fdrc-borda);
	border-radius: 8px;
	text-decoration: none;
	color: var(--fdrc-texto);
}

.fdrc-paginacao .page-numbers.current {
	background: var(--fdrc-marca);
	border-color: var(--fdrc-marca);
	color: var(--fdrc-marca-texto);
}

/* ------------------------------------------------- Mobile: linha vira card */

@media (max-width: 782px) {

	.fdrc-tabela-wrap {
		border: 0;
		background: transparent;
		overflow: visible;
	}

	.fdrc-tabela,
	.fdrc-tabela tbody,
	.fdrc-tabela tr,
	.fdrc-tabela td {
		display: block;
		width: 100%;
	}

	.fdrc-tabela thead {
		display: none;
	}

	.fdrc-tabela tr {
		margin: 0 0 12px;
		padding: 14px;
		border: 1px solid var(--fdrc-borda);
		border-radius: var(--fdrc-raio);
		background: #fff;
	}

	.fdrc-tabela tbody tr:hover {
		background: #fff;
	}

	.fdrc-tabela td {
		display: grid;
		grid-template-columns: 38% 1fr;
		gap: 10px;
		align-items: baseline;
		padding: 7px 0;
		border-bottom: 1px dashed var(--fdrc-borda);
	}

	/* O aviso de prazo é um segundo filho do grid: sem isso ele cai embaixo do
	   rótulo, na coluna da esquerda. */
	.fdrc-tabela td .fdrc-alerta {
		grid-column: 2;
	}

	.fdrc-tabela td::before {
		content: attr(data-label);
		color: var(--fdrc-suave);
		font-size: 12px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: .03em;
	}

	/* A instituição é o "título" do card: ocupa a linha inteira, sem rótulo. */
	.fdrc-tabela td.fdrc-col--logo {
		display: block;
		padding: 0 0 10px;
	}

	.fdrc-tabela td.fdrc-col--logo::before {
		display: none;
	}

	.fdrc-orgao {
		min-width: 0;
	}

	.fdrc-orgao__nome {
		font-size: 15px;
	}

	/* Botões viram barras largas no fim do card: alvo de toque confortável. */
	.fdrc-tabela td.fdrc-col--acao,
	.fdrc-tabela td.fdrc-col--acoes {
		display: block;
		padding: 12px 0 0;
		border-bottom: 0;
	}

	.fdrc-tabela td.fdrc-col--acao::before,
	.fdrc-tabela td.fdrc-col--acoes::before {
		display: none;
	}

	.fdrc-tabela td.fdrc-col--acao .fdrc-btn,
	.fdrc-tabela td.fdrc-col--acoes .fdrc-btn {
		width: 100%;
		min-height: 44px;
		font-size: 15px;
	}

	.fdrc-acoes {
		gap: 8px;
	}

	/* No cartão os campos já aparecem todos; o "+" vira um link discreto para o
	   detalhe (banca, taxa, faixa salarial). */
	.fdrc-tabela td.fdrc-col--expandir {
		display: block;
		width: auto;
		padding: 10px 0 0;
		border-bottom: 0;
		text-align: left;
	}

	.fdrc-tabela td.fdrc-col--expandir::before {
		display: none;
	}

	.fdrc-expandir {
		width: 100%;
		height: 40px;
	}

	.fdrc-tabela tr.fdrc-detalhe {
		margin-top: -12px;
		border-top: 0;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}

	.fdrc-detalhe > td {
		display: block;
		padding: 14px;
	}

	.fdrc-detalhe > td::before {
		display: none;
	}

	.fdrc-tabela td:last-of-type {
		border-bottom: 0;
	}

	.fdrc-filtros .fdrc-btn {
		flex: 1 0 100%;
		min-height: 44px;
	}

	.fdrc-uf {
		min-height: 38px;
		padding: 5px 11px;
	}

	.fdrc-estados {
		/* Rolagem horizontal em vez de quebrar em 6 linhas na tela pequena. */
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 6px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.fdrc-estados::-webkit-scrollbar {
		display: none;
	}

	.fdrc-uf {
		flex: 0 0 auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fdrc * {
		transition: none !important;
	}
}

/* ------------------------------------------------- Conta, login e painel */

.fdrc-conta__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
}

.fdrc-conta__bloco {
	padding: 20px;
	border: 1px solid var(--fdrc-borda);
	border-radius: var(--fdrc-raio);
	background: #fff;
}

.fdrc-conta__bloco h2 {
	margin: 0 0 12px;
	font-size: 19px;
}

.fdrc-conta__apoio {
	margin: 0 0 16px;
	color: var(--fdrc-suave);
	font-size: 14px;
}

.fdrc-conta__erro {
	margin: 0 0 16px;
	padding: 12px 14px;
	border-left: 3px solid var(--fdrc-alerta);
	background: var(--fdrc-alerta-clara);
	color: var(--fdrc-alerta);
	font-size: 14px;
}

.fdrc-conta__link {
	margin: 12px 0 0;
	font-size: 13px;
}

.fdrc-form label,
.fdrc-conta__bloco label {
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
}

.fdrc-form input[type="text"],
.fdrc-form input[type="email"],
.fdrc-form input[type="password"],
.fdrc-conta__bloco input[type="text"],
.fdrc-conta__bloco input[type="password"] {
	width: 100%;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--fdrc-borda);
	border-radius: var(--fdrc-raio);
	font-size: 15px;
}

.fdrc-form__aceite label,
.fdrc-form__check label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--fdrc-suave);
}

.fdrc-form__aceite input,
.fdrc-form__check input {
	margin-top: 3px;
}

/* Campo-armadilha para robô: fora da tela, nunca escondido por display:none
   (leitor de tela e alguns bots ignoram display:none). */
.fdrc-armadilha {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.fdrc-painel__topo {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--fdrc-borda);
}

.fdrc-painel__topo h2 {
	margin: 0;
	font-size: 21px;
}

.fdrc-painel__sair {
	color: var(--fdrc-suave);
	font-size: 13px;
}

.fdrc-painel h3 {
	margin: 24px 0 12px;
	font-size: 17px;
}

.fdrc-painel__ok {
	margin: 0 0 16px;
	padding: 10px 14px;
	border-left: 3px solid var(--fdrc-marca);
	background: var(--fdrc-marca-clara);
	color: var(--fdrc-marca-escura);
	font-size: 14px;
}

.fdrc-painel__prefs {
	margin-top: 32px;
	padding: 20px;
	border: 1px solid var(--fdrc-borda);
	border-radius: var(--fdrc-raio);
	background: var(--fdrc-fundo-alt);
}

/* ------------------------------------------- Página do concurso (artigo) */

.fdrc-single {
	--fdrc-edital: #c81e1e;
	--fdrc-edital-escuro: #a01818;
	--fdrc-verde: #15803d;
	--fdrc-verde-escuro: #116632;

	max-width: 820px;
	margin: 0 auto;
	padding: 24px 16px 60px;
}

/* A estrutura .jeg_content > .entry-header existe só para o AdSeleto achar o
   ponto do anúncio top; o espaçamento do jnews para ela não vale aqui. */
.fdrc-single .fdrc-single__jeg {
	padding: 0;
	margin: 0;
}

.fdrc-single .entry-header.fdrc-single__topo {
	margin: 0;
	padding: 0 0 18px;
	border-bottom: 1px solid var(--fdrc-borda);
}

.fdrc-single__marca {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.fdrc-single__marca .fdrc-logo {
	flex: 0 0 72px;
	width: 72px;
	height: 72px;
	padding: 5px;
	border-radius: 12px;
	font-size: 20px;
}

.fdrc-single__cab {
	min-width: 0;
}

.fdrc-single .fdrc-single__titulo {
	margin: 8px 0 6px;
	color: var(--fdrc-texto);
	font-size: 32px;
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: -.01em;
}

.fdrc-single__orgao {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	margin: 0;
	color: #4b5563;
	font-size: 15px;
	line-height: 1.4;
}

.fdrc-single__orgao .fdrc-ico {
	flex: 0 0 auto;
	color: var(--fdrc-marca-escura);
}

.fdrc-single__local {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding-left: 8px;
	border-left: 1px solid var(--fdrc-borda);
}

.fdrc-single__atualizado {
	margin: 14px 0 0;
	color: var(--fdrc-suave);
	font-size: 13px;
}

/* Ficha técnica: três destaques (vagas, salário, inscrições) e a grade. */

.fdrc-ficha {
	margin: 24px 0 8px;
}

.fdrc-ficha__destaques {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 10px;
}

.fdrc-ficha__destaque {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 12px;
	align-items: center;
	padding: 14px;
	border: 1px solid #f3dfb4;
	border-radius: 12px;
	background: var(--fdrc-marca-clara);
}

.fdrc-ficha__destaque .fdrc-ficha__ico {
	grid-row: 1 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--fdrc-marca);
	color: #212121;
}

.fdrc-ficha__destaque .fdrc-ficha__rotulo {
	color: var(--fdrc-marca-escura);
}

.fdrc-ficha__destaque .fdrc-ficha__valor {
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
}

.fdrc-ficha__destaque.is-urgente {
	border-color: #f6c5bd;
	background: var(--fdrc-alerta-clara);
}

.fdrc-ficha__destaque.is-urgente .fdrc-ficha__ico {
	background: var(--fdrc-alerta);
	color: #fff;
}

.fdrc-ficha__destaque.is-urgente .fdrc-ficha__rotulo,
.fdrc-ficha__destaque.is-urgente .fdrc-ficha__valor {
	color: var(--fdrc-alerta);
}

.fdrc-ficha__grade {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	border: 1px solid var(--fdrc-borda);
	border-radius: 12px;
	background: var(--fdrc-borda);
	overflow: hidden;
}

.fdrc-ficha__item {
	margin: 0;
	padding: 13px 15px;
	background: #fff;
}

.fdrc-ficha__item--largo {
	grid-column: 1 / -1;
}

.fdrc-ficha__rotulo {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 4px;
	color: var(--fdrc-suave);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .02em;
}

.fdrc-ficha__rotulo .fdrc-ico {
	flex: 0 0 auto;
	color: var(--fdrc-marca-escura);
}

.fdrc-ficha__valor {
	margin: 0;
	color: var(--fdrc-texto);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.fdrc-chips-lista {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 2px 0 0;
	padding: 0;
	list-style: none;
}

.fdrc-chips-lista li {
	margin: 0;
	padding: 4px 10px;
	border: 1px solid var(--fdrc-borda);
	border-radius: 999px;
	background: var(--fdrc-fundo-alt);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.35;
}

.fdrc-chips-lista__extra[hidden] {
	display: none;
}

.fdrc-chips-lista__mais {
	margin-top: 10px;
	padding: 7px 14px;
	border: 1px dashed var(--fdrc-borda);
	border-radius: 999px;
	background: #fff;
	color: var(--fdrc-marca-escura);
	font: inherit;
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
}

.fdrc-chips-lista__mais:hover {
	border-color: var(--fdrc-marca);
	background: var(--fdrc-marca-clara);
}

/* Edital (vermelho, download) e inscrição (verde, site externo). */

.fdrc-h2 {
	margin: 32px 0 12px;
	font-size: 21px;
	font-weight: 800;
	line-height: 1.25;
}

.fdrc-downloads__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.fdrc-download {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 84px;
	padding: 16px 18px;
	border: 1px solid var(--fdrc-borda);
	border-radius: 12px;
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: background-color .15s, box-shadow .15s, transform .1s;
}

.fdrc-download:hover {
	box-shadow: 0 6px 18px rgba(16, 24, 40, .14);
	text-decoration: none;
}

.fdrc-download:active {
	transform: translateY(1px);
}

.fdrc-download:focus-visible {
	outline: 3px solid rgba(252, 179, 56, .7);
	outline-offset: 2px;
}

.fdrc-download__icone {
	flex: 0 0 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background: var(--fdrc-fundo-alt);
	color: var(--fdrc-suave);
}

.fdrc-download__txt {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.fdrc-download__txt strong {
	font-size: 17px;
	font-weight: 800;
	line-height: 1.25;
}

.fdrc-download__txt small {
	font-size: 13px;
	line-height: 1.4;
	opacity: .92;
}

.fdrc-download--edital,
.fdrc-download--inscricao {
	border-color: transparent;
	color: #fff;
}

.fdrc-download--edital:hover,
.fdrc-download--inscricao:hover,
.fdrc-single a.fdrc-download--edital,
.fdrc-single a.fdrc-download--inscricao,
.fdrc-single a.fdrc-download--edital:visited,
.fdrc-single a.fdrc-download--inscricao:visited {
	color: #fff;
	text-decoration: none;
}

.fdrc-single a.fdrc-download--apostila,
.fdrc-single .fdrc-perto a {
	color: inherit;
	text-decoration: none;
}

.fdrc-download--edital .fdrc-download__icone,
.fdrc-download--inscricao .fdrc-download__icone {
	background: rgba(255, 255, 255, .18);
	color: #fff;
}

.fdrc-download--edital {
	background: var(--fdrc-edital);
}

.fdrc-download--edital:hover {
	background: var(--fdrc-edital-escuro);
}

.fdrc-download--inscricao {
	background: var(--fdrc-verde);
}

.fdrc-download--inscricao:hover {
	background: var(--fdrc-verde-escuro);
}

.fdrc-download--apostila {
	grid-column: 1 / -1;
	min-height: 0;
}

.fdrc-download--apostila .fdrc-download__txt small {
	color: var(--fdrc-suave);
}

.fdrc-download--apostila:hover {
	border-color: var(--fdrc-marca);
	background: var(--fdrc-marca-clara);
}

/* Corpo da matéria: herda a tipografia do tema, só ajusta o ritmo. */

.fdrc-single__corpo {
	margin: 28px 0;
}

.fdrc-single__corpo h2 {
	margin: 30px 0 10px;
	font-size: 21px;
}

.fdrc-single__corpo h3 {
	margin: 24px 0 8px;
	font-size: 18px;
}

.fdrc-single__corpo p,
.fdrc-single__corpo li {
	margin-bottom: 14px;
}

.fdrc-single__corpo a {
	color: var(--fdrc-link);
}

.fdrc-single__relacionada {
	padding: 12px 14px;
	border-left: 3px solid var(--fdrc-marca);
	background: var(--fdrc-marca-clara);
	font-size: 14px;
}

.fdrc-single__relacionada a {
	color: var(--fdrc-link);
	font-weight: 600;
}

/* Atos do Diário Oficial */

.fdrc-atos ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--fdrc-borda);
	border-radius: 12px;
}

.fdrc-atos li {
	display: flex;
	gap: 12px;
	padding: 10px 14px;
	border-bottom: 1px solid var(--fdrc-borda);
	font-size: 14px;
}

.fdrc-atos li:last-child {
	border-bottom: 0;
}

.fdrc-atos time {
	flex: 0 0 82px;
	color: var(--fdrc-suave);
	font-size: 13px;
}

.fdrc-atos a {
	color: var(--fdrc-link);
}

/* Chamada para acompanhar */

.fdrc-acompanhar {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 32px 0;
	padding: 16px;
	border: 1px solid #f3dfb4;
	border-radius: 12px;
	background: var(--fdrc-marca-clara);
}

.fdrc-acompanhar .fdrc-salvar {
	width: 44px;
	height: 44px;
	font-size: 20px;
}

.fdrc-acompanhar p {
	margin: 2px 0 0;
	color: var(--fdrc-suave);
	font-size: 13px;
	line-height: 1.4;
}

/* Fim da página: região próxima, prévia da tabela e Taboola */

.fdrc-outros--tabela {
	margin-top: 8px;
}

.fdrc-taboola {
	margin-top: 36px;
}

@media (max-width: 782px) {

	.fdrc-single {
		padding-top: 16px;
	}

	.fdrc-single .fdrc-single__titulo {
		font-size: 25px;
	}

	.fdrc-single__marca {
		gap: 12px;
	}

	.fdrc-single__marca .fdrc-logo {
		flex-basis: 56px;
		width: 56px;
		height: 56px;
	}

	.fdrc-ficha__destaques {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.fdrc-ficha__destaque {
		padding: 12px;
	}

	.fdrc-ficha__grade {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fdrc-downloads__grid {
		grid-template-columns: 1fr;
	}

	.fdrc-download {
		min-height: 76px;
	}

	.fdrc-atos li {
		flex-direction: column;
		gap: 3px;
	}
}

@media (max-width: 380px) {
	.fdrc-ficha__grade {
		grid-template-columns: 1fr;
	}
}

/* Tabela de cargos dentro da matéria */

.fdrc-cargos-tab {
	margin: 18px 0 26px;
}

.fdrc-cargos-tab table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--fdrc-borda);
	border-radius: var(--fdrc-raio);
	font-size: 15px;
	overflow: hidden;
}

.fdrc-cargos-tab th {
	padding: 10px 14px;
	background: var(--fdrc-fundo-alt);
	color: var(--fdrc-suave);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-align: left;
	text-transform: uppercase;
}

.fdrc-cargos-tab td {
	padding: 10px 14px;
	border-top: 1px solid var(--fdrc-borda);
}

.fdrc-cargos-tab .num {
	width: 90px;
	font-weight: 700;
	text-align: right;
}

.fdrc-cargos-tab figcaption {
	margin-top: 6px;
	color: var(--fdrc-suave);
	font-size: 13px;
}

/* Concursos abertos perto (distância real entre municípios) */

.fdrc-perto {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fdrc-perto li {
	margin: 0;
}

.fdrc-perto a {
	display: flex;
	flex-direction: column;
	gap: 5px;
	height: 100%;
	padding: 14px 16px;
	border: 1px solid var(--fdrc-borda);
	border-radius: 12px;
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: border-color .15s, box-shadow .15s;
}

.fdrc-perto a:hover {
	border-color: var(--fdrc-marca);
	box-shadow: 0 4px 14px rgba(16, 24, 40, .1);
	text-decoration: none;
}

.fdrc-perto strong {
	margin-bottom: 2px;
	color: var(--fdrc-texto);
	font-size: 15.5px;
	line-height: 1.3;
}

.fdrc-perto a:hover strong {
	color: var(--fdrc-link);
}

.fdrc-perto__dado {
	display: flex;
	align-items: center;
	gap: 6px;
	color: #4b5563;
	font-size: 13px;
	line-height: 1.4;
}

.fdrc-perto__dado .fdrc-ico {
	flex: 0 0 auto;
	color: var(--fdrc-marca-escura);
}

.fdrc-perto__dado.fdrc-fim--urgente {
	color: var(--fdrc-alerta);
	font-weight: 700;
}

.fdrc-perto__dado.fdrc-fim--urgente .fdrc-ico {
	color: var(--fdrc-alerta);
}

@media (max-width: 600px) {
	.fdrc-perto {
		grid-template-columns: 1fr;
	}
}
