/* =========================================================
   OPEN SCIENCE BRAZIL - CSS COMPLETO ATUALIZADO
   Header + Menu + Conteúdo + DOI + PDF + Sidebar moderna
   Editora Alumni In
   ========================================================= */

/* =========================
   VARIÁVEIS VISUAIS
   ========================= */

:root {
  --osb-azul-principal: #133f96;
  --osb-azul-escuro: #0b2f75;
  --osb-azul-menu: #11195f;
  --osb-azul-hover: #07154a;
  --osb-azul-link: #003f99;
  --osb-azul-claro: #eef4ff;
  --osb-amarelo: #f4c542;
  --osb-laranja: #f97316;
  --osb-verde: #18a999;
  --osb-branco: #ffffff;
  --osb-cinza-bg: #f4f7fb;
  --osb-cinza-card: #ffffff;
  --osb-cinza-borda: #dbe2ef;
  --osb-texto: #111827;
  --osb-sombra: 0 10px 28px rgba(15, 35, 80, 0.12);
}

/* =========================
   BASE DO SITE
   ========================= */

html,
body {
  background: var(--osb-cinza-bg) !important;
  color: var(--osb-texto) !important;
}

.pkp_structure_page,
.pkp_structure_content,
.pkp_structure_main {
  background: var(--osb-branco) !important;
}

/* =========================
   HEADER PADRÃO DO BANNER
   ========================= */

