/* ============================================================
   EDUCON — CSS Customizado OJS 3.5  (v9 — seletores verificados nos templates)

   Estrutura real (confirmada lendo os .tpl):

   HEADER
     header.pkp_structure_head
       div.pkp_head_wrapper
         div.pkp_site_name_wrapper > div.pkp_site_name
         nav.pkp_site_nav_menu
           ul#navigationPrimary.pkp_navigation_primary.pkp_nav_list > li > a
           ul#navigationPrimary > li > ul > li > a  (submenus, SEM .dropdown-menu)
           div.pkp_navigation_search_wrapper > input + button
           ul#navigationUser.pkp_navigation_user.pkp_nav_list > li > a

   TOC (Sumário da Edição)
     div.obj_issue_toc
       div.sections > div.section
         ul.cmp_article_list.articles > li > div.obj_article_summary
           h2.title / h3.title / h4.title > a
           div.meta > div.authors / div.pages
           ul.galleys_links > li > a.obj_galley_link[.pdf]

   ARTIGO
     article.obj_article_details
       h1.page_title
       div.row
         div.main_entry
           section.item.authors > h2.pkp_screen_reader + ul.authors > li
           section.item.doi     > h2.label + span.value > a
           section.item.keywords > h2.label + span.value
           section.item.abstract > h2.label + conteúdo HTML
           section.item.references > h2.label + div.value > p
           section.item.author_bios > h2.label + ul.authors > li.sub_item
         div.entry_details
           div.item.galleys > ul.value.galleys_links > li > a.obj_galley_link[.pdf]
           div.item.published > section.sub_item > h2.label + div.value
           div.item.issue > section.sub_item > h2.label + div.value
           div.item.copyright > h2.label + (ccLicenseBadge / a.copyright)

   Fontes: Merriweather (titulos) · Inter (UI) · Lora (editorial)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,400;0,700;0,900;1,400&family=Inter:wght@400;500;600;700&family=Lora:ital,wght@0,400;0,600;1,400&display=swap');

/* ============================================================
   VARIAVEIS
   ============================================================ */
:root {
  --educon-azul:        #1a5aad;
  --educon-azul-hover:  #154d96;
  --educon-acento:      #4a9fd4;
  --educon-card-borda:  #b0c4de;
  --educon-ink:         #111111;
  --educon-muted:       #6b7280;
  --educon-borda:       #e5e7eb;
  --educon-radius:      2px;
  --educon-shadow:      0 1px 6px rgba(26,90,173,0.06);
  --educon-shadow-h:    0 5px 18px rgba(26,90,173,0.13);
}

/* ============================================================
   BASE
   ============================================================ */
body {
  font-family: 'Inter', sans-serif !important;
  color: var(--educon-ink);
  background: #fff !important;
  -webkit-font-smoothing: antialiased;
}

/* Headings globais — Merriweather como base;
   contextos específicos sobrescrevem via seletores mais especificos abaixo */
h1, h2, h3, h4, h5 {
  font-family: 'Merriweather', serif;
}

.pkp_structure_page,
.pkp_structure_content,
.pkp_structure_main,
.pkp_structure_sidebar,
main,
#main-content {
  background: #ffffff !important;
}

/* ============================================================
   NAVBAR — STICKY HEADER
   position:sticky mantém o header no fluxo do documento — o espaço
   inicial já está reservado naturalmente, sem precisar de padding-top
   no conteúdo abaixo. O menu dropdown mobile (position:absolute; top:100%)
   funciona dentro do contexto sticky sem nenhuma alteração.
   ============================================================ */

header.pkp_structure_head {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  box-shadow: 0 2px 12px rgba(26,90,173,0.30) !important;
}

header.pkp_structure_head,
.pkp_head_wrapper,
.pkp_navigation_primary_row {
  background-color: var(--educon-azul) !important;
  border-bottom: none !important;
  box-shadow: 0 3px 10px rgba(26,90,173,0.25) !important;
}

/* Nome do site */
.pkp_site_name,
.pkp_site_name a,
.pkp_site_name .is_text {
  font-family: 'Merriweather', serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
}

.pkp_site_name_tagline {
  font-family: 'Inter', sans-serif !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.45) !important;
  display: block;
}

