/**
 * Tema FGI — estilos sobre o tema padrão do OJS 3.4.
 * Cores e fontes da identidade FGI (tema branco; azul como primária; vermelho só
 * em micro-acentos). As variáveis do LESS do tema padrão já trocam a cor do
 * cabeçalho, links e fontes (ver FgiThemePlugin::init); aqui ficam o layout,
 * a marca, o sumário da edição e o acabamento.
 */
:root {
	--fgi-branco: #FFFFFF;
	--fgi-tinta: #0F172A;
	--fgi-tinta-2: #1E293B;
	--fgi-ardosia: #64748B;
	--fgi-ardosia-2: #94A3B8;
	--fgi-azul: #2563EB;
	--fgi-azul-400: #60A5FA;
	--fgi-azul-50: #EFF4FF;
	--fgi-cinza: #F8FAFC;
	--fgi-cinza-2: #F1F5F9;
	--fgi-borda: #E7ECF3;
	--fgi-vermelho: #FF0000;
	--fgi-fonte-titulo: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--fgi-fonte: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--fgi-raio: 22px;
	--fgi-raio-p: 14px;
	--fgi-sombra-p: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .04);
	--fgi-sombra-m: 0 12px 28px -12px rgba(15, 23, 42, .14);
	--fgi-topo: 0px;
}

/* ---------- Base ---------- */
body {
	background: var(--fgi-branco);
	color: var(--fgi-tinta);
	font-family: var(--fgi-fonte);
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
	font-family: var(--fgi-fonte-titulo);
	letter-spacing: -.02em;
	text-wrap: balance;
}
a { color: var(--fgi-azul); }
:focus-visible { outline: 2px solid var(--fgi-azul); outline-offset: 2px; }
.pkp_structure_page { background: var(--fgi-branco); }

/* ---------- Cabeçalho ---------- */
.pkp_structure_head {
	position: sticky;
	top: 0;
	z-index: 900;
	background: rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	backdrop-filter: saturate(1.4) blur(12px);
	border-bottom: 1px solid var(--fgi-borda);
}
.fgi-marca {
	display: inline-flex !important;
	align-items: center;
	gap: 14px;
	text-decoration: none !important;
	color: var(--fgi-tinta) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin: 0 !important;
}
.pkp_site_name .fgi-marca img { max-height: none; display: block; width: auto; margin: 0; }
.pkp_site_name .fgi-marca img.fgi-logo { height: 40px; }
.pkp_site_name .fgi-marca img.fgi-logo-simbolo { display: none; height: 24px; }
.fgi-separador { width: 1px; height: 30px; background: var(--fgi-borda); }
.fgi-nome {
	font-family: var(--fgi-fonte-titulo);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.15;
	letter-spacing: -.01em;
	white-space: nowrap;
}
.fgi-nome small {
	display: block;
	font: 500 12px/1.3 var(--fgi-fonte);
	color: var(--fgi-ardosia);
	letter-spacing: .02em;
}
.pkp_site_nav_toggle {
	background: transparent;
	color: var(--fgi-tinta);
}

@media (min-width: 992px) {
	.pkp_head_wrapper {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 24px;
		box-sizing: border-box;
		width: 952px;
		margin: 0 auto;
		padding-top: 30px;
		padding-bottom: 12px;
	}
	.pkp_site_name_wrapper { width: auto; margin: 0; padding: 0; flex: 0 0 auto; }
	.pkp_site_name { font-size: 1em; }
	.pkp_site_nav_menu {
		display: flex !important;
		flex: 1 1 auto;
		justify-content: flex-end;
		width: auto;
		background: transparent;
	}
	.pkp_navigation_primary_row { width: auto; }
	.pkp_navigation_primary_wrapper {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 4px;
		width: auto;
		padding: 0;
	}
	.pkp_navigation_primary { max-width: none; }
	.pkp_navigation_primary > li > a,
	.pkp_navigation_search_wrapper a {
		margin: 0;
		padding: 8px 12px;
		border: 0;
		border-radius: 10px;
		color: var(--fgi-tinta-2);
		font-weight: 500;
		font-size: 14.5px;
	}
	.pkp_navigation_primary > li:first-child a { margin-left: 0; }
	.pkp_navigation_primary > li:last-child a { margin-right: 0; }
	.pkp_navigation_primary > li > a:hover,
	.pkp_navigation_search_wrapper a:hover {
		background: var(--fgi-cinza-2);
		color: var(--fgi-tinta);
	}
	.pkp_navigation_primary > li > a:focus,
	.pkp_navigation_search_wrapper a:focus {
		background: var(--fgi-azul-50);
		color: var(--fgi-azul);
	}
	.pkp_navigation_search_wrapper { float: none; }
	.pkp_navigation_user_wrapper {
		left: auto;
		right: 0;
		transform: none;
		padding-right: 0;
	}
	.pkp_navigation_user > li > a {
		color: var(--fgi-ardosia);
		font-size: 13px;
		font-weight: 500;
	}
	.pkp_navigation_user > li > a:hover { color: var(--fgi-tinta); }
	.pkp_nav_list ul {
		border: 1px solid var(--fgi-borda);
		border-radius: 12px;
		box-shadow: var(--fgi-sombra-m);
		overflow: hidden;
	}
	.pkp_nav_list ul a { color: var(--fgi-tinta-2); border-left-color: transparent; }
	.pkp_nav_list ul a:hover,
	.pkp_nav_list ul a:focus { background: var(--fgi-cinza-2); color: var(--fgi-azul); border-color: var(--fgi-azul); }
}

