/**
 * Tema ESASP - folha de estilos (carregada depois do tema padrao do OJS)
 * Paleta: roxo #9B32F5 / #6B12C5, fundo #F5F5F5, texto #333.
 * Tipografia: Roboto (texto) + Playfair Display (titulos).
 */
:root {
	--esa-p: #9B32F5;
	--esa-pd: #6B12C5;
	--esa-pl: #EDE0FF;
	--esa-bg: #F5F5F5;
	--esa-tx: #333;
	--esa-mu: #666;
	--esa-bd: #e8e8e8;
	--esa-serif: 'Playfair Display', Georgia, serif;
	--esa-sans: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

html { font-size: 16px; }
html, body { background: var(--esa-bg); color: var(--esa-tx); font-family: var(--esa-sans); overflow-x: hidden; }
body { font-size: 1rem; line-height: 1.6; }
a { color: var(--esa-p); }
a:hover, a:focus { color: var(--esa-pd); }
h1, h2, h3, .page h1, .page_title { font-family: var(--esa-serif); color: var(--esa-tx); }

/* ---------- Cabecalho ---------- */
.pkp_structure_head {
	background: var(--esa-p);
	border-bottom: 0;
	box-shadow: 0 2px 8px rgba(0,0,0,.2);
	position: sticky;
	top: 0;
	z-index: 100;
}
.pkp_site_name .is_text { font-family: var(--esa-sans); font-weight: 500; color: #fff; }
.pkp_navigation_primary > li > a,
.pkp_navigation_user > li > a,
.pkp_navigation_search_wrapper a {
	color: rgba(255,255,255,.92);
	font-size: .875rem;
	font-weight: 400;
	letter-spacing: .01em;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_search_wrapper a:hover {
	color: #fff;
	background: rgba(255,255,255,.14);
	border-color: transparent;
	border-radius: 4px;
}
.pkp_navigation_primary ul { background: #fff; border: 1px solid var(--esa-bd); border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.16); }
.pkp_navigation_primary ul a { color: var(--esa-tx); }
.pkp_navigation_primary ul a:hover, .pkp_navigation_primary ul a:focus { color: var(--esa-p); background: #faf6ff; }
.pkp_navigation_user > li > a { border: 1px solid rgba(255,255,255,.3); border-radius: 4px; }
.pkp_navigation_user ul { background: #fff; border-radius: 8px; border: 1px solid var(--esa-bd); }
.pkp_navigation_user ul a { color: var(--esa-tx); }
.pkp_site_nav_toggle { background: transparent; }

/* ---------- Estrutura ---------- */
.pkp_structure_content { background: transparent; padding-top: 1.5rem; }
.pkp_structure_main { background: transparent; }
.pkp_structure_main:before, .pkp_structure_main:after { display: none; }
.pkp_structure_main > .page,
.pkp_structure_main > .page_index_journal > .current_issue,
.pkp_structure_main > .page_index_journal > .additional_content,
.pkp_structure_main > .page_index_journal > .homepage_about {
	position: relative;
}
.page { background: #fff; border: 1px solid var(--esa-bd); border-radius: 8px; padding: 28px 36px; }
.page_index_journal { background: transparent; border: 0; padding: 0; }
.page h1 { font-size: 1.75rem; font-weight: 700; line-height: 1.3; margin: 0 0 1.25rem; }
.page h2 { font-family: var(--esa-serif); font-weight: 600; }

/* Migalhas */
.cmp_breadcrumbs { font-size: .8125rem; color: var(--esa-mu); margin-bottom: 1rem; }
.cmp_breadcrumbs a { color: var(--esa-p); text-decoration: none; }
.cmp_breadcrumbs .separator { opacity: .5; }

/* ---------- Hero (indexJournal) ---------- */
.esasp_hero {
	position: relative;
	width: 100%;
	margin: 0 0 2rem;
	background: linear-gradient(135deg, #9B32F5 0%, #6B12C5 100%);
	color: #fff;
	padding: 2.5rem 2.25rem;
	border-radius: 8px;
	overflow: hidden;
}
.esasp_hero::after {
	content: '';
	position: absolute;
	right: -80px; top: -80px;
	width: 320px; height: 320px;
	background: rgba(255,255,255,.06);
	border-radius: 50%;
}
.esasp_hero_inner {
	position: relative; z-index: 1;
	max-width: 1180px; margin: 0 auto;
	display: grid; grid-template-columns: 1fr 200px; gap: 2.5rem; align-items: center;
}
.esasp_hero_label { font-size: .75rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; opacity: .78; margin-bottom: .75rem; }
.esasp_hero_title { font-family: var(--esa-serif); font-size: 1.625rem; font-weight: 600; line-height: 1.3; color: #fff; margin: 0 0 .875rem; }
.esasp_hero_desc { font-size: .9375rem; line-height: 1.75; opacity: .88; margin: 0 0 1.125rem; max-width: 560px; }
.esasp_hero_meta { font-size: .875rem; opacity: .8; margin-bottom: 1.5rem; }
.esasp_hero_actions { display: flex; gap: .625rem; flex-wrap: wrap; }
.esasp_btn { display: inline-block; font-size: .875rem; font-weight: 500; padding: .6875rem 1.5rem; border-radius: 4px; text-decoration: none; transition: .15s; }
.esasp_btn_light { background: #fff; color: var(--esa-p); box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.esasp_btn_light:hover { color: var(--esa-pd); background: #faf6ff; }
.esasp_btn_ghost { color: #fff; border: 1px solid rgba(255,255,255,.55); }
.esasp_btn_ghost:hover { color: #fff; background: rgba(255,255,255,.12); }
.esasp_hero_cover img { width: 100%; height: auto; display: block; border-radius: 4px; box-shadow: 0 14px 40px rgba(0,0,0,.4); transform: rotate(2deg); transition: transform .2s; }
.esasp_hero_cover:hover img { transform: rotate(0) scale(1.03); }

/* Na home o cabecalho do sumario (capa+descricao) ja aparece no hero */
.page_index_journal .obj_issue_toc > .heading { display: none; }
.page_index_journal .current_issue_title { display: none; }
.page_index_journal .current_issue > h2,
.obj_issue_toc .sections .section > h2,
.obj_issue_toc .sections .section > h3,
.obj_issue_toc .galleys > h2,
.obj_issue_toc .galleys > h3 {
	font-family: var(--esa-serif);
	font-size: 1.125rem; font-weight: 600; color: var(--esa-tx);
	display: flex; align-items: center; gap: .625rem;
	border: 0; padding: 0; margin: 1.75rem 0 .875rem;
}
.page_index_journal .current_issue > h2::before,
.obj_issue_toc .sections .section > h2::before,
.obj_issue_toc .sections .section > h3::before,
.obj_issue_toc .galleys > h2::before { content: ''; width: 3px; height: 1.125rem; background: var(--esa-p); border-radius: 2px; flex: 0 0 auto; }
.page_index_journal .current_issue > h2 { margin-top: 0; }
.page_index_journal .current_issue .read_more,
.read_more {
	display: inline-block; margin-top: 1rem;
	font-size: .875rem; font-weight: 500; color: var(--esa-p);
	border: 1px solid var(--esa-p); border-radius: 4px; padding: .5rem 1.125rem; text-decoration: none;
}
.read_more:hover { background: var(--esa-p); color: #fff; }

/* ---------- Sumario / artigos ---------- */
.obj_issue_toc .heading { display: flex; gap: 1.75rem; background: #fff; border: 1px solid var(--esa-bd); border-radius: 8px; padding: 1.5rem; margin-bottom: .5rem; }
.obj_issue_toc .heading .cover { flex: 0 0 170px; margin: 0; }
.obj_issue_toc .heading .cover img { width: 100%; height: auto; border-radius: 4px; box-shadow: 0 6px 20px rgba(0,0,0,.25); }
.obj_issue_toc .heading .description { font-size: .9375rem; line-height: 1.8; color: #555; }
.obj_issue_toc .published, .obj_issue_toc .pub_id { font-size: .8125rem; color: var(--esa-mu); }
.cmp_article_list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .875rem; }
.cmp_article_list > li { margin: 0; padding: 0; border: 0; }
.obj_article_summary {
	background: #fff; border: 1px solid var(--esa-bd); border-radius: 8px;
	padding: 1.125rem; height: 100%; transition: .15s; position: relative;
}
.obj_article_summary:hover { border-color: var(--esa-p); box-shadow: 0 4px 16px rgba(155,50,245,.1); }
.obj_article_summary .title { font-family: var(--esa-serif); font-size: 1rem; font-weight: 600; line-height: 1.5; margin: 0 0 .5rem; }
.obj_article_summary .title a { color: var(--esa-tx); text-decoration: none; }
.obj_article_summary .title a:hover { color: var(--esa-p); }
.obj_article_summary .meta { font-size: .8125rem; color: var(--esa-mu); margin-bottom: .625rem; }
.obj_article_summary .meta .pages { color: #aaa; }
.obj_article_summary .galleys_links { list-style: none; margin: .5rem 0 0; padding: .625rem 0 0; border-top: 1px solid #f0f0f0; display: flex; gap: .5rem; flex-wrap: wrap; }
.obj_article_summary .galleys_links li { margin: 0; }

/* Botoes de galeria (PDF, HTML...) */
.obj_galley_link, a.obj_galley_link {
	display: inline-block;
	font-size: .8125rem; font-weight: 500; line-height: 1;
	padding: .4375rem .875rem;
	color: var(--esa-p); background: #fff;
	border: 1px solid var(--esa-p); border-radius: 14px;
	text-decoration: none; transition: .15s;
}
.obj_galley_link:hover, .obj_galley_link:focus { background: var(--esa-p); color: #fff; }
.obj_galley_link.pdf { background: var(--esa-p); color: #fff; }
.obj_galley_link.pdf:hover { background: var(--esa-pd); border-color: var(--esa-pd); }

/* ---------- Arquivo de edicoes ---------- */
.issues_archive { list-style: none; margin: 0; padding: 0; }
.issues_archive > li { margin: 0 0 .875rem; padding: 0; border: 0; }
.obj_issue_summary {
	display: flex; gap: 1.25rem; align-items: flex-start;
	background: #fff; border: 1px solid var(--esa-bd); border-radius: 8px; padding: 1rem; transition: .15s;
}
.obj_issue_summary:hover { border-color: var(--esa-p); }
.obj_issue_summary .cover { flex: 0 0 110px; }
.obj_issue_summary .cover img { width: 100%; height: auto; border-radius: 3px; box-shadow: 0 3px 10px rgba(0,0,0,.2); display: block; }
.obj_issue_summary h2 { font-size: 1.0625rem; line-height: 1.4; margin: .125rem 0 .375rem; }
.obj_issue_summary h2 .title { color: var(--esa-tx); text-decoration: none; }
.obj_issue_summary h2 .title:hover { color: var(--esa-p); }
.obj_issue_summary .series { font-family: var(--esa-sans); font-size: .8125rem; font-weight: 500; color: var(--esa-p); margin-top: .25rem; }
.obj_issue_summary .description { font-size: .875rem; line-height: 1.65; color: var(--esa-mu); }

/* ---------- Pagina do artigo ---------- */
.page_article { padding: 0; overflow: hidden; border-top: 4px solid var(--esa-p); }
.page_article .cmp_breadcrumbs { padding: 1.25rem 2.25rem 0; margin: 0; }
.obj_article_details { padding: 1rem 2.25rem 2rem; }
.obj_article_details .page_title { font-size: 1.75rem; font-weight: 700; line-height: 1.3; margin: .5rem 0 1rem; }
.obj_article_details .subtitle { font-family: var(--esa-sans); font-size: 1rem; font-weight: 400; color: var(--esa-mu); }
.obj_article_details .row { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 2rem; align-items: start; border: 0; }
.obj_article_details .main_entry { float: none; width: auto; }
.obj_article_details .entry_details { float: none; width: auto; background: #faf6ff; border: 1px solid var(--esa-pl); border-radius: 8px; padding: 1rem; }
.obj_article_details .item { margin: 0 0 1.5rem; padding: 0; border: 0; }
.obj_article_details .item > h2,
.obj_article_details .item .label,
.obj_article_details .item h3 {
	font-family: var(--esa-serif); font-size: 1.0625rem; font-weight: 600; color: var(--esa-tx);
	display: flex; align-items: center; gap: .625rem; margin: 0 0 .625rem; padding: 0; border: 0;
}
.obj_article_details .entry_details .item .label { font-family: var(--esa-sans); font-size: .75rem; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; color: #999; display: block; }
.obj_article_details .main_entry .item > h2::before,
.obj_article_details .main_entry .item > .label::before { content: ''; width: 3px; height: 1.125rem; background: var(--esa-p); border-radius: 2px; flex: 0 0 auto; }
.obj_article_details .authors { list-style: none; margin: 0; padding: 0; }
.obj_article_details .authors li { margin: 0 0 .5rem; }
.obj_article_details .authors .name { font-weight: 500; font-size: 1rem; }
.obj_article_details .authors .affiliation { font-size: .8125rem; color: var(--esa-mu); }
.obj_article_details .abstract { font-size: 1rem; line-height: 1.85; color: #444; text-align: justify; }
.obj_article_details .keywords .value { display: flex; gap: .5rem; flex-wrap: wrap; }
.obj_article_details .references .value { font-size: .875rem; line-height: 1.7; color: #555; }
.obj_article_details .references .value p { padding-left: .875rem; border-left: 2px solid var(--esa-pl); margin: 0 0 .5rem; }
.obj_article_details .cover_image img { width: 100%; height: auto; border-radius: 4px; box-shadow: 0 4px 14px rgba(0,0,0,.18); }
.obj_article_details .galleys_links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.obj_article_details .galleys_links .obj_galley_link { display: block; text-align: center; padding: .6875rem 1rem; border-radius: 4px; font-size: .875rem; }
.obj_article_details .doi a, .obj_article_details .pubid a { word-break: break-all; }
.obj_article_details .citation_display .citation_formats_button, .cmp_button, .pkp_button {
	background: #fff; color: var(--esa-p); border: 1px solid var(--esa-p); border-radius: 4px;
	font-family: var(--esa-sans); font-size: .875rem; font-weight: 500; padding: .5rem 1.125rem; text-decoration: none; cursor: pointer;
}
.cmp_button:hover, .pkp_button:hover { background: var(--esa-p); color: #fff; }

/* ---------- Formularios (login, registro, busca) ---------- */
.cmp_form fieldset { border: 0; padding: 0; margin: 0 0 1rem; }
.cmp_form label, .cmp_form .label { font-size: .8125rem; font-weight: 500; color: var(--esa-mu); }
input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="url"], input[type="tel"], select, textarea {
	font-family: var(--esa-sans); font-size: .9375rem;
	border: 1px solid #ddd; border-radius: 6px; padding: .6875rem .875rem; background: #fff;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="search"]:focus, select:focus, textarea:focus {
	outline: 2px solid var(--esa-pl); border-color: var(--esa-p);
}
.cmp_form .buttons button, .cmp_form button[type="submit"], .cmp_form .submit button, input[type="submit"] {
	background: var(--esa-p); color: #fff; border: 1px solid var(--esa-p); border-radius: 4px;
	font-family: var(--esa-sans); font-size: .875rem; font-weight: 500; padding: .6875rem 1.5rem; cursor: pointer; box-shadow: 0 2px 6px rgba(155,50,245,.35);
}
.cmp_form .buttons button:hover, .cmp_form button[type="submit"]:hover, input[type="submit"]:hover { background: var(--esa-pd); border-color: var(--esa-pd); }
.page_login, .page_register, .page_lost_password { max-width: 520px; margin-left: auto; margin-right: auto; padding: 2.25rem; }

/* ---------- Avisos, anuncios, paginacao ---------- */
.cmp_notification { background: #faf6ff; border-left: 3px solid var(--esa-p); border-radius: 0 6px 6px 0; padding: .875rem 1.125rem; }
.cmp_announcements, .obj_announcement_summary, .obj_announcement_full { list-style: none; }
.obj_announcement_summary { background: #fff; border: 1px solid var(--esa-bd); border-radius: 8px; padding: 1.375rem 1.625rem; margin-bottom: .875rem; }
.obj_announcement_summary:hover { border-color: var(--esa-p); }
.obj_announcement_summary h2, .obj_announcement_summary h3 { font-family: var(--esa-serif); font-size: 1.125rem; font-weight: 600; line-height: 1.4; }
.obj_announcement_summary h2 a, .obj_announcement_summary h3 a { color: var(--esa-tx); text-decoration: none; }
.obj_announcement_summary .date, .obj_announcement_full .date { font-size: .75rem; font-weight: 500; color: var(--esa-p); text-transform: uppercase; letter-spacing: .06em; }
.cmp_pagination { font-size: .875rem; }
.cmp_pagination a { color: var(--esa-p); }

/* ---------- Barra lateral ---------- */
.pkp_structure_sidebar { padding-top: 0; }
.pkp_block {
	background: #fff; border: 1px solid var(--esa-bd); border-radius: 8px;
	padding: 1.125rem; margin: 0 0 1rem;
}
.pkp_block .title {
	font-family: var(--esa-sans); font-size: .875rem; font-weight: 500; color: var(--esa-tx);
	display: flex; align-items: center; gap: .5rem; margin: 0 0 .75rem; padding: 0; border: 0; text-transform: none; letter-spacing: 0;
}
.pkp_block .title::before { content: ''; width: 3px; height: .875rem; background: var(--esa-p); border-radius: 2px; }
.pkp_block ul { list-style: none; margin: 0; padding: 0; }
.pkp_block a { font-size: .875rem; color: var(--esa-mu); text-decoration: none; }
.pkp_block a:hover { color: var(--esa-p); }
.pkp_block li { padding: .1875rem 0; }
/* Bloco de HTML livre com logos de indexadores: grade 2 colunas */
.pkp_block.block_custom .content,
.pkp_block .content:has(img) { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.pkp_block .content > p { margin: 0; }
.pkp_block .content > p:not(:has(img)) {
	grid-column: 1 / -1;
	font-size: .6875rem; text-transform: uppercase; letter-spacing: .08em; color: #aaa; margin-top: .5rem;
}
.pkp_block .content > p:has(img) a { display: block; }
.pkp_block .content img {
	width: 100%; height: 46px; object-fit: contain;
	background: #fff; border: 1px solid #eee; border-radius: 6px; padding: 6px; transition: border-color .15s;
}
.pkp_block .content img:hover { border-color: var(--esa-p); }
.block_make_submission a, .pkp_block.block_make_submission .content a {
	display: block; text-align: center; background: var(--esa-p); color: #fff; border-radius: 4px; padding: .6875rem; font-weight: 500;
}
.block_make_submission a:hover { background: var(--esa-pd); color: #fff; }

/* ---------- Rodape ---------- */
.pkp_structure_footer_wrapper { background: #1e1e2e; color: #aaa; margin-top: 2rem; }
.pkp_structure_footer { padding-top: 2.25rem; padding-bottom: 1.5rem; font-size: .8125rem; line-height: 1.8; }
.pkp_footer_content { color: #aaa; }
.pkp_footer_content a { color: #c9a8f5; }
.pkp_footer_content a:hover { color: #fff; }
.pkp_footer_content img { max-height: 32px; width: auto; }
.pkp_footer_content strong { color: #fff; font-weight: 500; }
.pkp_brand_footer { border-top: 1px solid #333; margin-top: 1.25rem; padding-top: 1rem; opacity: .75; }

/* ---------- Responsivo ---------- */
@media (max-width: 991px) {
	.esasp_hero_inner { grid-template-columns: 1fr; gap: 1.5rem; }
	.esasp_hero_cover { max-width: 190px; }
	.cmp_article_list { grid-template-columns: 1fr; }
	.obj_article_details .row { grid-template-columns: 1fr; }
	.obj_issue_toc .heading { flex-direction: column; }
	.obj_issue_toc .heading .cover { flex-basis: auto; max-width: 180px; }
	.page { padding: 1.25rem; }
	.pkp_structure_main { padding: 1rem; }
	.pkp_structure_head { position: relative; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* =====================================================================
 * Compatibilidade com o CSS personalizado do site (Aparencia > Avancado)
 * Esse CSS e carregado DEPOIS do tema e traz regras antigas com
 * !important e seletores genericos (header, footer, nav a, h1-h6, a...).
 * As regras abaixo neutralizam esses vazamentos sem exigir que o CSS
 * antigo seja apagado.
 * ===================================================================== */
body a { color: var(--esa-p); text-decoration: none; }
body a:hover, body a:focus { color: var(--esa-pd); text-decoration: none; }
body h1, body h2, body h3, body h4, body h5, body h6 { color: var(--esa-tx); font-family: var(--esa-serif); font-weight: 600; margin-top: 0; }

/* header { padding; border; text-align:center } do CSS antigo */
body header.pkp_structure_head {
	padding: 0; margin: 0; border: 0; text-align: left;
	background: var(--esa-p); color: #fff; font-weight: 400;
}
body .pkp_structure_head .pkp_head_wrapper { padding-top: .25rem; padding-bottom: .25rem; }
body .pkp_site_name_wrapper { height: auto; }
body .pkp_site_name .is_text { font-size: 1.0625rem; line-height: 2.5rem; color: #fff; font-family: var(--esa-sans); }
body .pkp_site_name a, body .pkp_site_name a:hover { color: #fff; }
/* nav a { margin: 0 1em; color: cinza } do CSS antigo */
body nav a { margin: 0; }
body .pkp_navigation_primary > li > a,
body .pkp_navigation_user > li > a,
body .pkp_navigation_search_wrapper a { color: rgba(255,255,255,.92); padding: .5rem .625rem; margin: 0; font-size: .875rem; }
body .pkp_navigation_primary > li > a:hover,
body .pkp_navigation_user > li > a:hover,
body .pkp_navigation_search_wrapper a:hover { color: #fff; }
body .pkp_navigation_primary ul a { color: var(--esa-tx); }
body .pkp_navigation_primary ul a:hover { color: var(--esa-p); }
body .pkp_navigation_primary_wrapper { display: flex; flex-wrap: wrap; align-items: center; }
body .pkp_navigation_user_wrapper { text-align: right; }

/* footer { background claro; centralizado } caso o tema use <footer> */
body footer.pkp_structure_footer_wrapper, body .pkp_structure_footer_wrapper { background: #1e1e2e; color: #aaa; border: 0; text-align: left; padding: 0; }

/* button, input[type=submit] { cinza claro } */
body .cmp_form button[type="submit"], body .cmp_form .buttons button, body input[type="submit"], body .pkp_button, body .cmp_button {
	background-color: var(--esa-p); color: #fff; font-weight: 500;
}
body .cmp_form button[type="submit"]:hover, body .cmp_form .buttons button:hover, body input[type="submit"]:hover { background-color: var(--esa-pd); color: #fff; }
body .cmp_button, body .pkp_button { background-color: #fff; color: var(--esa-p); }
body .cmp_button:hover, body .pkp_button:hover { background-color: var(--esa-p); color: #fff; }
body input, body select, body textarea { width: auto; }
body .cmp_form input[type="text"], body .cmp_form input[type="email"], body .cmp_form input[type="password"], body .cmp_form select, body .cmp_form textarea,
body .search_input input, body .page_search input[type="text"] { width: 100%; box-sizing: border-box; }
body input:focus, body select:focus, body textarea:focus { border-color: var(--esa-p); box-shadow: 0 0 0 3px var(--esa-pl); }

/* .galleys_links / .obj_galley_link { block, 100%, !important } */
body .galleys_links { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: .5rem; padding-left: 0 !important; margin: 0; list-style: none; }
body .galleys_links li { display: block !important; margin: 0 !important; padding: 0 !important; width: auto; }
body .galleys_links a.obj_galley_link, body a.obj_galley_link {
	display: inline-block !important; width: auto !important; margin: 0 !important;
	padding: .4375rem .875rem !important; gap: 0 !important;
	font-size: .8125rem !important; font-weight: 500; line-height: 1 !important;
	border: 1px solid var(--esa-p) !important; border-radius: 14px !important;
	background: #fff !important; background-color: #fff !important; color: var(--esa-p) !important;
}
body .galleys_links a.obj_galley_link:hover { background: var(--esa-p) !important; background-color: var(--esa-p) !important; color: #fff !important; }
body .galleys_links a.obj_galley_link.pdf { background: var(--esa-p) !important; background-color: var(--esa-p) !important; color: #fff !important; }
body .galleys_links a.obj_galley_link.pdf:hover { background: var(--esa-pd) !important; background-color: var(--esa-pd) !important; border-color: var(--esa-pd) !important; }
body .obj_article_details .galleys_links { flex-direction: column !important; }
body .obj_article_details .galleys_links a.obj_galley_link { display: block !important; width: 100% !important; text-align: center; padding: .6875rem 1rem !important; border-radius: 4px !important; }

/* th/td e tr:nth-child(even) globais */
body .page table th { background: var(--esa-p); }
body .cmp_article_list > li, body .issues_archive > li { background: transparent !important; }

/* Secoes do sumario: sem bordas/recuos do tema padrao */
body .obj_issue_toc .sections .section { border: 0; padding: 0; margin: 0 0 .5rem; }
body .obj_issue_toc .sections { margin: 0; }
body .obj_article_summary .title::before { display: none; }

/* ---------- Pagina do artigo: posicionamento explicito das colunas ---------- */
body .obj_article_details .row { display: grid !important; grid-template-columns: minmax(0, 1fr) 260px !important; gap: 2rem; direction: ltr; margin: 0 !important; padding: 0 !important; width: auto !important; }
body .obj_article_details .main_entry { grid-column: 1 !important; grid-row: 1 !important; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; min-width: 0; border: 0; }
body .obj_article_details .entry_details { grid-column: 2 !important; grid-row: 1 !important; float: none !important; width: auto !important; margin: 0 !important; min-width: 0; }
body .obj_article_details .page_title, body .obj_article_details .subtitle { margin-left: 0 !important; padding: 0 !important; }
@media (max-width: 991px) {
	body .obj_article_details .row { grid-template-columns: minmax(0, 1fr) !important; }
	body .obj_article_details .main_entry, body .obj_article_details .entry_details { grid-column: 1 !important; grid-row: auto !important; }
}

/* ---------- Migalhas de pao compactas ---------- */
body .cmp_breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .25rem; list-style: none; margin: 0; padding: 0; align-items: center; }
body .cmp_breadcrumbs li { display: inline; margin: 0; padding: 0; font-size: .8125rem; }
body .cmp_breadcrumbs li:not(:last-child)::after { content: '/'; margin-left: .25rem; opacity: .4; }
body .cmp_breadcrumbs .separator { display: none; }
body .cmp_breadcrumbs li:nth-child(3) { max-width: 380px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body .page_article .cmp_breadcrumbs { padding: 1.25rem 2.25rem 0; }

/* ---------- Cabecalho em grade (desktop): nome + usuario / menu + busca ---------- */
@media (min-width: 992px) {
	body .pkp_structure_head .pkp_head_wrapper {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas: "name user" "nav nav";
		align-items: center;
		column-gap: 1.5rem;
		padding-top: .5rem; padding-bottom: 0;
	}
	body .pkp_site_name_wrapper { grid-area: name; height: auto; padding: 0; }
	body .pkp_site_name { position: static; left: auto; padding: 0; }
	body .pkp_site_nav_menu { display: contents; }
	body .pkp_navigation_user_wrapper { grid-area: user; position: static; width: auto; padding: 0; margin: 0; text-align: right; }
	body .pkp_navigation_user { display: flex; gap: .5rem; margin: 0; padding: 0; border: 0; width: auto; float: none; }
	body .pkp_navigation_user > li { margin: 0; }
	body .pkp_navigation_primary_row { grid-area: nav; border-top: 1px solid rgba(255,255,255,.2); margin-top: .5rem; }
	body .pkp_navigation_primary_wrapper { display: flex; align-items: center; flex-wrap: nowrap; gap: 1rem; width: 100%; padding: 0; }
	body .pkp_navigation_primary { display: flex; flex-wrap: nowrap; align-items: center; flex: 1 1 auto; gap: .125rem; margin: 0; padding: 0; float: none; }
	body .pkp_navigation_primary > li { margin: 0; float: none; }
	body .pkp_navigation_primary > li > a {
		display: block; max-width: 13rem; padding: .625rem .5rem; margin: 0;
		white-space: normal; line-height: 1.25; text-align: center;
	}
	body .pkp_navigation_search_wrapper { flex: 0 0 auto; margin: 0 0 0 auto; float: none; position: static; padding: 0; }
	body .pkp_navigation_search_wrapper a { display: inline-flex; align-items: center; gap: .375rem; white-space: nowrap; padding: .5rem .875rem; border: 1px solid rgba(255,255,255,.35); border-radius: 4px; }
}

/* ---------- Bloco RSS / Artigos mais recentes ---------- */
.block_web_feed ul { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.block_web_feed li { padding: 0; margin: 0; }
.block_web_feed li a { display: inline-flex; padding: .375rem .625rem; border: 1px solid var(--esa-bd); border-radius: 6px; background: #fff; }
.block_web_feed li a:hover { border-color: var(--esa-p); }
.block_web_feed img { height: 22px; width: auto; max-width: 70px; border: 0; padding: 0; background: transparent; }

/* ---------- Autores no artigo ---------- */
body .obj_article_details .authors li {
	display: grid; gap: .3125rem; justify-items: start;
	padding: .875rem 1rem; margin: 0 0 .625rem;
	background: #faf6ff; border: 1px solid var(--esa-pl); border-radius: 8px;
}
body .obj_article_details .authors .name { font-family: var(--esa-serif); font-size: 1.0625rem; font-weight: 600; color: var(--esa-tx); }
body .obj_article_details .authors .affiliation { display: flex; flex-wrap: wrap; align-items: center; gap: .125rem .5rem; font-size: .875rem; color: var(--esa-mu); }
body .obj_article_details .authors .affiliation a { display: inline-flex; align-items: center; }
body .obj_article_details .authors .affiliation svg { height: 14px; width: auto; }
body .obj_article_details .authors span.userGroup {
	font-size: .6875rem; font-weight: 500; text-transform: uppercase; letter-spacing: .08em;
	color: var(--esa-p); background: var(--esa-pl); padding: .1875rem .625rem; border-radius: 10px;
}
body .obj_article_details .authors ul.userGroup { display: none; }
body .obj_article_details .authors .orcid { display: inline-flex; align-items: center; gap: .375rem; font-size: .8125rem; }
body .obj_article_details .authors .orcid svg { height: 14px; width: 14px; flex: 0 0 14px; }
body .obj_article_details .authors .orcid a { color: var(--esa-mu); word-break: break-all; }
body .obj_article_details .authors .orcid a:hover { color: var(--esa-p); }
body .obj_article_details .item.author_bios .sub_item { background: #fff; border-left: 2px solid var(--esa-pl); padding: .25rem 0 .25rem .875rem; margin: 0 0 1rem; }
body .obj_article_details .item.author_bios .sub_item .label { font-family: var(--esa-sans); font-size: .875rem; font-weight: 500; color: var(--esa-tx); display: block; }
body .obj_article_details .item.author_bios .value { font-size: .875rem; line-height: 1.7; color: var(--esa-mu); }

/* ---------- Artigos mais lidos pelo(s) mesmo(s) autor(es) ---------- */
#articlesBySameAuthorList { margin: 0; padding: 1.5rem 2.25rem 2rem; border-top: 1px solid #f0f0f0; }
#articlesBySameAuthorList h2 { font-family: var(--esa-serif); font-size: 1.125rem; font-weight: 600; color: var(--esa-tx); display: flex; align-items: center; gap: .625rem; margin: 0 0 1rem; }
#articlesBySameAuthorList h2::before { content: ''; width: 3px; height: 1.125rem; background: var(--esa-p); border-radius: 2px; }
#articlesBySameAuthorList ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .625rem; }
#articlesBySameAuthorList li {
	margin: 0; padding: .875rem 1rem; background: #fff; border: 1px solid var(--esa-bd); border-radius: 8px;
	font-size: .8125rem; line-height: 1.6; color: var(--esa-mu); transition: .15s;
}
#articlesBySameAuthorList li:hover { border-color: var(--esa-p); }
#articlesBySameAuthorList li a:first-of-type { display: block; font-family: var(--esa-serif); font-size: 1rem; font-weight: 600; line-height: 1.45; color: var(--esa-tx); margin: .125rem 0 .25rem; }
#articlesBySameAuthorList li a:first-of-type:hover { color: var(--esa-p); }
#articlesBySameAuthorList li a:last-of-type:not(:first-of-type) { display: block; color: var(--esa-p); font-size: .8125rem; }

/* Centraliza o conteudo do cabecalho */
body .pkp_structure_head .pkp_head_wrapper { width: 100% !important; max-width: 1180px; margin: 0 auto; padding-left: 1rem !important; padding-right: 1rem !important; box-sizing: border-box; }

/* ---------- Rodape claro ----------
 * O conteudo do rodape (HTML cadastrado em Configuracoes > Aparencia) usa
 * estilos inline pensados para fundo claro; por isso o rodape do tema e
 * claro, com faixa roxa no topo. Substitui as regras escuras acima. */
body .pkp_structure_footer_wrapper { background: #fff !important; color: var(--esa-tx) !important; border-top: 4px solid var(--esa-p) !important; margin-top: 2.5rem; padding: 0 !important; }
body .pkp_structure_footer { padding-top: 0 !important; padding-bottom: 1.25rem !important; font-size: .875rem; line-height: 1.7; }
body .pkp_footer_content { color: var(--esa-tx) !important; }
body .pkp_footer_content > div { border-top: 0 !important; margin-top: 0 !important; padding: 1.75rem .5rem !important; color: var(--esa-tx) !important; }
body .pkp_footer_content a { color: var(--esa-p) !important; text-decoration: none !important; }
body .pkp_footer_content a:hover { color: var(--esa-pd) !important; text-decoration: underline !important; }
body .pkp_footer_content p, body .pkp_footer_content strong, body .pkp_footer_content span { color: inherit !important; }
body .pkp_footer_content p:first-child { color: #111 !important; }
body .pkp_footer_content img { max-height: 34px; width: auto; }
body .pkp_brand_footer { border-top: 1px solid #eee !important; margin-top: 0 !important; padding: .875rem 0 0 !important; opacity: 1 !important; display: flex; justify-content: flex-end; }
body .pkp_brand_footer img { height: 34px !important; width: auto !important; max-width: none !important; opacity: .7; }

/* ---------- Botoes com seta (">" do tema padrao) ---------- */
body .read_more { padding: .5rem 2.5rem .5rem 1.125rem !important; position: relative; }
body .read_more::after { top: 50% !important; bottom: auto !important; transform: translateY(-50%); right: .25rem; width: 2rem; text-align: center; height: auto; line-height: 1; }
/* Na home o hero ja identifica a edicao atual */
.page_index_journal .current_issue > h2 { display: none; }

/* ---------- Arquivo de edicoes ---------- */
body .issues_archive > li { border: 0 !important; padding: 0 !important; margin: 0 0 .875rem !important; }
body .obj_issue_summary { display: grid !important; grid-template-columns: 120px minmax(0, 1fr); grid-template-areas: "cover title" "cover desc"; column-gap: 1.5rem; row-gap: .5rem; align-items: start; padding: 1.125rem !important; }
body .obj_issue_summary .cover { grid-area: cover; float: none !important; width: 100% !important; margin: 0 !important; max-width: none !important; }
body .obj_issue_summary h2 { grid-area: title; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
body .obj_issue_summary .description { grid-area: desc; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; font-size: .9375rem; }
body .obj_issue_summary h2 .title { font-size: 1.125rem; line-height: 1.4; display: block; }
body .page h1 { border: 0 !important; }
body .page_issue_archive h1 { margin-bottom: 1rem; }
@media (max-width: 600px) { body .obj_issue_summary { grid-template-columns: 90px minmax(0, 1fr); column-gap: 1rem; } }

/* ---------- Botao Buscar (icone da lupa do tema padrao) ---------- */
body button.submit, body .cmp_form .submit button { position: relative; padding: .6875rem 1.5rem .6875rem 2.75rem !important; }
body button.submit::after, body .cmp_form .submit button::after {
	background: transparent !important; color: #fff !important;
	left: .875rem !important; right: auto !important; top: 50% !important; bottom: auto !important;
	width: auto !important; height: auto !important; line-height: 1 !important; transform: translateY(-50%);
}

/* ---------- Login / registro: campos na largura total ---------- */
body .page_login .cmp_form input[type="text"], body .page_login .cmp_form input[type="password"], body .page_login .cmp_form input[type="email"],
body .page_register .cmp_form input[type="text"], body .page_register .cmp_form input[type="password"], body .page_register .cmp_form input[type="email"],
body .page_lost_password .cmp_form input[type="text"], body .page_lost_password .cmp_form input[type="email"],
body .page_register .cmp_form select { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
body .page_login .cmp_form .buttons, body .page_register .cmp_form .buttons { text-align: left; }
body .page_login .cmp_form .fields > div, body .page_register .cmp_form .fields > div { margin-bottom: 1rem; }
body input[type="checkbox"], body input[type="radio"] { accent-color: var(--esa-p); width: auto; }

/* ---------- Botoes "Saiba mais" e listas de noticias ---------- */
body .read_more, body .read_more:visited { color: var(--esa-p) !important; border: 1px solid var(--esa-p) !important; background: #fff; }
body .read_more:hover, body .read_more:focus { color: #fff !important; background: var(--esa-p); }
body .read_more::after { color: inherit !important; background: transparent !important; }
body .cmp_announcements > li, body .cmp_announcements li { border: 0 !important; }
body .cmp_announcements { padding: 0; margin: 0; }
body .obj_announcement_summary { padding: 1.25rem 1.5rem; margin-bottom: .875rem; }

/* ---------- Botoes com icone: layout em flex (substitui o posicionamento absoluto) ---------- */
body .read_more { display: inline-flex !important; align-items: center; gap: .625rem; line-height: 1.2 !important; padding: .6875rem 1.125rem !important; }
body .read_more::after {
	position: static !important; top: auto !important; right: auto !important; left: auto !important; bottom: auto !important;
	transform: none !important; width: auto !important; height: auto !important; line-height: 1 !important;
	margin: 0 !important; padding: 0 !important; background: transparent !important; color: inherit !important; font-size: .875rem;
}
/* Botao Buscar: lupa a esquerda do texto */
body button.submit, body .cmp_form .submit button { display: inline-flex !important; flex-direction: row-reverse; align-items: center; justify-content: center; gap: .5rem; line-height: 1.2 !important; padding: .6875rem 1.5rem !important; }
body button.submit::after, body .cmp_form .submit button::after {
	position: static !important; top: auto !important; right: auto !important; left: auto !important; bottom: auto !important;
	transform: none !important; width: auto !important; height: auto !important; line-height: 1 !important;
	margin: 0 !important; padding: 0 !important; background: transparent !important; color: #fff !important; font-size: .875rem;
}

/* =====================================================================
 * Home (index): ordem das secoes e cabecalho de secao, como no mockup
 * ===================================================================== */
body .page_index_journal { display: flex; flex-direction: column; }
body .page_index_journal > .esasp_hero { order: 1; }
body .page_index_journal > .esasp_stats { order: 2; }
body .page_index_journal > .current_issue { order: 3; }
body .page_index_journal > .cmp_announcements, body .page_index_journal > .highlights { order: 4; }
body .page_index_journal > .homepage_about { order: 5; }
body .page_index_journal > .additional_content { order: 6; }
body .page_index_journal > .homepage_image { order: 0; }

/* Estatisticas */
.esasp_stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .875rem; margin: 0 0 2rem; }
.esasp_stat { background: #fff; border: 1px solid var(--esa-bd); border-radius: 8px; padding: 1.125rem 1rem; text-align: center; }
.esasp_stat b { display: block; font-size: 1.75rem; font-weight: 300; line-height: 1.2; color: var(--esa-p); }
.esasp_stat span { font-size: .8125rem; color: var(--esa-mu); }

/* Cabecalho da secao "Edicao atual" + link */
.esasp_section_head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1.125rem; }
.esasp_section_head h2 { display: flex !important; align-items: center; gap: .625rem; margin: 0 !important; font-family: var(--esa-serif); font-size: 1.25rem; font-weight: 600; color: var(--esa-tx); }
.esasp_section_head h2::before { content: ''; width: 3px; height: 1.25rem; background: var(--esa-p); border-radius: 2px; }
.esasp_section_head a { font-size: .875rem; font-weight: 500; color: var(--esa-p); white-space: nowrap; }

/* Noticias / sobre a revista abaixo do sumario, em cartao */
body .page_index_journal > .homepage_about, body .page_index_journal > .additional_content {
	background: #fff; border: 1px solid var(--esa-bd); border-radius: 8px; padding: 1.5rem 2rem; margin-top: 2rem;
}
body .page_index_journal > .cmp_announcements { margin-top: 2rem; }
body .page_index_journal > .homepage_about h2 { font-family: var(--esa-serif); display: flex; align-items: center; gap: .625rem; }
body .page_index_journal > .homepage_about h2::before { content: ''; width: 3px; height: 1.25rem; background: var(--esa-p); border-radius: 2px; }
.esasp_hero_meta { display: flex; flex-wrap: wrap; gap: .375rem 1.5rem; }
@media (max-width: 600px) { .esasp_stats { grid-template-columns: 1fr; } }

/* ---------- Sumario: cada secao e um bloco (cartao) ---------- */
body .obj_issue_toc .sections .section {
	background: #fff; border: 1px solid var(--esa-bd) !important; border-radius: 8px;
	padding: 1.25rem 1.5rem 1.5rem !important; margin: 0 0 1.25rem !important;
}
body .obj_issue_toc .sections .section > h2,
body .obj_issue_toc .sections .section > h3 {
	background: transparent !important; border: 0 !important; box-shadow: none !important;
	margin: 0 0 1rem !important; padding: 0 0 .875rem !important;
	border-bottom: 1px solid #f0f0f0 !important;
}
body .obj_issue_toc .sections .section .cmp_article_list { margin: 0; }
/* cartoes de artigo dentro do bloco: fundo suave para separar do bloco branco */
body .obj_issue_toc .sections .section .obj_article_summary { background: #fafafa; }
body .obj_issue_toc .sections .section .obj_article_summary:hover { background: #fff; }
/* bloco "Edicao completa" (galeras da edicao), quando existir */
body .obj_issue_toc .galleys { background: #fff; border: 1px solid var(--esa-bd); border-radius: 8px; padding: 1.25rem 1.5rem; margin: 0 0 1.25rem; }
/* Linha cinza absoluta que o tema padrao desenha no topo de cada secao */
body .obj_issue_toc .section::before, body .obj_issue_toc .sections .section::before { display: none !important; }
/* Barra roxa acompanha a altura do titulo quando ele quebra em duas linhas */
body .obj_issue_toc .sections .section > h2, body .obj_issue_toc .sections .section > h3 { align-items: stretch !important; }
body .obj_issue_toc .sections .section > h2::before, body .obj_issue_toc .sections .section > h3::before { height: auto !important; min-height: 1.125rem; }

/* =====================================================================
 * Noticias na home / lista de noticias: cartao horizontal com miniatura
 * ===================================================================== */
body .page_index_journal > .cmp_announcements { margin: 2rem 0 0 !important; padding: 0 !important; border: 0 !important; width: 100%; box-sizing: border-box; }
body .cmp_announcements::before, body .cmp_announcements::after { display: none !important; }
body .cmp_announcements > h2 {
	display: flex !important; align-items: center; gap: .625rem; margin: 0 0 1rem;
	font-family: var(--esa-serif); font-size: 1.25rem; font-weight: 600; color: var(--esa-tx);
}
body .cmp_announcements > h2::before { content: ''; width: 3px; height: 1.25rem; background: var(--esa-p); border-radius: 2px; }
body .cmp_announcements .obj_announcement_summary { width: 100% !important; max-width: none !important; box-sizing: border-box; margin: 0 0 .875rem !important; }
body .cmp_announcements .obj_announcement_summary_has_image {
	display: grid !important; grid-template-columns: 150px minmax(0, 1fr); gap: 1.5rem; align-items: center; padding: 1.25rem 1.5rem;
}
body .cmp_announcements .obj_announcement_summary_image {
	width: 150px !important; height: 150px !important; max-width: 100%; object-fit: contain;
	margin: 0 !important; float: none !important; border-radius: 8px; background: #fff;
}
body .cmp_announcements .obj_announcement_summary_details { min-width: 0; margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
body .cmp_announcements .obj_announcement_summary h3 { font-size: 1.125rem; line-height: 1.4; margin: 0 0 .375rem; }
body .cmp_announcements .obj_announcement_summary .summary p { margin: .5rem 0 .875rem; font-size: .9375rem; line-height: 1.7; }
body .cmp_announcements .more { display: none; }
@media (max-width: 600px) { body .cmp_announcements .obj_announcement_summary_has_image { grid-template-columns: 1fr; } body .cmp_announcements .obj_announcement_summary_image { width: 110px !important; height: 110px !important; } }

/* Sobre a Revista: abaixo da edicao atual + estilo do texto */
body .page_index_journal > .cmp_announcements{order:5!important}
body .page_index_journal > .homepage_about{order:4!important}
body .page_index_journal > .homepage_about{background:#fff;border:1px solid var(--esa-bd);border-top:4px solid var(--esa-p);border-radius:8px;padding:2rem 2.25rem 1.75rem;margin-top:2rem}
body .homepage_about > h2{font-family:var(--esa-serif);font-size:1.5rem;font-weight:700;color:var(--esa-tx);display:flex;align-items:center;gap:.75rem;margin:0 0 1.25rem}
body .homepage_about > h2::before{content:'';width:4px;height:1.5rem;background:var(--esa-p);border-radius:2px}
body .homepage_about p{font-size:1rem;line-height:1.85;color:#444;margin:0 0 1rem;max-width:72ch;text-align:left}
body .homepage_about p:has(> strong:only-child){max-width:none;margin:1.75rem 0 .625rem;padding-bottom:.5rem;border-bottom:1px solid #f0f0f0}
body .homepage_about p:has(> strong:only-child) strong{font-family:var(--esa-serif);font-size:1.1875rem;font-weight:600;color:var(--esa-pd)}
body .homepage_about > h2 + p{font-size:1.125rem;line-height:1.6;margin:0 0 1rem;max-width:none;padding:0;border:0}
body .homepage_about > h2 + p strong{font-family:var(--esa-sans);font-size:1.125rem;font-weight:500;color:var(--esa-tx)}
body .homepage_about > h2 + p + p{font-size:1.0625rem;color:#333;padding:1rem 1.25rem;background:#faf6ff;border-left:3px solid var(--esa-p);border-radius:0 8px 8px 0;max-width:none}
body .homepage_about ul,body .homepage_about ol{margin:0 0 1rem 1.25rem;font-size:1rem;line-height:1.8;color:#444;max-width:72ch}
body .homepage_about li{margin-bottom:.375rem}

/* Sobre a Revista acima do Editorial (logo apos o destaque) */
body .page_index_journal > .homepage_about{order:2!important}

/* Indexacao e Catalogos: uma coluna, logos em caixas uniformes */
body .pkp_block .content:has(img){grid-template-columns:1fr!important;gap:.5rem!important}
body .pkp_block .content > p:not(:has(img)){margin-top:.75rem;line-height:1.2}
body .pkp_block .content > p:has(img) a{display:flex!important;align-items:center;justify-content:center;background:#fff;border:1px solid #eee;border-radius:6px;padding:.5rem .75rem;min-height:3.25rem;transition:border-color .15s}
body .pkp_block .content > p:has(img) a:hover{border-color:var(--esa-p)}
body .pkp_block .content > p:has(img) img{width:auto!important;max-width:100%!important;height:auto!important;max-height:44px!important;object-fit:contain;margin:0 auto;display:block;padding:0!important;border:0!important;background:none!important}

/* Ordem final da home: destaque, sobre, noticias, edicao atual (Editorial...) */
body .page_index_journal > .cmp_announcements,body .page_index_journal > .highlights{order:3!important}
body .page_index_journal > .current_issue{order:4!important}

/* ---------- Formularios: acesso, registro, recuperar senha ---------- */
body .page_login,body .page_register,body .page_lost_password{background:#fff;border:1px solid var(--esa-bd);border-top:4px solid var(--esa-p);border-radius:8px;padding:2rem 2.25rem}
body .page_login > h1,body .page_register > h1,body .page_lost_password > h1{font-family:var(--esa-serif);font-size:1.75rem;margin:.5rem 0 .5rem}
body .page_login > p,body .page_register > p,body .page_lost_password > p{color:var(--esa-mu);font-size:.9375rem;margin:0 0 1.5rem}
body .page_login .cmp_form,body .page_register .cmp_form,body .page_lost_password .cmp_form{max-width:30rem}
body .cmp_form fieldset{border:0;padding:0;margin:0 0 1.5rem;min-width:0}
body .cmp_form fieldset > legend:not(.pkp_screen_reader){font-family:var(--esa-serif);font-size:1.125rem;font-weight:600;color:var(--esa-pd);padding:0 0 .5rem;margin-bottom:1rem;border-bottom:1px solid #f0f0f0;width:100%}
body .cmp_form label{display:block;margin:0}
body .cmp_form label > .label,body .cmp_form .label{display:block;font-size:.8125rem;font-weight:500;color:#555;margin-bottom:.375rem}
body .cmp_form .required{color:#d32f2f}
body .cmp_form input[type=text],body .cmp_form input[type=email],body .cmp_form input[type=password],body .cmp_form input[type=tel],body .cmp_form input[type=url],body .cmp_form select,body .cmp_form textarea{display:block;width:100%!important;box-sizing:border-box;font-size:1rem;font-family:var(--esa-sans);background:#fafafa;border:1px solid #ddd;border-radius:6px;transition:border-color .15s,box-shadow .15s,background .15s}
body .cmp_form input:focus,body .cmp_form select:focus,body .cmp_form textarea:focus{background:#fff;outline:0}
body .page_login .cmp_form .fields > div,body .page_register .cmp_form .fields > div{margin-bottom:1.125rem}
body .page_login .password label > a{display:inline-block;margin-top:.5rem;font-size:.8125rem}
body .cmp_form .checkbox label,body .cmp_form .optin label{display:flex;align-items:center;gap:.5rem}
body .cmp_form .checkbox .label,body .cmp_form .optin .label{display:inline;margin:0;font-weight:400;font-size:.875rem}
body .page_login .cmp_form .buttons,body .page_register .cmp_form .buttons{display:flex;flex-direction:column;gap:.875rem;align-items:stretch;text-align:center;margin-top:1.5rem}
body .page_login .cmp_form .buttons button.submit,body .page_register .cmp_form .buttons button.submit{width:100%;padding:.875rem 1.5rem!important;font-size:1rem;margin:0}
body .page_login .cmp_form .buttons a.register,body .page_register .cmp_form .buttons a.login{display:block;padding:.75rem 1rem;border:1px solid var(--esa-p);border-radius:4px;color:var(--esa-p);font-weight:500;font-size:.9375rem;text-decoration:none}
body .page_login .cmp_form .buttons a.register:hover,body .page_register .cmp_form .buttons a.login:hover{background:var(--esa-pl)}
body .cmp_form .fields > div,body .cmp_form .fields > fieldset > div{padding-bottom:0!important}
body .cmp_form .fields > div > label{min-height:0!important}
body .cmp_form input[type=text],body .cmp_form input[type=email],body .cmp_form input[type=password],body .cmp_form input[type=tel],body .cmp_form input[type=url],body .cmp_form select{height:2.875rem!important;line-height:1.25!important;padding:.5rem .875rem!important;margin:0!important}
body .cmp_form textarea{padding:.625rem .875rem!important;margin:0!important}
body .orcid_button_container{display:inline-flex!important;align-items:center;gap:.5rem;padding:.5rem .875rem!important;margin:0 .75rem .5rem 0!important;border:1px solid #ddd!important;border-radius:6px!important;background:#fff;width:auto!important;height:auto!important}
body .orcid_button_container .orcid_icon{width:1.5rem;height:1.5rem;flex:none}
body .orcid_button_container a{font-size:.875rem;font-weight:500;color:var(--esa-tx)!important;padding:0!important;border:0!important;background:none!important;margin:0!important;display:inline!important}
body #connect-orcid-button{background:none!important;border:0!important;padding:0!important;box-shadow:none!important;min-height:0!important;display:inline-block!important;color:var(--esa-tx)!important}
body #connect-orcid-button::after{display:none!important}
body .page_register .orcid_button_container{margin-bottom:0!important}

/* Espaco entre botao ORCID e "Perfil"; botoes Registrar-se/Acesso do topo com mesmo tamanho */
body #connect-orcid-button{margin:0 0 1.5rem!important;vertical-align:middle}
body .page_register .orcid_button_container{margin:0!important}
body #navigationUser > li > a,body .pkp_navigation_user > li > a{min-width:7.5rem;box-sizing:border-box;text-align:center;margin:0!important;display:inline-flex;align-items:center;justify-content:center}

/* Botao principal e link secundario dos formularios: mesma largura/altura/alinhamento */
body .page_login .cmp_form .buttons > a,body .page_register .cmp_form .buttons > a{display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;width:100%!important;margin:0!important;padding:.875rem 1.5rem!important;line-height:1.2!important;min-height:0!important;height:auto!important;font-size:1rem!important}

/* ---------- Pagina da edicao (issue/view) ---------- */
body .page_issue > h1{font-size:1.625rem;line-height:1.3;margin:.5rem 0 1.25rem}
body .obj_issue_toc > .heading{display:grid!important;grid-template-columns:190px 1fr;grid-template-rows:auto 1fr;column-gap:2rem;row-gap:.75rem;align-items:start;padding:1.5rem 1.75rem!important;margin:0 0 1.5rem!important;background:#fff;border:1px solid var(--esa-bd);border-top:4px solid var(--esa-p);border-radius:8px}
body .obj_issue_toc > .heading > .cover{grid-column:1;grid-row:1 / span 2;float:none!important;width:100%!important;margin:0!important;padding:0!important}
body .obj_issue_toc > .heading > .cover img{display:block;width:100%;height:auto;border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
body .obj_issue_toc > .heading > .published{grid-column:2;grid-row:1;display:inline-flex!important;align-items:center;gap:.5rem;justify-self:start;margin:0!important;padding:.25rem .75rem!important;background:var(--esa-pl);border-radius:999px;font-size:.8125rem;white-space:nowrap;width:auto!important}
body .obj_issue_toc > .heading > .published .label{display:inline!important;margin:0!important;font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:.6875rem;color:var(--esa-pd)}
body .obj_issue_toc > .heading > .published .value{color:var(--esa-pd);font-weight:500;margin:0}
body .obj_issue_toc > .heading > .description{grid-column:2;grid-row:2;width:auto!important;margin:0!important;padding:0!important;float:none!important}
body .obj_issue_toc > .heading > .description p{font-size:1rem;line-height:1.75;color:#444;margin:0 0 1rem;text-align:left}
body .obj_issue_toc > .heading > .description p:last-child{margin-bottom:0}
body .obj_issue_toc > .heading > .description p:first-child{font-size:1.0625rem;color:#333}
@media(max-width:600px){body .obj_issue_toc > .heading{grid-template-columns:1fr}body .obj_issue_toc > .heading > .cover{grid-row:auto;max-width:200px}body .obj_issue_toc > .heading > .published,body .obj_issue_toc > .heading > .description{grid-column:1;grid-row:auto}}

/* ---------- Header em duas faixas (desktop) ---------- */
@media(min-width:992px){
body header.pkp_structure_head{background:var(--esa-p)!important;border-bottom:0!important;box-shadow:0 2px 12px rgba(0,0,0,.12)}
body .pkp_structure_head .pkp_head_wrapper{max-width:1180px;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"name user" "nav nav";align-items:center;padding-top:.625rem!important;padding-bottom:0!important}
body .pkp_site_name_wrapper{grid-area:name;padding:0!important;height:auto!important}
body .pkp_site_nav_menu{display:contents!important}
body .pkp_navigation_user_wrapper{grid-area:user;padding:0!important;margin:0!important;position:static!important;width:auto!important;transform:none!important;justify-self:end}
body .pkp_navigation_user{display:flex;gap:.5rem;margin:0!important;padding:0!important;border:0!important}
body .pkp_navigation_user > li > a{min-width:6.5rem!important;padding:.4375rem .75rem!important;font-size:.8125rem!important;font-weight:500;border-radius:999px!important;border:1px solid rgba(255,255,255,.45)!important;color:#fff!important}
body .pkp_navigation_user > li:last-child > a{background:#fff!important;color:var(--esa-pd)!important;border-color:#fff!important}
body .pkp_navigation_user > li > a:hover{background:rgba(255,255,255,.18)!important}
body .pkp_navigation_user > li:last-child > a:hover{background:var(--esa-pl)!important}
body .pkp_navigation_primary_row{grid-area:nav;grid-column:1 / -1;margin:.625rem 0 0!important;padding:0!important;border-top:1px solid rgba(255,255,255,.22)!important;background:none!important;min-width:0;width:auto!important}
body .pkp_navigation_primary_wrapper{display:flex!important;align-items:stretch!important;flex-wrap:nowrap!important;gap:.5rem!important;width:100%;padding:0!important;min-width:0}
body .pkp_navigation_primary{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;flex:1 1 auto;gap:0!important;margin:0!important;padding:0!important}
body .pkp_navigation_primary > li{margin:0!important;display:flex}
body .pkp_navigation_primary > li > a{display:flex!important;align-items:center;max-width:16rem;padding:.75rem .875rem!important;margin:0!important;font-size:.8125rem!important;font-weight:500;line-height:1.25!important;color:#fff!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:none!important}
body .pkp_navigation_primary > li > a:hover,body .pkp_navigation_primary > li > a:focus{background:rgba(255,255,255,.12)!important;border-bottom-color:#fff!important}
body .pkp_navigation_search_wrapper{align-self:center;margin:0!important}
body .pkp_navigation_search_wrapper a.pkp_search{display:inline-flex!important;align-items:center;gap:.5rem;padding:.4375rem .875rem!important;font-size:.8125rem!important;color:#fff!important;border:1px solid rgba(255,255,255,.45)!important;border-radius:999px!important;background:none!important;margin:0!important}
}

/* Header: Buscar ao lado de Registrar-se/Acesso (faixa de cima) */
@media(min-width:992px){
body .pkp_structure_head .pkp_head_wrapper{grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"name search user" "nav nav nav"!important;column-gap:.5rem!important}
body .pkp_navigation_primary_row,body .pkp_navigation_primary_wrapper{display:contents!important}
body .pkp_navigation_primary{grid-area:nav;grid-column:1 / -1;margin-top:.625rem!important;border-top:1px solid rgba(255,255,255,.22)!important;min-width:0}
body .pkp_navigation_search_wrapper{grid-area:search;align-self:center;justify-self:end;margin:0!important;padding:0!important}
body .pkp_navigation_search_wrapper a.pkp_search{min-width:6.5rem;justify-content:center;box-sizing:border-box}
}

/* Header: Buscar / Registrar-se / Acesso com mesmo espacamento e altura */
@media(min-width:992px){
body .pkp_navigation_user > li{margin:0!important;padding:0!important}
body .pkp_navigation_user > li > a,body .pkp_navigation_search_wrapper a.pkp_search{height:2.375rem!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center;justify-content:center;padding-top:0!important;padding-bottom:0!important}
body .pkp_navigation_user::before,body .pkp_navigation_user::after{display:none!important;content:none!important}
}

/* ---------- Pagina do artigo: cartao unico (como no mockup) ---------- */
body .obj_article_details.esasp_article{padding:0!important}
body .esasp_ahead{padding:1.25rem 2.25rem 1.75rem}
body .esasp_chip{display:inline-block;font-size:.6875rem;font-weight:500;letter-spacing:.04em;padding:.25rem .75rem;border-radius:12px;background:var(--esa-pl);color:var(--esa-p)}
body .esasp_article .page_title{font-family:var(--esa-serif);font-size:1.75rem;font-weight:700;line-height:1.3;margin:.75rem 0 .5rem!important;color:var(--esa-tx)}
body .esasp_article .subtitle{font-family:var(--esa-sans);font-size:1.0625rem;font-weight:400;line-height:1.5;color:var(--esa-mu);margin:0 0 1.25rem!important}
body .esasp_authors_wrap{margin-top:1.25rem;border-top:1px solid #f0f0f0}
body .esasp_authors{list-style:none;margin:0!important;padding:0!important}
body .esasp_author{display:flex!important;align-items:center;gap:.875rem;padding:.875rem 0;margin:0!important;background:none!important;border:0!important;border-radius:0!important}
body .esasp_author + .esasp_author{border-top:1px dashed #eee!important}
body .esasp_av{flex:0 0 2.75rem;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--esa-p);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:500;font-size:1.0625rem;text-transform:uppercase}
body .esasp_author_info{display:flex;flex-direction:column;gap:.125rem;min-width:0}
body .esasp_author_name{font-size:1rem;font-weight:500;color:var(--esa-tx)}
body .esasp_author_name .orcid{margin-left:.5rem;font-size:.6875rem;font-weight:500}
body .esasp_author_name .orcid a{color:#5a8a14!important;text-decoration:none}
body .esasp_author_name .orcid a::before{content:'';display:inline-block;width:.6875rem;height:.6875rem;border-radius:50%;background:#A6CE39;margin-right:.25rem;vertical-align:-1px}
body .esasp_author_aff{font-size:.8125rem;color:var(--esa-mu)}
body .esasp_meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding-top:.875rem;border-top:1px solid #f0f0f0;font-size:.8125rem;color:var(--esa-mu)}
body .esasp_meta b{color:var(--esa-tx);font-weight:500}
body .esasp_meta a{font-size:inherit;word-break:break-all}
body .esasp_actions{margin-top:1.25rem}
body .esasp_galleys{list-style:none;margin:0!important;padding:0!important;display:flex;flex-wrap:wrap;gap:.625rem}
body .esasp_galleys li{margin:0!important;padding:0!important;display:block}
body .esasp_article .esasp_galleys a.obj_galley_link{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;margin:0!important;padding:.6875rem 1.5rem!important;font-size:.8125rem!important;font-weight:500;line-height:1.2!important;border:1px solid var(--esa-p)!important;border-radius:4px!important;background:#fff!important;background-color:#fff!important;color:var(--esa-p)!important;text-decoration:none}
body .esasp_article .esasp_galleys a.obj_galley_link.pdf{background:var(--esa-p)!important;background-color:var(--esa-p)!important;color:#fff!important;box-shadow:0 2px 6px rgba(155,50,245,.35)}
body .esasp_article .esasp_galleys a.obj_galley_link:hover{background:var(--esa-pd)!important;background-color:var(--esa-pd)!important;border-color:var(--esa-pd)!important;color:#fff!important}
body .esasp_body{display:block}
body .esasp_sec{padding:1.75rem 2.25rem!important;margin:0!important;border-top:1px solid #f0f0f0!important}
body .esasp_sec:empty{display:none}
body .esasp_article .esasp_sec > h2,body .esasp_article .esasp_sec > .label{font-family:var(--esa-serif);font-size:1.25rem;font-weight:600;color:var(--esa-tx);display:flex;align-items:center;gap:.625rem;margin:0 0 .875rem;padding:0;border:0;text-transform:none;letter-spacing:0}
body .esasp_article .esasp_sec > h2::before,body .esasp_article .esasp_sec > .label::before{content:'';width:3px;height:1.25rem;background:var(--esa-p);border-radius:2px;flex:0 0 auto}
body .esasp_article .abstract{font-size:1rem;line-height:1.85;color:#444;text-align:justify}
body .esasp_article .abstract p{font-size:1rem;line-height:1.85;color:#444;margin:0 0 .75rem}
body .esasp_kw{display:flex;flex-wrap:wrap;gap:.5rem}
body .esasp_kw span{font-size:.75rem;padding:.3125rem .75rem;border:1px solid #ddd;border-radius:14px;color:var(--esa-mu);background:#fff}
body .esasp_hook_details{padding:0!important;border-top:0!important}
body .esasp_hook_details .item{padding:1.75rem 2.25rem;margin:0;border-top:1px solid #f0f0f0}
body .esasp_hook_details .citation_display .value{background:#faf6ff;border:1px solid var(--esa-pl);border-radius:6px;padding:1rem;font-size:.8125rem;line-height:1.7;color:#555}
body .esasp_hook_details .citation_display .value a{color:var(--esa-p);word-break:break-all}
body .esasp_hook_details .citation_formats{margin-top:.875rem}
@media(max-width:700px){body .esasp_ahead,body .esasp_sec,body .esasp_hook_details .item{padding-left:1.25rem!important;padding-right:1.25rem!important}body .esasp_article .page_title{font-size:1.375rem}}
body .esasp_article,body .esasp_ahead{text-align:left!important}
body .esasp_article .abstract{text-align:justify!important}
body .esasp_article .esasp_sec > h2,body .esasp_article .esasp_sec > .label,body .esasp_hook_details h2.label{font-family:var(--esa-serif)!important;font-size:1.25rem!important;font-weight:600!important;color:var(--esa-tx)!important;display:flex!important;align-items:center;gap:.625rem;margin:0 0 .875rem!important;padding:0!important;text-transform:none!important;letter-spacing:0!important}
body .esasp_article .esasp_sec > h2::before,body .esasp_article .esasp_sec > .label::before,body .esasp_hook_details h2.label::before{content:''!important;display:block!important;width:3px;height:1.25rem;background:var(--esa-p);border-radius:2px;flex:0 0 auto}

/* Header: menu sempre em uma linha; rotulos longos quebram dentro do proprio item */
@media(min-width:992px){
body .pkp_navigation_primary{flex-wrap:nowrap!important}
body .pkp_navigation_primary > li{flex:0 1 auto;min-width:auto!important}
body .pkp_navigation_primary > li > a{max-width:none!important;padding:.75rem .75rem!important;white-space:normal}
}

/* ---------- Header estilo Material: barra roxa + abas brancas ---------- */
@media(min-width:992px){
body header.pkp_structure_head{background:linear-gradient(to bottom,var(--esa-p) 4.5rem,#fff 4.5rem)!important;box-shadow:0 2px 6px rgba(0,0,0,.12)!important}
body .pkp_structure_head .pkp_head_wrapper{grid-template-rows:4.5rem auto;padding-top:0!important}
body .pkp_site_name_wrapper{align-self:center}
body .pkp_site_name a.is_text{display:flex;flex-direction:column;gap:.125rem;line-height:1.25!important;font-size:1rem!important}
body .pkp_site_name a.is_text .esasp_sn1{font-size:1.125rem;font-weight:700}
body .pkp_site_name a.is_text .esasp_sn2{font-size:.8125rem;font-weight:400;opacity:.9}
body .pkp_navigation_user_wrapper,body .pkp_navigation_search_wrapper{align-self:center}
body .pkp_navigation_primary{margin-top:0!important;border-top:0!important}
body header.pkp_structure_head .pkp_navigation_primary > li > a{color:#666!important;font-size:.875rem!important;padding:1rem 1rem!important;border-bottom:3px solid transparent!important;font-weight:500;background:none!important}
body header.pkp_structure_head .pkp_navigation_primary > li > a:hover,body header.pkp_structure_head .pkp_navigation_primary > li > a:focus{background:#faf6ff!important;color:var(--esa-p)!important}
body header.pkp_structure_head .pkp_navigation_primary > li > a.esasp_active{color:var(--esa-p)!important;border-bottom-color:var(--esa-p)!important}
}

/* Menu das abas: texto menor para caber em menos linhas */
@media(min-width:992px){
body header.pkp_structure_head .pkp_navigation_primary > li > a{font-size:.875rem!important;line-height:1.25!important;padding:1rem 1rem!important}
}

/* Artigo: capa da edicao ao lado do cabecalho */
body .esasp_ahead{display:grid;grid-template-columns:minmax(0,1fr) 190px;column-gap:2rem;align-items:start;padding:1.25rem 2.25rem 1.75rem}
body .esasp_ahead_main{min-width:0;grid-column:1}
body .esasp_cover{grid-column:2;grid-row:1;padding-top:.25rem}
body .esasp_cover img{display:block;width:100%;height:auto;border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
@media(max-width:700px){body .esasp_ahead{grid-template-columns:1fr;padding-left:1.25rem;padding-right:1.25rem}body .esasp_cover{grid-column:1;grid-row:1;max-width:150px;margin-bottom:1rem}}

/* Artigo: o ultimo item do breadcrumb repete a secao (ja mostrada na etiqueta do cabecalho) */
body .page_article .cmp_breadcrumbs li.current{display:none}
body .page_article .cmp_breadcrumbs li:has(+ li.current) .separator{display:none}

/* ---------- Artigos semelhantes ---------- */
#articlesBySimilarityList{margin:0;padding:1.75rem 2.25rem 2rem;border-top:1px solid #f0f0f0}
#articlesBySimilarityList h2{font-family:var(--esa-serif)!important;font-size:1.25rem!important;font-weight:600;color:var(--esa-tx);display:flex;align-items:center;gap:.625rem;margin:0 0 1rem!important;padding:0}
#articlesBySimilarityList h2::before{content:'';width:3px;height:1.25rem;background:var(--esa-p);border-radius:2px}
#articlesBySimilarityList > ul{list-style:none;margin:0;padding:0;display:grid;gap:.625rem}
#articlesBySimilarityList > ul > li{margin:0;padding:.875rem 1rem;background:#fff;border:1px solid var(--esa-bd);border-radius:8px;font-size:.8125rem;line-height:1.6;color:var(--esa-mu);transition:border-color .15s}
#articlesBySimilarityList > ul > li:hover{border-color:var(--esa-p)}
#articlesBySimilarityList .esasp_sim_title{display:block;font-family:var(--esa-serif);font-size:1rem;font-weight:600;line-height:1.45;color:var(--esa-tx);margin:0 0 .25rem;text-decoration:none}
#articlesBySimilarityList .esasp_sim_title:hover{color:var(--esa-p)}
#articlesBySimilarityList .esasp_sim_authors{font-size:.8125rem;color:var(--esa-mu);margin-bottom:.375rem}
#articlesBySimilarityList .esasp_sim_issue{display:inline-block;font-size:.6875rem;font-weight:500;padding:.1875rem .625rem;border-radius:10px;background:var(--esa-pl);color:var(--esa-p);text-decoration:none}
#articlesBySimilarityList .esasp_sim_issue:hover{background:var(--esa-p);color:#fff}
#articlesBySimilaritySearch{margin:1rem 0 0;font-size:.8125rem;color:var(--esa-mu)}
#articlesBySimilarityPages{margin:0}