/* Menu primario nivel 1
   OJS: ul#navigationPrimary.pkp_navigation_primary.pkp_nav_list > li > a
   Nao usar height fixa nem display:flex — usa padding vertical para nao quebrar */
#navigationPrimary > li > a,
.pkp_navigation_primary > li > a {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.9) !important;
  padding: 0.625rem 0.9rem !important;
  text-decoration: none !important;
  border-bottom: 3px solid transparent;
  transition: color 0.15s, background 0.15s, border-color 0.15s !important;
  display: inline-block;
}

#navigationPrimary > li > a:hover,
.pkp_navigation_primary > li > a:hover,
#navigationPrimary > li > a:focus,
.pkp_navigation_primary > li > a:focus {
  color: #ffffff !important;
  background: rgba(255,255,255,0.1) !important;
  border-bottom-color: #ffffff !important;
  text-decoration: none !important;
}

#navigationPrimary > li.current > a,
#navigationPrimary > li > a.current {
  color: #ffffff !important;
  border-bottom-color: #ffffff !important;
}

/* Submenus — OJS usa <ul> filho direto de <li>, SEM classe .dropdown-menu */
#navigationPrimary ul,
.pkp_navigation_primary ul {
  background: #ffffff !important;
  border: 1px solid var(--educon-borda) !important;
  border-top: 3px solid var(--educon-azul) !important;
  border-radius: 0 0 8px 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  padding: 0.375rem 0 !important;
  min-width: 210px !important;
}

#navigationPrimary ul a,
.pkp_navigation_primary ul a {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--educon-ink) !important;
  padding: 0.55rem 1.25rem !important;
  display: block !important;
  border-bottom: none !important;
  text-decoration: none !important;
  transition: background 0.12s !important;
  background: transparent !important;
}

#navigationPrimary ul a:hover,
.pkp_navigation_primary ul a:hover {
  background: #eef4fc !important;
  color: var(--educon-azul) !important;
}

/* Campo de busca no nav */
.pkp_navigation_search_wrapper {
  display: flex !important;
  align-items: center !important;
  border: 1.5px solid rgba(255,255,255,0.55) !important;
  border-radius: var(--educon-radius) !important;
  overflow: hidden !important;
  background: rgba(255,255,255,0.12) !important;
  height: 34px !important;
}

.pkp_navigation_search_wrapper input[type="text"],
.pkp_navigation_search_wrapper input[type="search"] {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  padding: 0 10px !important;
  height: 34px !important;
  outline: none !important;
  flex: 1 !important;
  min-width: 0 !important;
  border-radius: 0 !important;
}

.pkp_navigation_search_wrapper input[type="text"]::placeholder,
.pkp_navigation_search_wrapper input[type="search"]::placeholder {
  color: rgba(255,255,255,0.6) !important;
}

.pkp_navigation_search_wrapper button {
  background: rgba(255,255,255,0.2) !important;
  border: none !important;
  border-left: 1px solid rgba(255,255,255,0.35) !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
  padding: 0 12px !important;
  height: 34px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background 0.15s !important;
}

.pkp_navigation_search_wrapper button:hover {
  background: rgba(255,255,255,0.35) !important;
}

.pkp_navigation_search_wrapper button .fa,
.pkp_navigation_search_wrapper button svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Nav do usuario (Login / Registrar)
   OJS: ul#navigationUser.pkp_navigation_user > li > a */
#navigationUser > li > a,
.pkp_navigation_user > li > a {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.85) !important;
  padding: 4px 10px !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: var(--educon-radius) !important;
  text-decoration: none !important;
  transition: all 0.15s !important;
  background: transparent !important;
}

#navigationUser > li > a:hover,
.pkp_navigation_user > li > a:hover {
  background: rgba(255,255,255,0.1) !important;
  color: #ffffff !important;
}

#navigationUser ul,
.pkp_navigation_user ul {
  background: #ffffff !important;
  border: 1px solid var(--educon-borda) !important;
  border-top: 3px solid var(--educon-azul) !important;
  border-radius: 0 0 8px 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  padding: 0.375rem 0 !important;
}