@media (min-width: 1200px) {
	.pkp_head_wrapper { width: 1160px; }
}

@media (max-width: 991px) {
	.pkp_site_name_wrapper { height: 60px; }
	.pkp_site_name { display: flex; align-items: center; height: 60px; }
	.pkp_site_nav_toggle { top: 10px; }
	.pkp_site_name .fgi-marca img.fgi-logo, .fgi-separador { display: none; }
	.pkp_site_name .fgi-marca img.fgi-logo-simbolo { display: block; }
	.fgi-marca { gap: 10px; }
	.fgi-nome { font-size: 15px; }
	.pkp_site_nav_menu {
		background: var(--fgi-branco);
		border-bottom: 1px solid var(--fgi-borda);
		box-shadow: var(--fgi-sombra-m);
	}
	.pkp_site_nav_menu a { color: var(--fgi-tinta); padding: 6px 0; }
}

/* ---------- Área de conteúdo ---------- */
.pkp_structure_main:before,
.pkp_structure_main:after { display: none !important; }
@media (min-width: 992px) {
	.pkp_structure_content { padding-top: 0; }
	.pkp_structure_main,
	.pkp_structure_main:first-child:last-child {
		float: none;
		width: auto;
		max-width: 860px;
		margin: 0 auto;
		padding: 36px 0 80px;
	}
	.pkp_page_index .pkp_structure_main:first-child:last-child,
	.pkp_page_issue .pkp_structure_main:first-child:last-child,
	.pkp_page_search .pkp_structure_main:first-child:last-child { max-width: none; }
}
.cmp_breadcrumbs { font-size: 13.5px; color: var(--fgi-ardosia); }
.cmp_breadcrumbs a { color: var(--fgi-ardosia); }
.cmp_breadcrumbs a:hover { color: var(--fgi-azul); }
.pkp_structure_main h1 { font-weight: 800; letter-spacing: -.03em; }

.cmp_button,
.obj_galley_link,
.cmp_form .buttons button,
.page_search .submit button {
	border-radius: 10px;
}
.obj_galley_link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1px solid var(--fgi-borda);
	background: var(--fgi-branco);
	color: var(--fgi-tinta-2);
	font: 600 13px/1 var(--fgi-fonte);
	padding: 8px 12px;
	text-decoration: none;
	transition: border-color .15s, color .15s, background .15s;
}
.obj_galley_link:hover,
.obj_galley_link:focus {
	border-color: var(--fgi-azul-400);
	background: var(--fgi-branco);
	color: var(--fgi-azul);
}
.obj_galley_link.pdf {
	border-color: rgba(37, 99, 235, .35);
	background: var(--fgi-azul-50);
	color: var(--fgi-azul);
}
.obj_galley_link.pdf:hover { background: var(--fgi-azul); color: var(--fgi-branco); }

/* ---------- Capa da revista ---------- */
.page_index_journal .homepage_about {
	max-width: 760px;
	margin: 8px 0 40px;
	color: var(--fgi-tinta-2);
}
.page_index_journal .homepage_about h2 { font-size: 1.35rem; font-weight: 700; }
.page_index_journal .current_issue { margin-top: 0; }
.page_index_journal .read_more {
	display: inline-flex;
	margin-top: 8px;
	font-weight: 600;
	text-decoration: none;
}

