/* =========================================================================
   Portal ASSEJ — estilos (M1: Home)
   Identidade: manual de marca ASSEJ — azul #0F4C81, preto #101820, branco. Acessível.
   Complementa o GeneratePress; não sobrescreve seu reset.
   ========================================================================= */

/* ---------- tipografia auto-hospedada (Plus Jakarta Sans, LGPD-friendly) ---------- */
@font-face {
	font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400;
	font-display: swap; src: url('../fonts/pjs-400.woff2') format('woff2');
}
@font-face {
	font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 500;
	font-display: swap; src: url('../fonts/pjs-500.woff2') format('woff2');
}
@font-face {
	font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 600;
	font-display: swap; src: url('../fonts/pjs-600.woff2') format('woff2');
}
@font-face {
	font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 700;
	font-display: swap; src: url('../fonts/pjs-700.woff2') format('woff2');
}
@font-face {
	font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 800;
	font-display: swap; src: url('../fonts/pjs-800.woff2') format('woff2');
}

:root {
	--assej-font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

body,
button, input, select, textarea,
.assej-home, .assej-page, .assej-pagehead,
h1, h2, h3, h4, h5, h6,
.main-navigation a,
.site-info {
	font-family: var(--assej-font);
}
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

:root {
	/* Cores oficiais — "Apresentação IDV ASSEJ 2024" (manual de marca). */
	--assej-blue:        #0F4C81;   /* PANTONE Classic Blue */
	--assej-blue-700:    #0B3A62;   /* derivado, para hover/estados */
	--assej-ink:         #101820;   /* PANTONE Black 6 C */

	/*
	 * Cor de destaque secundária. O manual de marca traz apenas azul, preto e
	 * branco, então o destaque também é azul — um tom mais claro que o primário,
	 * para CTAs e hovers terem hierarquia sem sair da paleta oficial.
	 * `--assej-accent-strong` é o próprio azul primário, para texto pequeno e
	 * ícones sobre fundo claro (contraste AA).
	 */
	--assej-accent:        #2f6fb0;   /* azul médio (tint do #0F4C81) */
	--assej-accent-600:    #245a92;   /* hover do destaque */
	--assej-accent-strong: #0F4C81;   /* eyebrow, ícones, texto pequeno */
	--assej-muted:       #5b6675;
	--assej-bg:          #ffffff;
	--assej-bg-soft:     #eef2f6;   /* neutro frio (casa com o azul da marca) */
	--assej-line:        #dde4ec;

	--assej-maxw:        1120px;
	--assej-radius:      14px;
	--assej-shadow:      0 8px 28px rgba(15, 76, 129, .10);
	--assej-shadow-sm:   0 2px 10px rgba(15, 76, 129, .07);

	--assej-space:       clamp(4rem, 8vw, 7rem);  /* padding vertical das seções */
}

/* ---------- utilitários ---------- */
.assej-container {
	width: 100%;
	max-width: var(--assej-maxw);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 2rem);
}

.assej-visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; border: 0;
	clip: rect(0 0 0 0); clip-path: inset(50%);
	overflow: hidden; white-space: nowrap;
}

/* foco visível global (a11y) — azul tem alto contraste em fundo claro */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.assej-btn:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--assej-blue);
	outline-offset: 2px;
	border-radius: 4px;
}
/* Em faixas azuis, o foco usa branco: contraste máximo sobre o azul da marca. */
.assej-transp :focus-visible,
.assej-footer :focus-visible,
.assej-cookie :focus-visible,
.site-info :focus-visible {
	outline-color: #fff;
}

/* ---------- seções ---------- */
.assej-section { padding-block: var(--assej-space); }
.assej-section--soft { background: var(--assej-bg-soft); }

/* divisor sutil entre seções de fundo branco (delimita sem pesar) */
.assej-section:not(.assej-section--soft):not(.assej-transp) {
	border-top: 1px solid var(--assej-line);
}

/*
 * O portal não usa sidebar em nenhuma página. O #content do GeneratePress vem
 * com layout flex (para conteúdo + coluna de sidebar), o que deixava o #primary
 * sem preencher a largura toda e empurrava o conteúdo centralizado ~40px para a
 * esquerda. Como não há sidebar, o #content é bloco e o #primary ocupa 100%.
 */
.site-content { display: block; }
.site-content #primary { width: 100%; max-width: 100%; float: none; }

/* faixas full-bleed: fundo de ponta a ponta, conteúdo segue centralizado no .assej-container */
.assej-hero,
.assej-transp,
.assej-section--soft {
	margin-inline: calc(50% - 50vw);
}
/* evita scroll horizontal sem quebrar o position:sticky do header (clip != hidden) */
html, body { overflow-x: clip; }