#navigationUser ul a,
.pkp_navigation_user ul a {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--educon-ink) !important;
  padding: 0.55rem 1.25rem !important;
  display: block !important;
  text-decoration: none !important;
  border: none !important;
  transition: background 0.12s !important;
  background: transparent !important;
}

#navigationUser ul a:hover,
.pkp_navigation_user ul a:hover {
  background: #eef4fc !important;
  color: var(--educon-azul) !important;
}

/* ============================================================
   AREA PRINCIPAL
   Nao alterar float/width — o OJS usa sistema de colunas proprio
   com pkp_structure_content (largura fixa centralizada) e
   pkp_structure_main (float:left width calculado) + pkp_structure_sidebar.
   Apenas adicionar padding/background interno sem quebrar o layout.
   ============================================================ */
.pkp_structure_main {
  padding: 2.5rem 1.75rem !important;
  background: #ffffff !important;
}

/* ============================================================
   TITULO DA EDICAO (TOC)
   ============================================================ */
.obj_issue_toc .heading h2,
h2.issue_title,
.issue_title {
  font-family: 'Merriweather', serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--educon-ink) !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0.375rem !important;
}

.obj_issue_toc .heading h2::after {
  content: '';
  display: block;
  height: 2px;
  width: 36px;
  background: var(--educon-acento);
  margin: 0.5rem 0 1.5rem;
  border-radius: 1px;
}

.pkp_issue_identifiers,
.issue_volume,
.issue_number,
.issue_year {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: var(--educon-muted) !important;
  font-weight: 400 !important;
}

/* Titulo das secoes dentro do TOC */
.obj_issue_toc .sections > .section > h2,
.obj_issue_toc .sections > .section > h3 {
  font-family: 'Merriweather', serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--educon-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border-bottom: 1px solid var(--educon-borda) !important;
  padding-bottom: 0.4rem !important;
  margin-bottom: 0.75rem !important;
}

/* ============================================================
   GRID DE ARTIGOS — CARDS
   Estrutura real: ul.cmp_article_list.articles > li > div.obj_article_summary
   li e o item do grid; .obj_article_summary ocupa 100% do li (equal height)
   ============================================================ */

ul.cmp_article_list.articles,
ul.articles {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.25rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  align-items: stretch !important;
}

ul.cmp_article_list.articles > li,
ul.articles > li {
  display: flex !important;   /* flex para que o filho .obj_article_summary estique */
  min-width: 0 !important;
}

/* Primeiro artigo ocupa as duas colunas */
ul.cmp_article_list.articles > li:first-child,
ul.articles > li:first-child {
  grid-column: 1 / -1 !important;
}

/* Capa — ocultar imagem de capa nos cards */
.obj_article_summary .cover {
  display: none !important;
}

/* Card — ocupa 100% da altura do li para igualar alturas */
.obj_article_summary {
  background: #ffffff !important;
  border: 1px solid var(--educon-borda) !important;
  border-radius: 4px !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  position: relative !important;   /* ancora .pages absolute do tema */
  display: flex !important;
  flex-direction: column !important;
  box-shadow: var(--educon-shadow) !important;
  overflow: hidden !important;
  transition: box-shadow 0.2s, transform 0.2s !important;
}

/* Cancelar clearfix do tema no card (conflita com display:flex) */
.obj_article_summary::before,
.obj_article_summary::after {
  content: none !important;
  display: none !important;
}

.obj_article_summary:hover {
  box-shadow: var(--educon-shadow-h) !important;
  transform: translateY(-2px) !important;
}

/* Titulo do card */
.obj_article_summary .title,
.obj_article_summary h2.title,
.obj_article_summary h3.title,
.obj_article_summary h4.title {
  font-family: 'Merriweather', serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  border-top: 3px solid var(--educon-card-borda) !important;
  padding: 1.125rem 1.375rem 0.375rem !important;
  margin: 0 !important;
  transition: border-top-color 0.2s !important;
}

.obj_article_summary:hover .title,
.obj_article_summary:hover h2.title,
.obj_article_summary:hover h3.title,
.obj_article_summary:hover h4.title {
  border-top-color: var(--educon-azul) !important;
}