/* ---------- Sumário da edição ---------- */
.fgi-sumario [hidden] { display: none !important; }
.fgi-sumario .fgi-abertura {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 28px;
	align-items: end;
	margin: 0 0 32px;
	padding: 36px 32px 30px;
	border: 1px solid var(--fgi-borda);
	border-radius: var(--fgi-raio);
	background:
		radial-gradient(900px 260px at 88% -60px, rgba(96, 165, 250, .20), transparent 70%),
		var(--fgi-cinza);
	overflow: hidden;
}
.fgi-sobretitulo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 600 12px/1 var(--fgi-fonte);
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--fgi-ardosia);
}
.fgi-sobretitulo:before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--fgi-vermelho);
}
.fgi-sumario .fgi-edicao-titulo {
	margin: 12px 0 0;
	font-family: var(--fgi-fonte-titulo);
	font-size: clamp(2rem, 1.3rem + 2.4vw, 3rem);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.05;
	color: var(--fgi-tinta);
}
.fgi-periodo { color: var(--fgi-ardosia-2); font-weight: 700; }
.fgi-abertura-data { margin: 12px 0 0; color: var(--fgi-ardosia); }
.fgi-abertura .pub_id { margin: 6px 0 0; font-size: 13.5px; color: var(--fgi-ardosia); }
.fgi-abertura-descricao { margin-top: 14px; max-width: 65ch; color: var(--fgi-tinta-2); }
.fgi-edicao-completa {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 18px;
	font-weight: 600;
	font-size: 14px;
}
.fgi-edicao-completa .galleys_links { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; }
.fgi-abertura-capa img {
	display: block;
	max-height: 220px;
	width: auto;
	border-radius: var(--fgi-raio-p);
	box-shadow: var(--fgi-sombra-m);
}
.fgi-numeros { display: flex; gap: 10px; flex-wrap: wrap; margin: 0; }
.fgi-numeros > div {
	display: flex;
	flex-direction: column-reverse;
	min-width: 104px;
	padding: 12px 16px;
	border: 1px solid var(--fgi-borda);
	border-radius: var(--fgi-raio-p);
	background: var(--fgi-branco);
	box-shadow: var(--fgi-sombra-p);
}
.fgi-numeros dt { font-size: 12.5px; color: var(--fgi-ardosia); font-weight: 400; }
.fgi-numeros dd {
	margin: 0;
	font: 800 1.55rem/1.1 var(--fgi-fonte-titulo);
	letter-spacing: -.03em;
	font-variant-numeric: tabular-nums;
}

.fgi-corpo {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 40px;
}
.fgi-lateral {
	position: sticky;
	top: calc(var(--fgi-topo) + 24px);
	align-self: start;
	display: flex;
	flex-direction: column;
	gap: 26px;
	max-height: calc(100vh - var(--fgi-topo) - 40px);
	overflow: auto;
	padding-right: 4px;
}
.fgi-rotulo {
	display: block;
	margin-bottom: 10px;
	font: 600 11.5px/1 var(--fgi-fonte);
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--fgi-ardosia);
}
.fgi-indice { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.fgi-indice a {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 7px 10px;
	border-radius: 10px;
	font-size: 14px;
	color: var(--fgi-tinta-2);
	text-decoration: none;
}
.fgi-indice a:hover { background: var(--fgi-cinza-2); }
.fgi-indice a.fgi-ativo { background: var(--fgi-azul-50); color: var(--fgi-azul); font-weight: 600; }
.fgi-indice a.fgi-zero { opacity: .45; }
.fgi-n { font-size: 13px; color: var(--fgi-ardosia-2); font-variant-numeric: tabular-nums; }
.fgi-indice a.fgi-ativo .fgi-n { color: var(--fgi-azul); }
.fgi-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.fgi-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 11px;
	border: 1px solid var(--fgi-borda);
	border-radius: 999px;
	background: var(--fgi-branco);
	color: var(--fgi-tinta-2);
	font: 500 13px/1.2 var(--fgi-fonte);
	text-decoration: none;
	cursor: pointer;
}
.fgi-chip:hover { border-color: var(--fgi-azul-400); }
.fgi-chip[aria-pressed="true"] { background: var(--fgi-azul); border-color: var(--fgi-azul); color: var(--fgi-branco); }
.fgi-chip[aria-pressed="true"] .fgi-n { color: rgba(255, 255, 255, .8); }