.pkp_structure_head {
  background: linear-gradient(180deg, #133f96 0%, #103987 100%) !important;
  border-bottom: 5px solid var(--osb-azul-escuro) !important;
  padding: 14px 0 10px 0 !important;
}

.pkp_head_wrapper,
.pkp_site_nav_menu,
.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper,
.pkp_navigation_user_wrapper,
.pkp_navigation_user {
  background: transparent !important;
}

.pkp_head_wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

/* =========================
   LOGO / BANNER
   ========================= */

.pkp_site_name_wrapper,
.pkp_site_name {
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

.pkp_site_name img,
.pkp_site_name .is_img img {
  max-height: 92px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 4px 0 8px 0 !important;
  object-fit: contain !important;
}

/* =========================
   MENU PRINCIPAL
   ========================= */

.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.pkp_navigation_primary {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 4px 0 !important;
}

.pkp_navigation_primary li a {
  background: linear-gradient(180deg, var(--osb-azul-menu), #0e1654) !important;
  color: var(--osb-branco) !important;
  padding: 11px 17px !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  margin: 0 2px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 4px 12px rgba(5, 12, 48, 0.25) !important;
  transition: all 0.2s ease-in-out !important;
}

.pkp_navigation_primary li a:hover,
.pkp_navigation_primary li a:focus {
  background: linear-gradient(180deg, var(--osb-azul-hover), #050f3c) !important;
  color: var(--osb-branco) !important;
  transform: translateY(-1px) !important;
}

/* Submenus */
.pkp_navigation_primary ul {
  background: var(--osb-azul-menu) !important;
  border-radius: 8px !important;
  border: 1px solid var(--osb-azul-escuro) !important;
  box-shadow: var(--osb-sombra) !important;
}

.pkp_navigation_primary ul li a {
  background: var(--osb-azul-menu) !important;
  color: var(--osb-branco) !important;
  box-shadow: none !important;
}

.pkp_navigation_primary ul li a:hover,
.pkp_navigation_primary ul li a:focus {
  background: var(--osb-azul-hover) !important;
}

/* =========================
   BUSCA E USUÁRIO
   ========================= */

.pkp_navigation_search_wrapper {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-left: 8px !important;
}

.pkp_navigation_search_wrapper a,
.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_search_wrapper a:focus,
.pkp_navigation_user a,
.pkp_navigation_user li a {
  color: var(--osb-branco) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* =========================
   CONTEÚDO PRINCIPAL
   ========================= */

.pkp_structure_main {
  padding-top: 30px !important;
}

.page {
  color: var(--osb-texto) !important;
}

.pkp_page_title,
.page_title,
.obj_article_details .page_title {
  color: var(--osb-texto) !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

.cmp_breadcrumbs,
.cmp_breadcrumbs a {
  color: var(--osb-azul-link) !important;
}

/* =========================
   BUSCA / ÁREA DE FILTROS DA HOME
   ========================= */

.cmp_search_filter,
.page_search .search_advanced,
.page_index_journal .additional_content {
  border-radius: 14px !important;
}

/* =========================
   DADOS ABERTOS MAIS RECENTES
   ========================= */

.obj_article_summary {
  padding: 18px 18px 20px 18px !important;
  border: 1px solid var(--osb-cinza-borda) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: 0 8px 22px rgba(15, 35, 80, 0.08) !important;
  margin-bottom: 22px !important;
}

.obj_article_summary .title a {
  color: var(--osb-azul-link) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.obj_article_summary .title a:hover {
  color: var(--osb-azul-hover) !important;
  text-decoration: underline !important;
}

/* Etiquetas / palavras-chave */
.obj_article_summary .keywords,
.obj_article_summary .keywords a,
.obj_article_summary .subjects a,
.obj_article_summary .tags a,
.obj_article_summary .item.keywords a {
  display: inline-block !important;
  margin: 4px 5px 4px 0 !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  background: #f7faff !important;
  border: 1px solid var(--osb-azul-escuro) !important;
  color: var(--osb-azul-escuro) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* =========================
   DOI APRIMORADO
   ========================= */

.obj_article_details .item.doi,
.item.doi {
  margin: 18px 0 !important;
  padding: 13px 15px !important;
  background: linear-gradient(90deg, #eef4ff, #ffffff) !important;
  border-left: 6px solid var(--osb-azul-principal) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 14px rgba(19, 63, 150, 0.10) !important;
}

.obj_article_details .item.doi .label,
.item.doi .label {
  color: var(--osb-azul-escuro) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

.obj_article_details .item.doi a,
.item.doi a,
a[href*="doi.org"] {
  color: var(--osb-azul-link) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  word-break: break-word !important;
}

.obj_article_details .item.doi a:hover,
.item.doi a:hover,
a[href*="doi.org"]:hover {
  color: var(--osb-azul-hover) !important;
  text-decoration: underline !important;
}

/* =========================
   BOTÃO / ETIQUETA PDF CORRIGIDO
   ========================= */

/* Remove duplicação gerada por pseudo-elementos antigos */
.obj_galley_link::after,
.obj_galley_link.pdf::after,
.obj_galley_link.file::after,
.obj_galley_link[href*=".pdf"]::after {
  content: none !important;
  display: none !important;
}

/* Galleys e links PDF do OJS */
.obj_article_details .galleys,
.obj_article_details .item.galleys,
.obj_article_details .galley,
.obj_article_summary .galley,
.cmp_article_list .galley {
  text-align: left !important;
}

/* Botão PDF padronizado */
.obj_galley_link,
.obj_galley_link.pdf,
.obj_galley_link.file,
.obj_article_details .galleys .obj_galley_link,
.obj_article_details .item.galleys .obj_galley_link,
.obj_article_summary .obj_galley_link,
.cmp_article_list .obj_galley_link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 112px !important;
  min-height: 42px !important;
  padding: 11px 20px !important;
  background: linear-gradient(180deg, #133f96 0%, #0b2f75 100%) !important;
  color: #ffffff !important;
  border: 1px solid #08265f !important;
  border-radius: 9px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.045em !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(19, 63, 150, 0.28) !important;
  transition: all 0.2s ease-in-out !important;
  background-image: none !important;
  overflow: visible !important;
}

/* Ícone antes do texto, sem duplicar "PDF" */
.obj_galley_link::before,
.obj_galley_link.pdf::before,
.obj_galley_link.file::before,
.obj_galley_link[href*=".pdf"]::before {
  content: "📄" !important;
  margin-right: 8px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

/* Texto interno sempre branco */
.obj_galley_link,
.obj_galley_link:visited,
.obj_galley_link span,
.obj_galley_link .label {
  color: #ffffff !important;
  font-weight: 900 !important;
}

/* Corrige ícones/fontes do tema que possam ficar azuis */
.obj_galley_link .fa,
.obj_galley_link .icon,
.obj_galley_link svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

.obj_galley_link:hover,
.obj_galley_link:focus,
.obj_galley_link.pdf:hover,
.obj_galley_link.file:hover {
  background: linear-gradient(180deg, #07154a 0%, #06113f 100%) !important;
  color: #ffffff !important;
  border-color: #06113f !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 22px rgba(7, 21, 74, 0.35) !important;
}

/* =========================
   METADADOS DO ARTIGO
   ========================= */

.obj_article_details .item,
.obj_article_details .authors,
.obj_article_details .published,
.obj_article_details .keywords,
.obj_article_details .categories {
  line-height: 1.68 !important;
}

.obj_article_details .item .label,
.obj_article_details .authors .label,
.obj_article_details .published .label,
.obj_article_details .keywords .label,
.obj_article_details .categories .label {
  color: var(--osb-texto) !important;
  font-weight: 900 !important;
}

.obj_article_details a,
.obj_article_summary a {
  color: var(--osb-azul-link) !important;
}

.obj_article_details a:hover,
.obj_article_summary a:hover {
  color: var(--osb-azul-hover) !important;
}

/* =========================
   TEXTOS JUSTIFICADOS
   ========================= */

.obj_article_details .abstract,
.obj_article_details .abstract p,
.obj_article_summary .abstract,
.obj_article_summary .abstract p,
.page_article .abstract,
.page_article .abstract p,
.item.abstract,
.item.abstract p,
.item.description,
.item.description p,
.pkp_structure_main p,
.page p,
.cmp_article_list .obj_article_summary,
.cmp_article_list .obj_article_summary p {
  text-align: justify !important;
  line-height: 1.78 !important;
}

h1, h2, h3, h4, h5, h6,
.pkp_page_title,
.page_title,
.obj_article_details .page_title,
.obj_article_summary .title,
.pkp_navigation_primary li a,
.pkp_navigation_search_wrapper a {
  text-align: left !important;
}

/* =========================
   SIDEBAR MODERNA E CRIATIVA
   ========================= */

.pkp_structure_sidebar {
  background:
    radial-gradient(circle at top left, rgba(24,169,153,0.10), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%) !important;
  padding: 28px 22px !important;
  border-left: 1px solid var(--osb-cinza-borda) !important;
}

/* Blocos laterais como cards */
.pkp_structure_sidebar .block {
  position: relative !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(219, 226, 239, 0.95) !important;
  border-radius: 20px !important;
  padding: 24px 20px !important;
  margin-bottom: 28px !important;
  box-shadow: 0 14px 34px rgba(15, 35, 80, 0.13) !important;
  overflow: hidden !important;
}

/* Linha decorativa superior */
.pkp_structure_sidebar .block::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 7px !important;
  background: linear-gradient(90deg, var(--osb-azul-principal), var(--osb-verde), var(--osb-amarelo), var(--osb-laranja)) !important;
}

/* Marca d'água discreta */
.pkp_structure_sidebar .block::after {
  content: "" !important;
  position: absolute !important;
  right: -42px !important;
  bottom: -42px !important;
  width: 120px !important;
  height: 120px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(19,63,150,0.08), transparent 68%) !important;
  pointer-events: none !important;
}

/* Títulos dos blocos */
.pkp_structure_sidebar .block .title,
.pkp_structure_sidebar .block h2,
.pkp_structure_sidebar .block h3,
.pkp_structure_sidebar .block h4 {
  color: var(--osb-azul-principal) !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
  margin-top: 8px !important;
  margin-bottom: 16px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--osb-cinza-borda) !important;
}

/* Texto da sidebar */
.pkp_structure_sidebar,
.pkp_structure_sidebar p,
.pkp_structure_sidebar li {
  color: #1f2937 !important;
  font-size: 14px !important;
  line-height: 1.76 !important;
  text-align: justify !important;
}

/* Links da sidebar */
.pkp_structure_sidebar a {
  color: var(--osb-azul-link) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.pkp_structure_sidebar a:hover {
  color: var(--osb-azul-hover) !important;
  text-decoration: underline !important;
}

/* Imagens da sidebar */
.pkp_structure_sidebar img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 14px auto 18px auto !important;
  border-radius: 16px !important;
  transition: transform 0.22s ease-in-out, filter 0.22s ease-in-out, box-shadow 0.22s ease-in-out !important;
}

/* Logos sem caixa pesada */
.pkp_structure_sidebar img[src*="OpenAIRE"],
.pkp_structure_sidebar img[src*="openaire"],
.pkp_structure_sidebar img[src*="openAIRE"],
.pkp_structure_sidebar img[src*="Openaire"] {
  padding: 10px !important;
  background: #ffffff !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 20px rgba(15,35,80,0.08) !important;
}

/* JISC com cantos arredondados e sombra */
.pkp_structure_sidebar img[src*="jisc"],
.pkp_structure_sidebar img[src*="Jisc"],
.pkp_structure_sidebar img[src*="JISC"] {
  border-radius: 18px !important;
  box-shadow: 0 12px 26px rgba(249,115,22,0.18) !important;
}

/* Efeito sutil em imagens */
.pkp_structure_sidebar img:hover {
  transform: scale(1.018) !important;
  filter: saturate(1.05) !important;
}

/* Palavras-chave / nuvem de tags */
.pkp_structure_sidebar .block a[href*="search"],
.pkp_structure_sidebar .block a[href*="keyword"],
.pkp_structure_sidebar .block a[href*="query"],
.pkp_structure_sidebar .block a[href*="palavras"] {
  display: inline-block !important;
  margin: 4px 4px !important;
  padding: 5px 10px !important;
  background: linear-gradient(180deg, #eef4ff, #ffffff) !important;
  border: 1px solid rgba(19, 63, 150, 0.18) !important;
  border-radius: 999px !important;
  color: var(--osb-azul-principal) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* Mapa de acessos / estatísticas */
.pkp_structure_sidebar img[src*="map"],
.pkp_structure_sidebar img[src*="stat"],
.pkp_structure_sidebar img[src*="counter"],
.pkp_structure_sidebar img[src*="clustrmaps"] {
  border-radius: 18px !important;
  box-shadow: 0 10px 24px rgba(15, 35, 80, 0.18) !important;
  border: 1px solid var(--osb-cinza-borda) !important;
}

/* =========================
   BOTÕES GERAIS
   ========================= */

.cmp_button,
.cmp_form .buttons button,
.page_search .submit button,
button.submit,
input[type="submit"] {
  background: linear-gradient(180deg, var(--osb-azul-principal), var(--osb-azul-escuro)) !important;
  color: var(--osb-branco) !important;
  border-radius: 8px !important;
  border: 1px solid var(--osb-azul-escuro) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.cmp_button:hover,
.cmp_form .buttons button:hover,
.page_search .submit button:hover,
button.submit:hover,
input[type="submit"]:hover {
  background: var(--osb-azul-hover) !important;
  color: var(--osb-branco) !important;
}

/* =========================
   TABELAS
   ========================= */

table {
  border-collapse: collapse !important;
}

table th {
  background: var(--osb-azul-principal) !important;
  color: var(--osb-branco) !important;
}

table th,
table td {
  border: 1px solid var(--osb-cinza-borda) !important;
  padding: 9px !important;
}

/* =========================
   RODAPÉ
   ========================= */

.pkp_structure_footer_wrapper,
.pkp_structure_footer {
  background: linear-gradient(180deg, var(--osb-azul-escuro), #08245b) !important;
  color: var(--osb-branco) !important;
}

.pkp_structure_footer a {
  color: var(--osb-branco) !important;
  text-decoration: underline !important;
}

/* Ocultar OMP/PKP no rodapé */
.pkp_brand_footer,
.pkp_brand_footer a,
a[href*="pkp.sfu.ca"],
a[href*="openmonographpress"],
a[href*="publicknowledgeproject"] {
  display: none !important;
}

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

@media (max-width: 992px) {
  .pkp_site_name img,
  .pkp_site_name .is_img img {
    max-height: 78px !important;
  }

  .pkp_navigation_primary li a {
    padding: 9px 13px !important;
  }

  .pkp_structure_sidebar {
    padding: 22px 16px !important;
  }
}

@media (max-width: 768px) {
  .pkp_structure_head {
    padding: 10px 0 !important;
  }

  .pkp_site_name img,
  .pkp_site_name .is_img img {
    max-height: 68px !important;
  }

  .pkp_navigation_primary {
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
  }

  .pkp_navigation_primary li {
    width: 90% !important;
  }

  .pkp_navigation_primary li a {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  .pkp_navigation_search_wrapper {
    margin-left: 0 !important;
    margin-top: 8px !important;
  }

  .obj_galley_link,
  .obj_article_details .galleys .obj_galley_link,
  .obj_article_summary .obj_galley_link {
    width: 100% !important;
    max-width: 220px !important;
  }

  .pkp_structure_sidebar .block {
    border-radius: 16px !important;
  }
}