ul.cmp_article_list.articles > li:first-child .obj_article_summary .title,
ul.cmp_article_list.articles > li:first-child .obj_article_summary h2.title,
ul.cmp_article_list.articles > li:first-child .obj_article_summary h3.title,
ul.cmp_article_list.articles > li:first-child .obj_article_summary h4.title,
ul.articles > li:first-child .obj_article_summary .title,
ul.articles > li:first-child .obj_article_summary h2.title,
ul.articles > li:first-child .obj_article_summary h3.title,
ul.articles > li:first-child .obj_article_summary h4.title {
  border-top-color: var(--educon-azul) !important;
  font-size: 15px !important;
}

.obj_article_summary .title a,
.obj_article_summary h2.title a,
.obj_article_summary h3.title a,
.obj_article_summary h4.title a {
  color: #1a2a4a !important;
  text-decoration: none !important;
  display: block;
  transition: color 0.15s;
}

.obj_article_summary .title a:hover {
  color: var(--educon-azul) !important;
}

.obj_article_summary .subtitle {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--educon-muted) !important;
  margin-top: 0.2rem !important;
}

/* Metadados (autores, paginas, data) */
.obj_article_summary .meta {
  padding: 0.25rem 1.375rem 0 !important;
  margin: 0 !important;
}

.obj_article_summary .meta .authors {
  font-family: 'Inter', sans-serif !important;
  font-size: 11.5px !important;
  color: var(--educon-muted) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  /* O tema coloca padding-right:5em para abrir espaço pro .pages absoluto;
     resetamos pois o nosso card tem layout diferente */
  padding-right: 0 !important;
}

.obj_article_summary .meta .pages,
.obj_article_summary .meta .published {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  color: #c0c8d4 !important;
  /* O tema em >=768px coloca position:absolute — recolocar no fluxo */
  position: static !important;
  line-height: 1.4 !important;
}

/* Galley links no card
   ul.galleys_links > li > a.obj_galley_link[.pdf]
   .pdf e a classe CSS gerada pelo template, nao detectar por href */
.obj_article_summary ul.galleys_links {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  padding: 0.625rem 1.375rem 0.875rem !important;
  background: #fafbfc !important;
  border-top: 1px solid #f0f2f5 !important;
  margin-top: 0.625rem !important;
  list-style: none !important;
}

.obj_article_summary ul.galleys_links li {
  margin: 0 !important;
  padding: 0 !important;
}

.obj_article_summary ul.galleys_links a,
.obj_article_summary ul.galleys_links .obj_galley_link {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  text-transform: uppercase !important;
  padding: 4px 11px !important;
  border-radius: var(--educon-radius) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: all 0.15s !important;
  background: #ffffff !important;
  color: var(--educon-azul) !important;
  border: 1.5px solid var(--educon-azul) !important;
  display: inline-block !important;
}

.obj_article_summary ul.galleys_links a.pdf,
.obj_article_summary ul.galleys_links .obj_galley_link.pdf {
  background: var(--educon-azul) !important;
  color: #ffffff !important;
  border-color: var(--educon-azul) !important;
}

.obj_article_summary ul.galleys_links a.pdf:hover,
.obj_article_summary ul.galleys_links .obj_galley_link.pdf:hover {
  background: var(--educon-azul-hover) !important;
}

.obj_article_summary ul.galleys_links a:not(.pdf):hover,
.obj_article_summary ul.galleys_links .obj_galley_link:not(.pdf):hover {
  background: #eef4fc !important;
}

/* ============================================================
   BARRA LATERAL
   ============================================================ */
.pkp_block {
  background: #ffffff !important;
  border: 1px solid var(--educon-borda) !important;
  border-top: 3px solid var(--educon-azul) !important;
  border-radius: 0 0 8px 8px !important;
  padding: 1.25rem !important;
  margin-bottom: 1.5rem !important;
  box-shadow: var(--educon-shadow) !important;
}

/* span.title dentro do .pkp_block (confirmado no sidebar.less) */
.pkp_block .title {
  font-family: 'Merriweather', serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--educon-azul) !important;
  border-bottom: 1px solid var(--educon-borda) !important;
  padding-bottom: 0.5rem !important;
  margin-bottom: 0.875rem !important;
  display: block !important;
}

/* ============================================================
   PAGINA DO ARTIGO
   ============================================================ */

article.obj_article_details {
  display: block !important;
  background: #ffffff !important;
}