.fgi-ferramentas { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 22px; }
.fgi-busca { position: relative; flex: 1 1 320px; min-width: 0; margin: 0; }
.fgi-busca svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--fgi-ardosia-2); }
.fgi-busca input {
	width: 100%;
	box-sizing: border-box;
	padding: 13px 40px 13px 42px;
	border: 1px solid var(--fgi-borda);
	border-radius: var(--fgi-raio-p);
	background: var(--fgi-branco);
	box-shadow: var(--fgi-sombra-p);
	font: 500 15px var(--fgi-fonte);
	color: var(--fgi-tinta);
}
.fgi-busca input:focus { outline: none; border-color: var(--fgi-azul-400); box-shadow: 0 0 0 4px rgba(37, 99, 235, .12); }
.fgi-limpar {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 26px;
	height: 26px;
	border: 0;
	border-radius: 8px;
	background: var(--fgi-cinza-2);
	color: var(--fgi-ardosia);
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
}
.fgi-contagem { font-size: 13.5px; color: var(--fgi-ardosia); font-variant-numeric: tabular-nums; }
.fgi-indice-movel { display: none; }

.obj_issue_toc.fgi-sumario .sections { margin: 0; }
.fgi-sumario .section:before,
.fgi-sumario .section:after { display: none; }
.fgi-sumario .section { margin: 0; padding: 0; }
.fgi-secao { scroll-margin-top: calc(var(--fgi-topo) + 24px); margin: 0 0 44px; }
.fgi-secao-topo {
	display: flex;
	align-items: baseline;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--fgi-borda);
}
.fgi-secao-topo h2,
.fgi-secao-topo h3 {
	position: static;
	margin: 0;
	padding: 0;
	background: none;
	font-family: var(--fgi-fonte-titulo);
	line-height: 1.25;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: -.025em;
	color: var(--fgi-tinta);
}
.fgi-secao-topo .fgi-n { font-weight: 600; color: var(--fgi-ardosia); }
.fgi-etiqueta {
	padding: 5px 9px;
	border-radius: 999px;
	background: var(--fgi-cinza-2);
	color: var(--fgi-ardosia);
	font: 500 12px/1 var(--fgi-fonte);
}
.fgi-sumario .cmp_article_list.fgi-lista {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.fgi-sumario .cmp_article_list.fgi-lista > li { margin: 0; padding: 0; border: 0; min-width: 0; display: flex; }

/* Cartão de trabalho (sumário e buscas) */
.obj_article_summary.fgi-cartao {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	padding: 16px 18px 15px;
	border: 1px solid var(--fgi-borda);
	border-radius: var(--fgi-raio-p);
	background: var(--fgi-branco);
	transition: box-shadow .2s, transform .2s, border-color .2s;
}
.obj_article_summary.fgi-cartao:hover { box-shadow: var(--fgi-sombra-m); transform: translateY(-2px); border-color: #DBE3EE; }
.fgi-cursos-cartao { display: flex; gap: 6px; flex-wrap: wrap; }
.fgi-cursos-cartao span {
	padding: 5px 8px;
	border-radius: 6px;
	background: var(--fgi-azul-50);
	color: var(--fgi-azul);
	font: 600 11px/1 var(--fgi-fonte);
	letter-spacing: .06em;
	text-transform: uppercase;
}
.obj_article_summary.fgi-cartao .title {
	margin: 0;
	font-family: var(--fgi-fonte-titulo);
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.32;
	letter-spacing: -.012em;
}
.obj_article_summary.fgi-cartao .title a { color: var(--fgi-tinta); text-decoration: none; }
.obj_article_summary.fgi-cartao .title a:hover { color: var(--fgi-azul); }
.obj_article_summary.fgi-cartao .meta { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; }
.fgi-autores { font-size: 13.5px; color: var(--fgi-tinta-2); padding-right: 0; }
.fgi-autores span + span:before,
.fgi-orientacao span + span:before { content: ", "; }
.fgi-orientacao { font-size: 13px; color: var(--fgi-ardosia); }
.fgi-orientacao span { font-weight: 600; color: var(--fgi-tinta-2); }
.obj_article_summary.fgi-cartao .galleys_links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: auto 0 0;
	padding: 4px 0 0;
	list-style: none;
}
.obj_article_summary.fgi-cartao .galleys_links li { margin: 0; }
.fgi-sumario mark { background: rgba(96, 165, 250, .28); color: inherit; border-radius: 3px; padding: 0 1px; }

.fgi-vazio {
	padding: 40px 24px;
	border: 1px dashed var(--fgi-borda);
	border-radius: var(--fgi-raio);
	text-align: center;
	color: var(--fgi-ardosia);
}
.fgi-vazio strong { display: block; margin-bottom: 6px; color: var(--fgi-tinta); font: 700 1.1rem var(--fgi-fonte-titulo); }
.fgi-vazio button {
	display: block;
	margin: 14px auto 0;
	padding: 10px 16px;
	border: 0;
	border-radius: 10px;
	background: var(--fgi-azul);
	color: var(--fgi-branco);
	font: 600 14px var(--fgi-fonte);
	cursor: pointer;
}

/* Lista de edições (Arquivos) */
.obj_issue_summary { padding: 16px 0; border-bottom: 1px solid var(--fgi-borda); }
.obj_issue_summary .title { font-family: var(--fgi-fonte-titulo); font-weight: 700; color: var(--fgi-tinta); text-decoration: none; }
.obj_issue_summary .cover img { border-radius: var(--fgi-raio-p); }

/* Página do artigo */
.obj_article_details .page_title { font-weight: 800; letter-spacing: -.03em; line-height: 1.15; }
.obj_article_details .authors .name { font-weight: 600; }
.obj_article_details .authors .userGroup {
	display: inline-block;
	margin-top: 2px;
	padding: 3px 8px;
	border-radius: 6px;
	background: var(--fgi-azul-50);
	color: var(--fgi-azul);
	font-size: 12px;
	font-weight: 600;
}
.obj_article_details .entry_details { border-color: var(--fgi-borda); }
.obj_article_details .item .label,
.obj_article_details .main_entry .label { font-family: var(--fgi-fonte-titulo); }

/* ---------- Rodapé ---------- */
.pkp_structure_footer_wrapper { background: var(--fgi-tinta); color: #CBD5E1; }
.pkp_structure_footer_wrapper a { color: var(--fgi-branco); }
.pkp_footer_content { padding-top: 28px; padding-bottom: 8px; font-size: 14px; }
.pkp_footer_content p { margin: 0; }
.pkp_footer_content strong { color: var(--fgi-branco); font-family: var(--fgi-fonte-titulo); }
.pkp_brand_footer { background: var(--fgi-tinta); }
.pkp_brand_footer img { filter: invert(1); opacity: .45; max-width: 120px; }

/* ---------- Telas menores ---------- */
@media (max-width: 991px) {
	.fgi-corpo { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.fgi-lateral { display: none; }
	.fgi-sumario .cmp_article_list.fgi-lista { grid-template-columns: minmax(0, 1fr); }
	.fgi-sumario .fgi-abertura { grid-template-columns: minmax(0, 1fr); padding: 26px 20px 22px; }
	.fgi-indice-movel {
		display: flex;
		gap: 6px;
		overflow-x: auto;
		margin: 0 0 18px;
		padding-bottom: 4px;
		scrollbar-width: none;
	}
	.fgi-indice-movel::-webkit-scrollbar { display: none; }
	.fgi-indice-movel .fgi-chip { white-space: nowrap; flex-shrink: 0; }
	.fgi-ferramentas {
		position: sticky;
		top: var(--fgi-topo);
		z-index: 5;
		margin-bottom: 10px;
		padding: 10px 0;
		background: var(--fgi-branco);
	}
	.fgi-cursos-movel:not([hidden]) {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin: -8px 0 18px;
		padding-bottom: 4px;
		scrollbar-width: none;
	}
	.fgi-cursos-movel::-webkit-scrollbar { display: none; }
	.fgi-cursos-movel .fgi-chip { white-space: nowrap; flex-shrink: 0; }
}
@media (min-width: 992px) {
	.fgi-cursos-movel { display: none !important; }
}
@media (max-width: 480px) {
	.fgi-numeros > div { min-width: 0; flex: 1 1 40%; }
}
@media (prefers-reduced-motion: reduce) {
	.obj_article_summary.fgi-cartao { transition: none; }
	.obj_article_summary.fgi-cartao:hover { transform: none; }
}