.assej-section__head {
	display: flex; align-items: baseline; justify-content: space-between;
	gap: 1rem; flex-wrap: wrap; margin-bottom: 2.25rem;
}
.assej-section__title {
	font-size: clamp(1.6rem, 3.2vw, 2.25rem);
	line-height: 1.15;
	color: var(--assej-blue);
	margin: 0 0 1.25rem;
	letter-spacing: -.01em;
}
.assej-section__head .assej-section__title { margin-bottom: 0; }
.assej-section__title--invert { color: #fff; }

.assej-eyebrow {
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .8rem;
	font-weight: 700;
	color: var(--assej-accent-strong);
	margin: 0 0 .85rem;
}

/* ---------- botões / links ---------- */
.assej-btn {
	display: inline-flex; align-items: center; justify-content: center;
	gap: .5rem;
	padding: .8rem 1.5rem;
	border-radius: 999px;
	font-weight: 600;
	line-height: 1.1;
	text-decoration: none;
	transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.assej-btn--primary { background: var(--assej-blue); color: #fff; }
.assej-btn--primary:hover { background: var(--assej-blue-700); transform: translateY(-1px); }
.assej-btn--ghost { background: transparent; color: var(--assej-blue); box-shadow: inset 0 0 0 2px var(--assej-blue); }
.assej-btn--ghost:hover { background: rgba(15, 76, 129, .06); }
.assej-btn--light { background: #fff; color: var(--assej-blue); }
.assej-btn--light:hover { background: #eef3f8; transform: translateY(-1px); }

.assej-link {
	color: var(--assej-blue); font-weight: 600; text-decoration: none;
	border-bottom: 2px solid transparent; transition: border-color .15s ease;
}
.assej-link:hover { border-bottom-color: var(--assej-accent); }

/* ---------- hero / banner centralizado (layout do cliente) ---------- */
.assej-hero { position: relative; overflow: hidden; }

.assej-hero__slide {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;      /* centraliza o conteúdo na horizontal */
	justify-content: center;  /* e na vertical */
	min-height: clamp(440px, 62vh, 640px);
	overflow: hidden;
}

/* Fundo do banner: imagem cobrindo + véu azul para leitura do texto branco.
   Sem imagem, fica o degradê azul da marca — como o banner colorido do wireframe. */
.assej-hero__bg {
	position: absolute; inset: 0; z-index: 0;
	background: linear-gradient(135deg, var(--assej-blue), var(--assej-blue-700));
}
.assej-hero__img {
	position: absolute; inset: 0;
	width: 100%; height: 100%; object-fit: cover;
}
.assej-hero__veu {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(15, 76, 129, .55), rgba(16, 24, 32, .68));
}

.assej-hero__inner {
	position: relative; z-index: 1;
	text-align: center;
	max-width: 760px;
	padding-block: clamp(3.5rem, 8vw, 6rem);
	color: #fff;
}
.assej-hero__eyebrow {
	text-transform: uppercase; letter-spacing: .14em;
	font-size: .82rem; font-weight: 700;
	color: rgba(255, 255, 255, .85);
	margin: 0 0 1rem;
}
.assej-hero__title {
	font-size: clamp(2rem, 4.6vw, 3.25rem);
	font-weight: 800;
	line-height: 1.12;
	color: #fff;
	margin: 0 0 1.1rem;
	letter-spacing: -.02em;
	text-wrap: balance;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .25);
}
.assej-hero__sub {
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	color: rgba(255, 255, 255, .92);
	margin: 0 auto 2rem;
	max-width: 54ch;
	line-height: 1.6;
}
.assej-hero__actions { display: flex; gap: .9rem; flex-wrap: wrap; justify-content: center; }

/* ---------- institucional ---------- */
.assej-sobre__inner { max-width: 62ch; }
.assej-sobre__texto { font-size: 1.1rem; color: var(--assej-muted); margin: 0 0 1.75rem; line-height: 1.7; }

/* variante com imagem: 2 colunas */
.assej-sobre--media .assej-sobre__inner {
	max-width: var(--assej-maxw);
	display: grid; grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, 4rem); align-items: center;
}
.assej-sobre--media .assej-sobre__texto { max-width: 52ch; }
.assej-sobre__media img {
	width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
	border-radius: var(--assej-radius); box-shadow: var(--assej-shadow);
}

/* ---------- áreas de atuação ---------- */
.assej-areas__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;
}
.assej-card {
	background: var(--assej-bg); border: 1px solid var(--assej-line);
	border-radius: var(--assej-radius); box-shadow: var(--assej-shadow-sm);
}
.assej-areas__card {
	display: flex; align-items: center; gap: .9rem;
	padding: 1.15rem 1.25rem; text-decoration: none; color: var(--assej-ink);
	font-weight: 600; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
a.assej-areas__card:hover { transform: translateY(-2px); box-shadow: var(--assej-shadow); border-color: #d6cfc0; }
.assej-areas__icon {
	flex: 0 0 auto; width: 2.6rem; height: 2.6rem;
	display: grid; place-items: center; border-radius: 10px;
	background: rgba(15, 76, 129, .08); color: var(--assej-blue);
	font-size: 1.3rem;
}

/* ---------- indicadores ---------- */
.assej-indicadores__grid {
	margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; text-align: center;
}
.assej-indicadores__item {
	padding: 1.75rem 1rem; border-radius: var(--assej-radius);
	background: var(--assej-bg-soft); border: 1px solid var(--assej-line);
	position: relative; overflow: hidden;
}
.assej-indicadores__item::before {
	content: ""; position: absolute; inset: 0 0 auto 0; height: 4px;
	background: linear-gradient(90deg, var(--assej-accent), var(--assej-accent-600));
}
.assej-indicadores__num {
	font-size: clamp(2.1rem, 4vw, 2.9rem); font-weight: 800; color: var(--assej-blue); line-height: 1;
}
.assej-indicadores__rot { margin: .5rem 0 0; color: var(--assej-muted); font-size: .98rem; line-height: 1.35; }

/* ---------- grades de cards (projetos / notícias) ---------- */
.assej-cards-grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
}
.assej-card--project, .assej-card--news { overflow: hidden; display: flex; flex-direction: column; transition: transform .15s ease, box-shadow .15s ease; }
.assej-card--project:hover, .assej-card--news:hover { transform: translateY(-3px); box-shadow: var(--assej-shadow); }
.assej-card__media { display: block; }
.assej-card__media img, .assej-card__media-empty {
	display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover;
}
.assej-card__media-empty { background: linear-gradient(135deg, #e6edf4, #cfe0f0); }
.assej-card__body { padding: 1.6rem 1.6rem 1.75rem; display: flex; flex-direction: column; gap: .6rem; flex: 1 1 auto; }
.assej-card__date { font-size: .82rem; color: var(--assej-accent-strong); font-weight: 600; }
.assej-card__title { font-size: 1.2rem; line-height: 1.3; margin: 0; }
.assej-card__title a { color: var(--assej-ink); text-decoration: none; }
.assej-card__title a:hover { color: var(--assej-blue); }
.assej-card__text { margin: 0; color: var(--assej-muted); font-size: .98rem; line-height: 1.6; }

/* ---------- transparência (faixa azul) ---------- */
.assej-transp { background: var(--assej-blue); }
.assej-transp__inner {
	display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap;
}
.assej-transp__text { color: rgba(255, 255, 255, .9); font-size: 1.15rem; margin: .25rem 0 0; max-width: 52ch; }

/* ---------- trabalhe conosco ---------- */
.assej-trabalhe__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.assej-trabalhe__text { color: var(--assej-muted); font-size: 1.1rem; margin: .25rem 0 0; max-width: 52ch; }

/* ---------- responsivo ---------- */
@media (max-width: 880px) {
	.assej-hero__inner { grid-template-columns: 1fr; }
	.assej-hero__media { order: -1; }
	.assej-sobre--media .assej-sobre__inner { grid-template-columns: 1fr; }
	.assej-areas__grid { grid-template-columns: repeat(2, 1fr); }
	.assej-indicadores__grid { grid-template-columns: repeat(2, 1fr); }
	.assej-cards-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
	.assej-areas__grid { grid-template-columns: 1fr; }
}

/* ---------- movimento reduzido (a11y, site todo) ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- banner de cookies (LGPD) ---------- */
.assej-cookie {
	position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 1000;
	background: var(--assej-blue-700); color: rgba(255, 255, 255, .92);
	border-radius: var(--assej-radius); box-shadow: 0 12px 40px rgba(0, 0, 0, .25);
}
.assej-cookie__inner {
	max-width: var(--assej-maxw); margin-inline: auto;
	display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap;
	padding: 1rem 1.25rem;
}
.assej-cookie__text { margin: 0; flex: 1 1 320px; font-size: .95rem; line-height: 1.5; }
.assej-cookie__text a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.assej-cookie__ok { flex: 0 0 auto; }
.assej-cookie .assej-btn--primary { background: var(--assej-accent); color: #20160a; }
.assej-cookie .assej-btn--primary:hover { background: var(--assej-accent-600); }

/* =========================================================================
   M1–M5 — páginas, arquivos e singles
   ========================================================================= */

/* ---------- cabeçalho de página ---------- */
.assej-pagehead {
	background: linear-gradient(180deg, #fbfaf7, #fff);
	border-bottom: 1px solid var(--assej-line);
	padding-block: clamp(2.25rem, 5vw, 3.5rem);
}
.assej-pagehead__title { margin: 0; color: var(--assej-blue); font-size: clamp(1.8rem, 4vw, 2.6rem); letter-spacing: -.02em; }
.assej-pagehead__sub { margin: .6rem 0 0; color: var(--assej-muted); font-size: 1.1rem; }

/* ---------- prosa (conteúdo de páginas/singles) ---------- */
.assej-page { padding-block: var(--assej-space); }
.assej-prose { max-width: 70ch; color: var(--assej-ink); line-height: 1.75; }
.assej-prose > * + * { margin-top: 1.1rem; }
.assej-prose h2 { color: var(--assej-blue); margin-top: 2.2rem; }
.assej-prose a { color: var(--assej-blue); }

.assej-vazio, .assej-aviso { color: var(--assej-muted); padding: 1.5rem 0; }
.assej-aviso { background: var(--assej-bg-soft); border-radius: var(--assej-radius); padding: 1rem 1.25rem; }

/* ---------- filtros (arquivos) ---------- */
.assej-filtros {
	display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1rem;
	background: var(--assej-bg-soft); border: 1px solid var(--assej-line);
	border-radius: var(--assej-radius); padding: 1.1rem 1.25rem; margin-bottom: 2rem;
}
.assej-filtros__field { display: flex; flex-direction: column; gap: .35rem; flex: 1 1 160px; }
.assej-filtros__field--search { flex: 2 1 220px; }
.assej-filtros__label { font-size: .82rem; font-weight: 600; color: var(--assej-muted); }
.assej-filtros__select, .assej-filtros input[type="search"] {
	padding: .6rem .7rem; border: 1px solid var(--assej-line); border-radius: 8px;
	background: #fff; font: inherit; color: var(--assej-ink); width: 100%;
}
.assej-filtros__submit { flex: 0 0 auto; }

/* ---------- contratos ativos (transparência) ---------- */
.assej-contratos { margin-bottom: 3rem; }
.assej-contratos__intro { color: var(--assej-muted); margin: 0 0 1.75rem; max-width: 60ch; line-height: 1.6; }
.assej-contratos__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.25rem;
}
.assej-contrato-card {
	display: flex; flex-direction: column; align-items: flex-start; gap: .35rem;
	padding: 1.5rem; text-decoration: none; color: var(--assej-ink);
	border-top: 4px solid var(--assej-accent);
	transition: transform .15s ease, box-shadow .15s ease;
}
.assej-contrato-card:hover { transform: translateY(-3px); box-shadow: var(--assej-shadow); }
.assej-contrato-card__icon {
	width: 3rem; height: 3rem; display: grid; place-items: center; margin-bottom: .4rem;
	border-radius: 12px; background: rgba(15, 76, 129, .08); color: var(--assej-blue); font-size: 1.6rem;
}
.assej-contrato-card__brasao { width: 64px; height: 64px; object-fit: contain; margin-bottom: .5rem; }
.assej-contrato-card__nome { font-size: 1.2rem; font-weight: 700; color: var(--assej-blue); line-height: 1.25; }
.assej-contrato-card__meta { font-size: .9rem; color: var(--assej-muted); }
.assej-transparencia__docs-titulo { font-size: clamp(1.3rem, 2.6vw, 1.7rem); margin: 0 0 1.5rem; }

/* ---------- lista de documentos (transparência) ---------- */
.assej-docs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .75rem; }
.assej-docs__item {
	display: flex; align-items: center; gap: 1rem;
	background: #fff; border: 1px solid var(--assej-line); border-radius: var(--assej-radius);
	padding: 1rem 1.25rem; box-shadow: var(--assej-shadow-sm);
}
.assej-docs__icon {
	flex: 0 0 auto; width: 2.6rem; height: 2.6rem; display: grid; place-items: center;
	border-radius: 10px; background: rgba(15, 76, 129, .08); color: var(--assej-blue); font-size: 1.3rem;
}
.assej-docs__info { flex: 1 1 auto; min-width: 0; }
.assej-docs__title { font-size: 1.1rem; margin: 0 0 .2rem; }
.assej-docs__title a { color: var(--assej-ink); text-decoration: none; }
.assej-docs__title a:hover { color: var(--assej-blue); }
.assej-docs__meta { margin: 0; color: var(--assej-muted); font-size: .9rem; }
.assej-docs__meta a { color: var(--assej-muted); }
.assej-docs__dl { flex: 0 0 auto; padding: .55rem 1rem; font-size: .92rem; }

/* ---------- paginação ---------- */
.assej-paginacao { margin-top: 2.5rem; }
.assej-paginacao .nav-links { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.assej-paginacao a, .assej-paginacao .current {
	display: inline-grid; place-items: center; min-width: 2.5rem; height: 2.5rem; padding: 0 .6rem;
	border-radius: 8px; border: 1px solid var(--assej-line); text-decoration: none; color: var(--assej-blue);
}
.assej-paginacao .current { background: var(--assej-blue); color: #fff; border-color: var(--assej-blue); }

/* ---------- single ---------- */
.assej-single__wrap { display: grid; grid-template-columns: 1fr 300px; gap: 2.5rem; align-items: start; }
.assej-single--narrow { max-width: 760px; }
.assej-single__media { margin: 0 0 1.5rem; }
.assej-single__media img { width: 100%; border-radius: var(--assej-radius); }
.assej-single__byline { color: var(--assej-muted); font-size: .95rem; margin: 0 0 1.25rem; }
.assej-single__meta {
	background: var(--assej-bg-soft); border: 1px solid var(--assej-line); border-radius: var(--assej-radius);
	padding: 1.25rem; display: flex; flex-direction: column; gap: .9rem; position: sticky; top: 1.5rem;
}
.assej-single__meta > div { display: flex; flex-direction: column; gap: .15rem; }
.assej-meta__k { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--assej-muted); }
.assej-meta__v { color: var(--assej-ink); font-weight: 600; }
.assej-meta__v a { color: var(--assej-blue); text-decoration: none; }
.assej-doc-single__meta { color: var(--assej-muted); margin: 0 0 1rem; }
.assej-doc-single__desc { font-size: 1.1rem; color: var(--assej-ink); margin: 0 0 1.5rem; }

/* ---------- Quem Somos ---------- */
.assej-mvv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2.5rem; }
.assej-mvv__item { background: var(--assej-bg-soft); border-radius: var(--assej-radius); padding: 1.5rem; }
.assej-mvv__item h2 { margin: 0 0 .6rem; color: var(--assej-blue); font-size: 1.25rem; }
.assej-mvv__item ul { margin: 0; padding-left: 1.1rem; }
.assej-diretoria { margin-top: 3rem; }
.assej-diretoria__grid { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.assej-diretoria__item { text-align: center; display: flex; flex-direction: column; gap: .3rem; }
.assej-diretoria__item img, .assej-diretoria__avatar {
	width: 110px; height: 110px; object-fit: cover; border-radius: 50%; margin: 0 auto .6rem;
	background: linear-gradient(135deg, #dfe8f1, #f1e6d4);
}
.assej-diretoria__nome { font-weight: 700; color: var(--assej-ink); }
.assej-diretoria__cargo { color: var(--assej-muted); font-size: .92rem; }

/* ---------- Serviços (cards de página) ---------- */
.assej-card--service { transition: transform .15s ease, box-shadow .15s ease; overflow: hidden; }
.assej-card--service:hover { transform: translateY(-3px); box-shadow: var(--assej-shadow); }
.assej-card--service .assej-card__body { text-decoration: none; display: flex; flex-direction: column; gap: .55rem; height: 100%; }
.assej-card--service:hover .assej-link { border-bottom-color: var(--assej-accent); }
.assej-servico__icone {
	width: 3.4rem; height: 3.4rem; display: grid; place-items: center;
	border-radius: 14px; margin-bottom: .35rem;
	background: rgba(15, 76, 129, .08); color: var(--assej-blue);
	font-size: 1.8rem; line-height: 1;
}
.assej-servico__thumb { display: block; margin: -1.25rem -1.35rem .9rem; }
.assej-servico__thumb img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.assej-card--service .assej-link { margin-top: auto; padding-top: .5rem; }

/* ---------- Governança ---------- */
.assej-governanca__intro { max-width: 70ch; margin-bottom: 2.5rem; }
.assej-governanca__grid { margin-bottom: 1rem; }
.assej-governanca__bloco { margin-top: 2.75rem; }
.assej-governanca__bloco .assej-section__title { font-size: clamp(1.3rem, 2.6vw, 1.7rem); }

/* ---------- Contato ---------- */
.assej-contato__grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 2.5rem; align-items: start; }
.assej-contato__lista { list-style: none; margin: 1.5rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.assej-contato__lista li { display: flex; flex-direction: column; }
.assej-contato__lista strong { color: var(--assej-blue); font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; }
.assej-contato__lista a { color: var(--assej-ink); text-decoration: none; }
.assej-contato__mapa { margin-top: 2.5rem; }
.assej-contato__mapa iframe { width: 100%; height: 380px; border: 0; border-radius: var(--assej-radius); }
.assej-contato__cta {
	background: var(--assej-bg-soft); border: 1px solid var(--assej-line);
	border-radius: var(--assej-radius); padding: 1.75rem;
}
.assej-contato__cta h2 { margin: 0 0 .6rem; color: var(--assej-blue); font-size: 1.4rem; }
.assej-contato__cta p { margin: 0 0 1.25rem; color: var(--assej-muted); line-height: 1.6; }
.assej-contato__cta-acoes { display: flex; gap: .75rem; flex-wrap: wrap; }

/* ---------- responsivo (M1–M5) ---------- */
@media (max-width: 880px) {
	.assej-single__wrap { grid-template-columns: 1fr; }
	.assej-single__meta { position: static; }
	.assej-mvv { grid-template-columns: 1fr; }
	.assej-diretoria__grid { grid-template-columns: repeat(2, 1fr); }
	.assej-contato__grid { grid-template-columns: 1fr; }
	.assej-docs__item { flex-wrap: wrap; }
	.assej-docs__dl { width: 100%; }
}

/* =========================================================================
   Refinamento visual — header, navegação e rodapé
   ========================================================================= */

/* ---------- header / navegação (GeneratePress) ---------- */
.site-header {
	position: sticky; top: 0; z-index: 100;
	background: #fff;
	box-shadow: 0 1px 0 var(--assej-line), 0 6px 20px rgba(15, 76, 129, .05);
}
.main-navigation,
.main-navigation ul {
	background: transparent;
}
.main-navigation .main-nav ul li a {
	font-weight: 600; letter-spacing: .005em;
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
	color: var(--assej-blue);
}
/* sublinhado de destaque no item ativo/hover */
.main-navigation .main-nav > ul > li {
	position: relative;
}
.main-navigation .main-nav > ul > li > a::after {
	content: ""; position: absolute; left: 20px; right: 20px; bottom: 10px;
	height: 2px; background: var(--assej-accent);
	transform: scaleX(0); transform-origin: left; transition: transform .18s ease;
}
.main-navigation .main-nav > ul > li:hover > a::after,
.main-navigation .main-nav > ul > li.current-menu-item > a::after {
	transform: scaleX(1);
}
/* Logo da ASSEJ no cabeçalho. O logotipo já traz o nome e o slogan, então
   ocultamos o título/tagline em texto (o alt do logo mantém o nome acessível). */
.site-header .main-title,
.site-header .site-description { display: none; }
.site-header .site-logo img,
.site-header .header-image {
	max-height: 58px; width: auto; height: auto;
}

/* ---------- rodapé institucional ---------- */
.assej-footer {
	background: var(--assej-blue-700);
	color: rgba(255, 255, 255, .82);
	padding-block: clamp(3rem, 5vw, 4.5rem);
}
.assej-footer__grid {
	display: grid; grid-template-columns: 1.6fr 1fr 1.3fr; gap: clamp(2rem, 4vw, 3.5rem);
}
.assej-footer__logo { font-size: 1.7rem; font-weight: 800; color: #fff; margin: 0 0 .7rem; letter-spacing: .03em; }
.assej-footer__tagline { margin: 0; line-height: 1.65; max-width: 44ch; }
.assej-footer__legal { margin: .9rem 0 0; font-size: .82rem; opacity: .75; }
.assej-footer__title {
	font-size: .82rem; text-transform: uppercase; letter-spacing: .1em;
	color: #fff; margin: 0 0 1.1rem;
}
.assej-footer__links, .assej-footer__contato {
	list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .65rem;
}
.assej-footer__contato { line-height: 1.5; }
.assej-footer a { color: rgba(255, 255, 255, .82); text-decoration: none; transition: color .15s ease; }
.assej-footer a:hover { color: #fff; }

/* barra de copyright do GeneratePress */
.site-info {
	background: var(--assej-blue);
	color: rgba(255, 255, 255, .8);
	text-align: center;
	padding-block: 1.1rem;
	font-size: .9rem;
}
.site-info a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 880px) {
	.assej-footer__grid { grid-template-columns: 1fr 1fr; }
	.assej-footer__brand { grid-column: 1 / -1; }
	.site-header { position: static; }
}
@media (max-width: 520px) {
	.assej-footer__grid { grid-template-columns: 1fr; }
}

/* ---------- Área Restrita ---------- */
.assej-aviso--sucesso { background: #e8f5ec; color: #14532d; box-shadow: inset 0 0 0 1px #b7dfc4; }
.assej-aviso--erro    { background: #fdecec; color: #7f1d1d; box-shadow: inset 0 0 0 1px #f2c2c2; }
.assej-aviso--info    { background: #eaf1f8; color: #17395c; box-shadow: inset 0 0 0 1px #c3d8ec; }
.assej-aviso--demo    { background: #fff6e5; color: var(--assej-accent-strong); box-shadow: inset 0 0 0 1px #f0d5a8; }
.assej-restrita__codigo-demo {
	font-size: 1.15rem; font-weight: 800; letter-spacing: .18em;
	background: #fff; padding: .15rem .5rem; border-radius: 6px;
}

/* Honeypot: fora da tela, mas sem display:none (robôs ignoram campos ocultos). */
.assej-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.assej-restrita__grid {
	display: grid; gap: 1.75rem; align-items: start;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	margin-block: 1rem 2.5rem;
}
.assej-restrita__box { padding: 2rem 1.85rem 2.15rem; }
.assej-restrita__titulo { font-size: 1.45rem; margin: .15rem 0 .6rem; }
.assej-restrita__ajuda { color: var(--assej-muted); font-size: .95rem; margin: 0 0 1.35rem; }

/* Formulários */
.assej-form__campo { display: flex; flex-direction: column; gap: .4rem; margin: 0 0 1.1rem; }
.assej-form__campo label { font-weight: 600; font-size: .93rem; }
.assej-form input[type="text"], .assej-form input[type="email"], .assej-form textarea {
	width: 100%; padding: .7rem .85rem; font: inherit; color: var(--assej-ink);
	background: #fff; border: 1px solid var(--assej-line); border-radius: 10px;
}
.assej-form input:focus, .assej-form textarea:focus { border-color: var(--assej-blue); outline: none; }
.assej-form textarea { resize: vertical; }
.assej-form__consent label {
	display: flex; gap: .6rem; align-items: flex-start;
	font-weight: 400; font-size: .88rem; color: var(--assej-muted); line-height: 1.5;
}
.assej-form__consent input { margin-top: .2rem; flex: 0 0 auto; }

.assej-restrita__input-codigo {
	font-size: 1.5rem; font-weight: 700; letter-spacing: .4em; text-align: center;
}
.assej-restrita__reenvio { margin-top: 1rem; }
.assej-link-botao {
	background: none; border: 0; padding: 0; font: inherit; font-size: .9rem;
	color: var(--assej-blue); text-decoration: underline; cursor: pointer;
}

/* Barra do usuário conectado */
.assej-restrita__barra {
	display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between;
	background: var(--assej-bg-soft); border-radius: var(--assej-radius);
	padding: 1.1rem 1.4rem; margin-block: 1rem 1.75rem;
}
.assej-restrita__ola { margin: 0; font-size: .95rem; }
.assej-restrita__email { display: block; color: var(--assej-muted); font-size: .85rem; }
.assej-restrita__busca { margin-bottom: 1.75rem; }
.assej-restrita__nota { color: var(--assej-muted); font-size: .92rem; text-align: center; margin-top: .5rem; }

@media (max-width: 520px) {
	.assej-restrita__barra { flex-direction: column; align-items: stretch; }
	.assej-restrita__box { padding: 1.6rem 1.35rem 1.85rem; }
}

/* ---------- barra de contato (acima do cabeçalho) ---------- */
.assej-topbar {
	background: var(--assej-blue);
	color: #fff;
	font-size: .85rem;
}
.assej-topbar__inner {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: .75rem 1.5rem; padding-block: .5rem;
}
.assej-topbar__info { display: flex; flex-wrap: wrap; gap: .35rem 1.4rem; margin: 0; padding: 0; list-style: none; }
.assej-topbar__info li { display: flex; align-items: center; gap: .4rem; }
.assej-topbar a { color: #fff; text-decoration: none; }
.assej-topbar a:hover { text-decoration: underline; }
.assej-topbar .dashicons { font-size: 1rem; width: 1rem; height: 1rem; opacity: .85; }
.assej-topbar__acoes { display: flex; align-items: center; gap: 1rem; }
.assej-topbar__tel { display: flex; align-items: center; gap: .4rem; font-weight: 700; }
.assej-topbar__cta {
	background: var(--assej-accent); color: var(--assej-ink) !important;
	font-weight: 700; padding: .35rem .95rem; border-radius: 999px;
	transition: background .15s ease;
}
.assej-topbar__cta:hover { background: var(--assej-accent-600); text-decoration: none !important; }

/* Foco visível sobre fundo azul. */
.assej-topbar a:focus-visible { outline: 3px solid var(--assej-accent); outline-offset: 2px; }

@media (max-width: 900px) {
	/* Em tela estreita a barra roubaria espaço da navegação; os mesmos dados
	   estão no rodapé e na página de Contato. */
	.assej-topbar { display: none; }
}

/* ---------- Missão / Visão / Valores na home ---------- */
.assej-mvv-home {
	position: relative;
	z-index: 2;
	margin-top: calc(-1 * clamp(2rem, 5vw, 4.5rem)); /* sobrepõe o fim do hero */
	padding-bottom: var(--assej-space);
}
.assej-mvv-home__grid {
	display: grid; gap: 1.5rem; margin: 0; padding: 0; list-style: none;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	align-items: stretch;
}
.assej-mvv-home__item {
	padding: 1.9rem 1.7rem 2rem;
	display: flex; flex-direction: column; gap: .55rem;
	box-shadow: var(--assej-shadow);
}
.assej-mvv-home__icone {
	font-size: 1.9rem; width: 1.9rem; height: 1.9rem;
	color: var(--assej-accent-strong);
}
.assej-mvv-home__titulo { font-size: 1.2rem; margin: 0; color: var(--assej-blue); }
.assej-mvv-home__texto { margin: 0; font-size: .95rem; line-height: 1.65; color: var(--assej-muted); }
.assej-mvv-home__valores {
	margin: 0; padding: 0; list-style: none;
	display: flex; flex-direction: column; gap: .3rem;
	font-size: .95rem; color: var(--assej-muted);
}
.assej-mvv-home__valores li { padding-left: 1.1rem; position: relative; }
.assej-mvv-home__valores li::before {
	content: ""; position: absolute; left: 0; top: .55em;
	width: 6px; height: 6px; border-radius: 50%; background: var(--assej-accent);
}
.assej-mvv-home__mais { margin: .4rem 0 0; font-size: .88rem; }
.assej-mvv-home__mais a { color: var(--assej-blue); font-weight: 600; }

/* O card do meio ganha destaque, como no wireframe do cliente. */
@media (min-width: 900px) {
	.assej-mvv-home__item:nth-child(2) { transform: translateY(-1.25rem); }
}
@media (prefers-reduced-motion: reduce) {
	.assej-mvv-home__item:nth-child(2) { transform: none; }
}

/* ---------- carrossel de banners ---------- */
/* Sem JS, os banners ficam empilhados e todos legíveis. O empilhamento em
   camadas só entra com a classe .js-carrossel, que o JS adiciona. */
.assej-hero--carrossel { position: relative; }
.assej-hero--carrossel .assej-hero__slide + .assej-hero__slide { margin-top: 3rem; }

.assej-hero--carrossel.js-carrossel .assej-hero__slides { position: relative; }
.assej-hero--carrossel.js-carrossel .assej-hero__slide {
	margin-top: 0;
}
.assej-hero--carrossel.js-carrossel .assej-hero__slide:not(.is-ativo) {
	display: none;
}

/* Setas laterais — círculos claros sobre o banner. */
.assej-hero__seta {
	position: absolute; top: 50%; transform: translateY(-50%);
	z-index: 3;
	display: none; /* aparece só com JS */
	align-items: center; justify-content: center;
	width: 48px; height: 48px; padding: 0;
	background: rgba(255, 255, 255, .9);
	border: 0;
	border-radius: 50%;
	color: var(--assej-blue);
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .18);
	transition: background .15s ease, transform .15s ease;
}
.js-carrossel .assej-hero__seta { display: flex; }
.assej-hero__seta:hover { background: #fff; transform: translateY(-50%) scale(1.06); }
.assej-hero__seta--ant  { left: clamp(1rem, 3vw, 3rem); }
.assej-hero__seta--prox { right: clamp(1rem, 3vw, 3rem); }
.assej-hero__seta .dashicons { font-size: 1.5rem; width: 1.5rem; height: 1.5rem; }

/* Pontos + botão de pausa — sobre o banner, embaixo. */
.assej-hero__controles {
	position: absolute; z-index: 4;
	/* Canto inferior direito: livre do botão central e dos cards MVV, que são
	   centralizados. Segue o wireframe, em que as setas fazem a navegação. */
	right: clamp(1rem, 3vw, 2rem); bottom: clamp(4.5rem, 8vh, 6rem);
	display: none; /* aparece só com JS */
	align-items: center; gap: .9rem;
}
.js-carrossel .assej-hero__controles { display: flex; }
.assej-hero__pontos { display: flex; gap: .55rem; }
.assej-hero__ponto {
	width: 11px; height: 11px; padding: 0;
	border: 0; border-radius: 50%;
	background: rgba(255, 255, 255, .45);
	cursor: pointer;
	transition: background .15s ease, transform .15s ease;
}
.assej-hero__ponto:hover { background: rgba(255, 255, 255, .7); }
.assej-hero__ponto.is-ativo { background: #fff; transform: scale(1.25); }

.assej-hero__pausa {
	display: inline-flex; align-items: center; gap: .35rem;
	padding: .25rem .7rem;
	background: rgba(255, 255, 255, .15); border: 1px solid rgba(255, 255, 255, .4);
	border-radius: 999px;
	color: #fff; font: inherit; font-size: .78rem;
	cursor: pointer;
}
.assej-hero__pausa:hover { background: rgba(255, 255, 255, .28); }
.assej-hero__pausa .dashicons { font-size: .95rem; width: .95rem; height: .95rem; }

/* Em telas estreitas as setas cobririam o texto; os pontos bastam. */
@media (max-width: 780px) {
	.js-carrossel .assej-hero__seta { display: none; }
}

/* ---------- resultados de busca ---------- */
.assej-busca__form {
	display: flex; gap: .6rem; flex-wrap: wrap;
	margin-block: 0 2.5rem;
}
.assej-busca__form input[type="search"] {
	flex: 1 1 260px;
	padding: .8rem 1rem; font: inherit; color: var(--assej-ink);
	background: #fff; border: 1px solid var(--assej-line); border-radius: 10px;
}
.assej-busca__form input[type="search"]:focus { border-color: var(--assej-blue); outline: none; }

.assej-busca__lista { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.assej-busca__item {
	padding-block: 1.5rem;
	border-top: 1px solid var(--assej-line);
}
.assej-busca__item:last-child { border-bottom: 1px solid var(--assej-line); }
.assej-busca__tipo {
	margin: 0 0 .3rem;
	font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em;
	color: var(--assej-accent-strong);
}
.assej-busca__titulo { font-size: 1.2rem; margin: 0 0 .4rem; line-height: 1.35; }
.assej-busca__titulo a { color: var(--assej-ink); text-decoration: none; }
.assej-busca__titulo a:hover { color: var(--assej-blue); }
.assej-busca__resumo { margin: 0; color: var(--assej-muted); line-height: 1.6; }

.assej-busca__atalhos {
	display: flex; flex-wrap: wrap; gap: .7rem;
	margin: 1.5rem 0 0; padding: 0; list-style: none;
}

/* ---------- tabela de experiência comprovada ---------- */
/* Tabela larga: rola dentro do próprio container, sem empurrar a página. */
.assej-exp__wrap { overflow-x: auto; margin-block: 1.25rem 2rem; }
.assej-exp {
	width: 100%; border-collapse: collapse;
	font-size: .93rem; min-width: 640px;
}
.assej-exp caption { text-align: left; }
.assej-exp th, .assej-exp td {
	padding: .7rem .85rem; text-align: left;
	border-bottom: 1px solid var(--assej-line);
}
.assej-exp thead th {
	background: var(--assej-bg-soft);
	color: var(--assej-blue); font-weight: 700;
	font-size: .8rem; text-transform: uppercase; letter-spacing: .06em;
	border-bottom: 2px solid var(--assej-line);
}
.assej-exp tbody tr:hover { background: rgba(15, 76, 129, .03); }
.assej-exp__num { font-weight: 700; color: var(--assej-ink); white-space: nowrap; }

/* ---------- municípios atendidos (sem documento ainda) ---------- */
.assej-atendidos { margin-block: 3rem 2.5rem; }
.assej-atendidos__intro {
	color: var(--assej-muted); max-width: 68ch;
	margin: 0 0 1.5rem; line-height: 1.65;
}
.assej-atendidos__lista {
	display: flex; flex-wrap: wrap; gap: .6rem;
	margin: 0; padding: 0; list-style: none;
}
.assej-atendidos__item {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .5rem .95rem;
	background: var(--assej-bg-soft);
	border: 1px solid var(--assej-line);
	border-radius: 999px;
	font-size: .92rem; color: var(--assej-ink);
}
.assej-atendidos__item .dashicons {
	font-size: 1rem; width: 1rem; height: 1rem;
	color: var(--assej-accent-strong);
}

/* ---------- correções do cabeçalho ---------- */
/*
 * Busca do GeneratePress: o tema gera o <form class="navigation-search"> mas,
 * nesta instalação, não entrega o CSS que o mantém oculto até o clique na lupa
 * — o campo aparecia como uma caixa vazia acima do menu.
 */
.main-navigation { position: relative; }

.navigation-search {
	position: absolute;
	top: 0;
	left: -99999px;
	width: 100%;
	height: 100%;
	opacity: 0;
	pointer-events: none;
	transition: opacity .12s ease;
	z-index: 20;
}
.navigation-search.nav-search-active,
.nav-search-active .navigation-search {
	left: 0;
	opacity: 1;
	pointer-events: auto;
}
.navigation-search input[type="search"],
.navigation-search input.search-field {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 1.25rem;
	background: #fff;
	border: 0;
	border-radius: 0;
	font-size: 1rem;
	color: var(--assej-ink);
	outline-offset: -3px;
}

/*
 * O menu tem sete itens de primeiro nível, com rótulos longos definidos pelo
 * cliente. No tamanho padrão do tema ele quebrava em três linhas: reduzimos
 * corpo e espaçamento para caber em uma só a partir de 1100px.
 */
/*
 * São sete itens de primeiro nível com rótulos longos, definidos pelo cliente
 * ("Projetos, Inovações e Novidades", "Trabalhos Especializados"). Ao lado do
 * logo eles não cabem em uma linha em telas de 1366px e quebravam em duas.
 *
 * Solução: colocar a navegação numa faixa própria abaixo do logo, centralizada.
 * É o padrão de sites institucionais com muitos itens e não depende de espremer
 * a fonte até um tamanho que o cliente talvez não aprove.
 */
@media (min-width: 769px) {
	.site-header .inside-header {
		position: relative;   /* âncora para a lupa no canto */
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: .1rem;
		padding-block: .5rem;
	}
	.site-header .site-branding { text-align: center; }
	.site-header .header-image { max-height: 56px; width: auto; }

	.main-navigation { width: 100%; }
	.main-navigation .inside-navigation { justify-content: center; }
	.main-navigation .main-nav > ul { justify-content: center; flex-wrap: wrap; }

	.main-navigation .main-nav ul li a {
		font-size: .92rem;
		padding-left: 12px;
		padding-right: 12px;
	}
	/* No submenu (aberto na vertical) sobra espaço: tamanho confortável. */
	.main-navigation .main-nav ul ul li a {
		font-size: .92rem;
		padding-left: 20px;
		padding-right: 20px;
	}

	/*
	 * A lupa ocupava uma linha inteira abaixo do menu, empurrando o carrossel
	 * para baixo e cortando a imagem. Tiramos do fluxo e fixamos no canto
	 * superior direito do cabeçalho — recuperando essa altura toda.
	 */
	.main-navigation .menu-bar-items {
		position: absolute;
		top: -3.4rem;   /* sobe para a altura do logo, longe dos itens do menu */
		right: clamp(1rem, 4vw, 2.5rem);
		margin: 0;
		z-index: 5;
	}
	.main-navigation .menu-bar-item.search-item > a {
		color: var(--assej-blue);
		display: inline-flex;
	}
	.main-navigation .menu-bar-item.search-item .gp-icon { font-size: 1.3rem; }
}

/*
 * Setas do carrossel: a faixa é full-bleed com 100vw, que inclui a largura da
 * barra de rolagem. Com o recuo antigo (1,5rem) a seta da esquerda ficava
 * cortada na borda da janela; o recuo maior a mantém inteira.
 */
.assej-hero__seta--ant  { left: clamp(1rem, 3vw, 3rem); }
.assej-hero__seta--prox { right: clamp(1rem, 3vw, 3rem); }

/* ---------- Área Restrita: árvore de seleção + prazo ---------- */
.assej-restrita__arvore { border: 1px solid var(--assej-line); border-radius: 12px; padding: 1rem 1.15rem; }
.assej-restrita__arvore legend { font-weight: 600; font-size: .93rem; padding: 0 .4rem; }
.assej-restrita__arvore-ajuda { color: var(--assej-muted); font-size: .85rem; margin: .2rem 0 1rem; }
.assej-restrita__regiao { margin-bottom: 1rem; }
.assej-restrita__regiao-nome {
	display: flex; align-items: center; gap: .35rem;
	font-weight: 700; color: var(--assej-blue); margin: 0 0 .4rem;
	border-bottom: 1px solid var(--assej-line); padding-bottom: .25rem;
}
.assej-restrita__regiao-nome .dashicons { font-size: 1rem; width: 1rem; height: 1rem; }
.assej-restrita__tipo-nome { margin: .5rem 0 .2rem; font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; color: var(--assej-muted); }
.assej-restrita__doc-opt {
	display: flex; align-items: flex-start; gap: .5rem;
	margin: .25rem 0 .25rem .6rem; font-size: .95rem; font-weight: 400; cursor: pointer;
}
.assej-restrita__doc-opt input { margin-top: .25rem; flex: 0 0 auto; }

.assej-docs__prazo {
	display: flex; align-items: center; gap: .35rem;
	margin: .4rem 0 0; font-size: .85rem; color: var(--assej-accent-strong);
}
.assej-docs__prazo .dashicons { font-size: 1rem; width: 1rem; height: 1rem; }

/* ---------- Transparência: destaque do Relatório de Igualdade Salarial ---------- */
.assej-igualdade {
	display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap;
	background: var(--assej-bg-soft);
	border: 1px solid var(--assej-line); border-left: 4px solid var(--assej-blue);
	border-radius: var(--assej-radius);
	padding: 1.35rem 1.6rem; margin-bottom: 2.5rem;
}
.assej-igualdade__icon { font-size: 2rem; width: 2rem; height: 2rem; color: var(--assej-blue); flex: 0 0 auto; }
.assej-igualdade__texto { flex: 1 1 320px; }
.assej-igualdade__titulo { font-size: 1.3rem; margin: .1rem 0 .4rem; color: var(--assej-blue); }
.assej-igualdade__desc { margin: 0; color: var(--assej-muted); font-size: .95rem; line-height: 1.6; }
.assej-igualdade__cta { flex: 0 0 auto; }
.assej-igualdade__breve { flex: 0 0 auto; color: var(--assej-muted); font-size: .9rem; font-style: italic; }