.pkp_breadcrumbs,
nav.pkp_breadcrumbs {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: var(--educon-muted) !important;
  margin-bottom: 1.125rem !important;
}

.pkp_breadcrumbs a {
  color: var(--educon-azul) !important;
  text-decoration: none !important;
}

/* Titulo h1.page_title */
article.obj_article_details h1.page_title {
  font-family: 'Merriweather', serif !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  color: #1a2a4a !important;
  margin: 0 0 1.375rem !important;
  padding-bottom: 1rem !important;
  border-bottom: 1px solid var(--educon-borda) !important;
  display: block !important;
}

/* Subtitulo h2.subtitle */
article.obj_article_details h2.subtitle {
  font-family: 'Merriweather', serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  color: var(--educon-muted) !important;
  margin-top: -0.75rem !important;
  margin-bottom: 1.375rem !important;
}

/* Layout div.row — NÃO alterar float/width do tema OJS.
   O tema já posiciona .main_entry e .entry_details com float:left.
   Aqui apenas ajustamos bordas e espaçamento interno. */
article.obj_article_details div.row {
  /* manter margens negativas e floats do tema — não sobrescrever */
  border-top: 1px solid var(--educon-borda) !important;
  border-bottom: 1px solid var(--educon-borda) !important;
}

article.obj_article_details div.row div.main_entry {
  /* sem alterações de float/width — OJS controla isso */
  box-sizing: border-box !important;
}

article.obj_article_details div.row div.entry_details {
  /* sem alterações de float/width — OJS controla isso */
  box-sizing: border-box !important;
  border-left: 1px solid var(--educon-borda) !important;
  border-top: none !important;
}


/* ── main_entry ── */

article.obj_article_details .main_entry .item {
  margin-bottom: 1.5rem !important;
  padding-top: 0 !important;
}

/* Labels h2.label — sobrescreve o h2 Merriweather global nesses contextos */
article.obj_article_details .main_entry .item h2.label,
article.obj_article_details .main_entry .item h2.pkp_screen_reader {
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--educon-azul) !important;
  margin: 0 0 0.5rem !important;
  display: block !important;
  line-height: 1.4 !important;
}

/* Autores */
article.obj_article_details .main_entry section.item.authors {
  margin-bottom: 1.25rem !important;
}

article.obj_article_details .main_entry ul.authors {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

article.obj_article_details .main_entry ul.authors li {
  margin-bottom: 0.5rem !important;
}

article.obj_article_details .main_entry .authors .name {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1a2a4a !important;
  display: block;
}

article.obj_article_details .main_entry .authors .affiliation {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: var(--educon-muted) !important;
  display: block;
}

article.obj_article_details .main_entry .authors .userGroup,
article.obj_article_details .main_entry .authors .orcid {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  color: var(--educon-muted) !important;
  display: inline-block;
}

/* DOI */
article.obj_article_details .main_entry section.item.doi span.value,
article.obj_article_details .main_entry section.item.doi a {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: var(--educon-azul) !important;
  word-break: break-all !important;
  text-decoration: none !important;
}

/* Palavras-chave — badges individuais clicáveis */
article.obj_article_details .main_entry section.item.keywords div.keyword_badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: 4px !important;
}

article.obj_article_details .main_entry section.item.keywords a.keyword_badge {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  background: #e8f1fb !important;
  color: var(--educon-azul) !important;
  border: 1px solid #b3cff0 !important;
  border-radius: 20px !important;
  padding: 4px 13px !important;
  display: inline-block !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s, border-color 0.15s !important;
  white-space: nowrap !important;
}

article.obj_article_details .main_entry section.item.keywords a.keyword_badge:hover {
  background: var(--educon-azul) !important;
  color: #ffffff !important;
  border-color: var(--educon-azul) !important;
}

/* Resumo */
article.obj_article_details .main_entry section.item.abstract {
  background: #f7fafd !important;
  border-left: 3px solid var(--educon-acento) !important;
  border-radius: 0 4px 4px 0 !important;
  padding: 1.125rem 1.375rem !important;
}

article.obj_article_details .main_entry section.item.abstract h2.label {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  margin-bottom: 0.625rem !important;
}

/* Abstract vem como HTML direto apos o label — sem wrapper .value */
article.obj_article_details .main_entry section.item.abstract p,
article.obj_article_details .main_entry section.item.abstract > *:not(h2) {
  font-family: 'Lora', serif !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
  color: #2d2d2d !important;
  text-align: justify !important;
  margin: 0 !important;
}

/* Referencias */
article.obj_article_details .main_entry section.item.references h2.label {
  margin-bottom: 0.75rem !important;
}

article.obj_article_details .main_entry section.item.references .value p,
article.obj_article_details .main_entry section.item.references p {
  font-family: 'Lora', serif !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  color: #374151 !important;
  text-align: justify !important;
}

/* Biografias dos autores */
article.obj_article_details .main_entry section.item.author_bios .sub_item .label {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #1a2a4a !important;
}

article.obj_article_details .main_entry section.item.author_bios .sub_item .value {
  font-family: 'Lora', serif !important;
  font-size: 13px !important;
  color: var(--educon-muted) !important;
  line-height: 1.7 !important;
  text-align: justify !important;
}

article.obj_article_details .main_entry section.item.author_bios .sub_item .value p {
  text-align: justify !important;
  margin-top: 0 !important;
}

/* ── entry_details ──
   Itens sao div.item com separador por border-bottom */
article.obj_article_details .entry_details .item {
  padding-bottom: 0.875rem !important;
  margin-bottom: 0.875rem !important;
  border-bottom: 1px solid #f0f2f5 !important;
  padding-top: 0 !important;
}

article.obj_article_details .entry_details .item:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
}

/* Labels h2.label na sidebar */
article.obj_article_details .entry_details h2.label,
article.obj_article_details .entry_details .sub_item h2.label {
  font-family: 'Inter', sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #9ca3af !important;
  margin-bottom: 0.3rem !important;
  display: block !important;
  line-height: 1.4 !important;
}

/* Valores da sidebar */
article.obj_article_details .entry_details .item .value,
article.obj_article_details .entry_details .sub_item .value {
  font-family: 'Lora', serif !important;
  font-size: 12.5px !important;
  color: #374151 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

article.obj_article_details .entry_details .item .value a,
article.obj_article_details .entry_details a.title {
  color: var(--educon-azul) !important;
  text-decoration: none !important;
  font-family: 'Lora', serif !important;
  font-size: 12.5px !important;
}

article.obj_article_details .entry_details .item .value a:hover {
  color: var(--educon-azul-hover) !important;
  text-decoration: underline !important;
}

/* Copyright / Licenca */
article.obj_article_details .entry_details .item.copyright p,
article.obj_article_details .entry_details .item.copyright a.copyright,
article.obj_article_details .entry_details .item.citation p,
article.obj_article_details .entry_details .item.citation a {
  font-family: 'Lora', serif !important;
  font-size: 11.5px !important;
  color: var(--educon-muted) !important;
  line-height: 1.6 !important;
  text-align: justify !important;
}

/* Galleys na entry_details
   div.item.galleys > ul.value.galleys_links > li > a.obj_galley_link[.pdf] */
article.obj_article_details .entry_details .item.galleys ul.galleys_links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

article.obj_article_details .entry_details .item.galleys ul.galleys_links li {
  padding: 0 !important;
  margin: 0 !important;
}

article.obj_article_details .entry_details .item.galleys a,
article.obj_article_details .entry_details .item.galleys .obj_galley_link {
  display: block !important;
  text-align: center !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  padding: 8px 10px !important;
  border-radius: var(--educon-radius) !important;
  text-decoration: none !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: all 0.15s !important;
  background: #ffffff !important;
  color: var(--educon-azul) !important;
  border: 1.5px solid var(--educon-azul) !important;
}

article.obj_article_details .entry_details .item.galleys a.pdf,
article.obj_article_details .entry_details .item.galleys .obj_galley_link.pdf {
  background: var(--educon-azul) !important;
  color: #ffffff !important;
  border-color: var(--educon-azul) !important;
}

article.obj_article_details .entry_details .item.galleys a.pdf:hover,
article.obj_article_details .entry_details .item.galleys .obj_galley_link.pdf:hover {
  background: var(--educon-azul-hover) !important;
  border-color: var(--educon-azul-hover) !important;
}

article.obj_article_details .entry_details .item.galleys a:not(.pdf):hover,
article.obj_article_details .entry_details .item.galleys .obj_galley_link:not(.pdf):hover {
  background: #eef4fc !important;
}

/* ============================================================
   FORMULARIOS
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="search"],
select,
textarea {
  font-family: 'Inter', sans-serif !important;
  border: 1px solid var(--educon-borda) !important;
  border-radius: var(--educon-radius) !important;
  padding: 7px 11px !important;
  font-size: 13px !important;
  background: #ffffff !important;
  transition: border-color 0.15s !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus {
  border-color: var(--educon-azul) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(26,90,173,0.1) !important;
}

.pkp_button_primary,
button[type="submit"],
input[type="submit"],
.cmp_button {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  background: var(--educon-azul) !important;
  color: #ffffff !important;
  border: 1.5px solid var(--educon-azul) !important;
  border-radius: var(--educon-radius) !important;
  padding: 8px 18px !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
}

.pkp_button_primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.cmp_button:hover {
  background: var(--educon-azul-hover) !important;
  border-color: var(--educon-azul-hover) !important;
}

/* ============================================================
   LINKS GLOBAIS
   ============================================================ */
a {
  color: var(--educon-azul);
  transition: color 0.15s;
}

a:hover {
  color: var(--educon-azul-hover);
}

/* ============================================================
   RODAPE
   ============================================================ */
.pkp_structure_footer_wrapper {
  background: #f3f4f6 !important;
  border-top: 1px solid var(--educon-borda) !important;
}

.pkp_structure_footer,
footer.pkp_structure_footer {
  color: var(--educon-muted) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
}

.pkp_footer_content {
  padding: 1.75rem 1.75rem 1.25rem !important;
}

.pkp_structure_footer img,
.pkp_structure_footer .agency_logo img {
  filter: none !important;
  opacity: 0.9 !important;
  max-height: 40px !important;
  transition: opacity 0.2s !important;
}

.pkp_structure_footer img:hover {
  opacity: 1 !important;
}

.pkp_structure_footer_wrapper .pkp_block,
.pkp_structure_footer .pkp_block {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 1.25rem !important;
}

.pkp_structure_footer a {
  color: var(--educon-azul) !important;
  text-decoration: none !important;
}

.pkp_structure_footer a:hover {
  color: var(--educon-azul-hover) !important;
}

.pkp_brand_footer,
.pkp_structure_footer .pkp_brand {
  font-size: 11px !important;
  color: #c0c4cb !important;
  padding: 0.875rem 1.75rem !important;
  border-top: 1px solid var(--educon-borda) !important;
}

/* ============================================================
   CARDS — DOI BADGE
   ============================================================ */
.obj_article_summary .card_doi {
  padding: 0 1.375rem !important;
  margin-top: 0.25rem !important;
}

.obj_article_summary .card_doi a {
  font-family: 'Inter', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  color: var(--educon-azul) !important;
  text-decoration: none !important;
  word-break: break-all !important;
  line-height: 1.4 !important;
  opacity: 0.75 !important;
  transition: opacity 0.15s !important;
}

.obj_article_summary .card_doi a:hover {
  opacity: 1 !important;
  text-decoration: underline !important;
}

/* ============================================================
   COMO CITAR — entry_details
   ============================================================ */
article.obj_article_details .entry_details .item.how_to_cite {
  padding-bottom: 0.875rem !important;
  margin-bottom: 0.875rem !important;
  border-bottom: 1px solid #f0f2f5 !important;
  padding-top: 0 !important;
}

article.obj_article_details .entry_details .item.how_to_cite h2.label {
  font-family: 'Inter', sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #9ca3af !important;
  margin-bottom: 0.5rem !important;
  display: block !important;
  line-height: 1.4 !important;
}

.citation_text {
  background: #f8f9fb !important;
  border: 1px solid var(--educon-borda) !important;
  border-left: 3px solid var(--educon-azul) !important;
  border-radius: 0 4px 4px 0 !important;
  padding: 0.75rem 0.875rem !important;
  font-family: 'Lora', serif !important;
  font-size: 11.5px !important;
  line-height: 1.7 !important;
  color: #374151 !important;
  text-align: justify !important;
  word-break: break-word !important;
}

.citation_text strong {
  font-weight: 600 !important;
}

.btn_copy_citation {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin-top: 0.5rem !important;
  padding: 5px 12px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  color: #ffffff !important;
  background: var(--educon-azul) !important;
  border: 1.5px solid var(--educon-azul) !important;
  border-radius: var(--educon-radius) !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  transition: background 0.15s, transform 0.1s !important;
  line-height: 1.4 !important;
}

.btn_copy_citation:hover {
  background: var(--educon-azul-hover) !important;
  border-color: var(--educon-azul-hover) !important;
  transform: translateY(-1px) !important;
}

.btn_copy_citation:active {
  transform: translateY(0) !important;
}

.btn_copy_citation .fa {
  font-size: 12px !important;
}

/* ============================================================
   NAVEGAÇÃO — VOLTAR AO SUMÁRIO
   ============================================================ */
.article_nav {
  margin-top: 1.5rem !important;
  padding-top: 1rem !important;
  border-top: 2px solid #e8f1fb !important;
}

.back_to_issue {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0.5rem 1rem !important;
  background: #f0f4f8 !important;
  color: var(--educon-azul) !important;
  border-radius: 4px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s !important;
}

.back_to_issue:hover {
  background: #d6e4f0 !important;
  color: var(--educon-azul-hover) !important;
}

.back_to_issue .fa {
  font-size: 11px !important;
}

/* ============================================================
   REFERÊNCIAS — hanging indent para melhor legibilidade
   ============================================================ */
article.obj_article_details .main_entry section.item.references .value p {
  padding-left: 2em !important;
  text-indent: -2em !important;
  margin-bottom: 0.4rem !important;
}

/* ============================================================
   RESPONSIVIDADE
   ============================================================ */

/* Ocultar aviso "A revista não está aceitando submissões neste momento." */
.page_submissions .cmp_notification {
  display: none !important;
}

/* ──────────────────────────────────────────────
   BOTÃO BUSCAR — corrigir ícone sobrepondo texto
   OJS aplica .cmp_button_icon que cria o ícone via ::after absoluto
   e usa padding-right largo. Com nosso reset global de button[type="submit"]
   o layout quebra. Garantimos posicionamento correto aqui.
   ─────────────────────────────────────────────── */
.page_search .submit button.submit {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 18px 8px 18px !important;
  /* Remover padding-right extra gerado pelo .cmp_button_icon */
  padding-right: 18px !important;
  padding-left: 18px !important;
  background: var(--educon-azul) !important;
  color: #ffffff !important;
  border: 1.5px solid var(--educon-azul) !important;
  border-radius: var(--educon-radius) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
}

.page_search .submit button.submit:hover {
  background: var(--educon-azul-hover) !important;
  border-color: var(--educon-azul-hover) !important;
}

/* Ocultar o pseudo-elemento ::after que cria o ícone FontAwesome sobreposto */
.page_search .submit button.submit::after {
  display: none !important;
}

/* Nav mobile: links empilhados */
@media (max-width: 899px) {
  #navigationPrimary > li > a,
  .pkp_navigation_primary > li > a {
    display: block !important;
    height: auto !important;
    padding: 0.65rem 1rem !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    border-left: none !important;
  }

  .pkp_navigation_search_wrapper {
    margin: 0.5rem 0 !important;
  }
}

/* Tablet/mobile: coluna unica */
@media (max-width: 768px) {
  ul.cmp_article_list.articles,
  ul.articles {
    grid-template-columns: 1fr !important;
  }

  ul.cmp_article_list.articles > li:first-child,
  ul.articles > li:first-child {
    grid-column: 1 !important;
  }

  /* No mobile o tema OJS já empilha .main_entry e .entry_details;
     apenas ajustar border para separação visual */
  article.obj_article_details div.row div.entry_details {
    border-left: none !important;
    border-top: 1px solid var(--educon-borda) !important;
  }

  .pkp_structure_main {
    padding: 1.5rem 1rem !important;
  }

  .citation_text {
    font-size: 11px !important;
    padding: 0.625rem 0.75rem !important;
  }

  .article_nav {
    margin-top: 1rem !important;
    text-align: center !important;
  }
}

