/* ==========================================================================
   ACTAS DE GERONTOLOGIA — Folha de estilo personalizada v3 (OJS 3, Default)
   Instalação: Definições > Website > Aparência > Folha de estilo (CSS)
   ========================================================================== */

/* Fontes Google (dispensa o Custom Header Plugin) */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Source+Sans+3:wght@400;600;700&display=swap');

/* ---------- 1. Variáveis ---------- */
:root {
  --adg-primary:        #7A1F1F;  /* vermelho-bordeaux (acento do logótipo) */
  --adg-primary-dark:   #5E1717;
  --adg-primary-light:  #E0584E;  /* vermelho claro legível sobre grafite */
  --adg-ink:            #1E1E1E;
  --adg-muted:          #6B6B6B;
  --adg-line:           #E3DED7;
  --adg-bg-warm:        #FAF7F2;
  --adg-bg-soft:        #F3EEE7;
  --adg-white:          #FFFFFF;
  --adg-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --adg-sans:  "Source Sans 3", "Source Sans Pro", "Segoe UI", Arial, sans-serif;
}

/* ---------- 2. Base ---------- */
body {
  font-family: var(--adg-sans);
  color: var(--adg-ink);
  background: var(--adg-bg-warm);
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .page_title, .issue__title, .title {
  font-family: var(--adg-serif);
  color: var(--adg-ink);
  letter-spacing: .01em;
}

/* Ligações: forçar o vermelho da marca em TODO o conteúdo
   (specificity reforçada para vencer o azul-padrão do OJS) */
body .pkp_structure_page a,
body .pkp_structure_main a,
body .obj_issue_toc a,
body .pkp_structure_sidebar a,
body .homepage_about a {
  color: var(--adg-primary);
  transition: color .2s ease;
}
body .pkp_structure_page a:hover,
body .pkp_structure_main a:hover,
body .pkp_structure_sidebar a:hover {
  color: var(--adg-primary-dark);
}

/* ---------- 3. Cabeçalho ---------- */
.pkp_structure_head {
  background: var(--adg-white);
  box-shadow: 0 2px 12px rgba(30,30,30,.06);
  border-bottom: none;               /* a linha vermelha passa para a barra do menu */
}
.pkp_head_wrapper { padding-top: 24px; padding-bottom: 24px; }

.pkp_site_name .is_text {
  font-family: var(--adg-serif);
  font-size: 2rem;
  letter-spacing: .06em;
  color: var(--adg-ink);
}

/* ---------- 4. Menu principal ---------- */
.pkp_navigation_primary_wrapper {
  background: var(--adg-ink);
  border: none;
  border-bottom: 3px solid var(--adg-primary);   /* linha vermelha COLADA à barra */
}

/* Itens preenchem TODA a altura da barra: hover/ativo tocam as margens */
.pkp_navigation_primary,
.pkp_navigation_primary_row,
.pkp_navigation_primary > li {
  margin: 0;
  padding: 0;
}
.pkp_navigation_primary > li {
  display: inline-block;
  vertical-align: top;
}
.pkp_navigation_primary > li > a,
body .pkp_navigation_primary > li > a {
  display: block;
  font-family: var(--adg-sans);
  font-weight: 600;
  font-size: .95rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.4;
  color: #F5F1EA !important;          /* palavras sempre visíveis sobre o grafite */
  padding: 15px 20px;
  margin: 0;
  border: none;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
body .pkp_navigation_primary > li > a:hover {
  background: var(--adg-primary);
  color: #fff !important;
}

/* Destaque da página atual: palavra a vermelho + barra inferior rente à base */
.pkp_navigation_primary > li.current > a,
body .pkp_navigation_primary > li.current > a {
  color: var(--adg-primary-light) !important;
  background: rgba(224,88,78,.08);
  box-shadow: inset 0 -4px 0 var(--adg-primary-light);
}

/* "Pesquisar" visível */
.pkp_navigation_primary .pkp_search a,
body .pkp_navigation_primary > li > a.is_search,
body a.pkp_search_toggle {
  color: #F5F1EA !important;
}

/* Submenu (Sobre ▼) */
.pkp_navigation_primary ul ul,
.pkp_navigation_primary > li > ul {
  background: var(--adg-white) !important;
  border: 1px solid var(--adg-line);
  border-top: 3px solid var(--adg-primary);
  box-shadow: 0 8px 20px rgba(30,30,30,.15);
  padding: 6px 0;
}
.pkp_navigation_primary ul ul li a,
body .pkp_navigation_primary ul ul a {
  color: var(--adg-ink) !important;
  font-size: .9rem;
  padding: 9px 18px;
  text-transform: none;
  letter-spacing: 0;
  display: block;
}
.pkp_navigation_primary ul ul li a:hover,
body .pkp_navigation_primary ul ul a:hover {
  background: var(--adg-bg-soft) !important;
  color: var(--adg-primary) !important;
}

/* Registo / Acesso */
.pkp_navigation_user > li > a,
body .pkp_navigation_user > li > a { color: var(--adg-muted) !important; font-size: .85rem; }
.pkp_navigation_user > li > a:hover { color: var(--adg-primary) !important; }

/* ---------- 5. Página inicial ---------- */
.pkp_page_index .cmp_announcements,
.pkp_page_index .homepage_about,
.pkp_page_index .current_issue {
  background: var(--adg-white);
  border: 1px solid var(--adg-line);
  border-top: 3px solid var(--adg-primary);
  border-radius: 4px;
  padding: 28px 32px;
  margin-bottom: 32px;
  overflow: visible;                  /* cartão flexível: cresce com o texto */
  height: auto;
}

.homepage_about h2,
.current_issue_title {
  font-size: 1.6rem;
  position: relative;
  padding-bottom: 10px;
}
.homepage_about h2::after,
.current_issue_title::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 56px; height: 3px;
  background: var(--adg-primary);
}

/* Botão "Saber mais" (ver instruções: colar o snippet na descrição da revista) */
a.btn-saber-mais,
body .homepage_about a.btn-saber-mais {
  display: inline-block;
  margin-top: 14px;
  font-weight: 600;
  font-size: .85rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--adg-primary) !important;
  background: var(--adg-white);
  border: 1.5px solid var(--adg-primary);
  border-radius: 3px;
  padding: 8px 20px;
}
a.btn-saber-mais:hover {
  background: var(--adg-primary) !important;
  color: #fff !important;
}

.current_issue .issue__cover img {
  border: 1px solid var(--adg-line);
  border-radius: 3px;
  box-shadow: 0 4px 14px rgba(30,30,30,.12);
}

/* ---------- 6. Sumário ---------- */
.obj_issue_toc .section .header .title,
.obj_issue_toc h2 {
  font-family: var(--adg-serif);
  font-size: 1.35rem;
  border-bottom: 2px solid var(--adg-primary);
  display: inline-block;
  padding-bottom: 6px;
}

.obj_article_summary {
  border: none;
  border-bottom: 1px solid var(--adg-line);
  padding: 22px 8px;
  transition: background .2s ease;
}
.obj_article_summary:hover { background: var(--adg-bg-soft); }

.obj_article_summary > .title {
  font-family: var(--adg-serif);
  font-size: 1.15rem;
  font-weight: 600;
}
body .obj_article_summary > .title a { color: var(--adg-ink); }
body .obj_article_summary > .title a:hover { color: var(--adg-primary); }
.obj_article_summary .subtitle { color: var(--adg-muted); font-style: italic; }
.obj_article_summary .authors { color: var(--adg-muted); font-size: .92rem; }

/* Botões PDF / DOI */
.obj_galley_link,
.cmp_button,
body .obj_article_summary a.obj_galley_link {
  display: inline-block;
  font-weight: 600;
  font-size: .85rem;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--adg-primary) !important;
  background: var(--adg-white);
  border: 1.5px solid var(--adg-primary) !important;
  border-radius: 3px;
  padding: 6px 16px;
  transition: all .2s ease;
}
.obj_galley_link:hover, .cmp_button:hover {
  background: var(--adg-primary) !important;
  color: #fff !important;
}

/* ---------- 7. Página de artigo ---------- */
.page_article .main_entry .item.abstract {
  border: none;
  border-left: 4px solid var(--adg-primary);
  background: var(--adg-bg-soft);
  padding: 20px 24px;
  border-radius: 0 4px 4px 0;
}
.page_article .main_entry .item.abstract h2 {
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.page_article .page_title { font-size: 1.9rem; line-height: 1.35; }
.page_article .authors .name { font-weight: 700; color: var(--adg-ink); }
.page_article .authors .affiliation { color: var(--adg-muted); font-size: .9rem; }

/* Coluna de metadados: respiro à esquerda (não colada à linha) */
.page_article .entry_details {
  padding-left: 28px;
  border-left: 1px solid var(--adg-line);
}
.page_article .entry_details .item {
  border-bottom: 1px solid var(--adg-line);
  padding: 16px 14px 16px 14px;
}
.page_article .entry_details .item .label,
.page_article .entry_details .item .label h3,
.page_article .entry_details h2.label {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--adg-muted);
  font-family: var(--adg-sans);
}
/* Título do número na coluna: mais contido */
.page_article .entry_details .item.issue .value a,
.page_article .entry_details .item a {
  font-size: .92rem;
  line-height: 1.5;
}
/* Galleys na coluna: botão em largura total */
.page_article .entry_details .item.galleys .obj_galley_link,
.page_article .entry_details .galleys_links li a {
  display: block;
  text-align: center;
  width: 100%;
}
/* Capa na coluna */
.page_article .entry_details .item.cover_image img {
  border: 1px solid var(--adg-line);
  border-radius: 3px;
  box-shadow: 0 3px 10px rgba(30,30,30,.10);
}
/* ORCID: discreto, sem azul, sem partir a linha */
.page_article .authors a,
body .page_article .authors a {
  color: var(--adg-muted) !important;
  font-size: .82rem;
  word-break: break-all;
}
.page_article .authors a:hover { color: var(--adg-primary) !important; }

/* ---------- 8. Barra lateral ---------- */
.pkp_structure_sidebar .pkp_block {
  background: var(--adg-white);
  border: 1px solid var(--adg-line);
  border-radius: 4px;
  padding: 20px 22px;
  margin-bottom: 24px;
}
.pkp_structure_sidebar .pkp_block .title {
  font-family: var(--adg-serif);
  font-size: 1.05rem;
  border-bottom: 2px solid var(--adg-primary);
  display: inline-block;
  padding-bottom: 4px;
  margin-bottom: 12px;
}

.pkp_structure_sidebar .pkp_block.block_make_submission a,
body .pkp_structure_sidebar .block_make_submission a {
  display: block;
  text-align: center;
  background: var(--adg-primary);
  color: #fff !important;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  border-radius: 3px;
  padding: 12px;
}
.pkp_structure_sidebar .block_make_submission a:hover {
  background: var(--adg-primary-dark) !important;
}

/* ---------- 9. Formulários ---------- */
input[type="text"], input[type="email"], input[type="password"],
select, textarea {
  border: 1px solid var(--adg-line) !important;
  border-radius: 3px !important;
  padding: 10px 12px;
  font-family: var(--adg-sans);
}
input:focus, select:focus, textarea:focus {
  border-color: var(--adg-primary) !important;
  box-shadow: 0 0 0 3px rgba(122,31,31,.12);
  outline: none;
}
button, input[type="submit"] {
  background: var(--adg-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 3px !important;
  font-weight: 600;
  letter-spacing: .03em;
  padding: 10px 22px;
}
button:hover, input[type="submit"]:hover { background: var(--adg-primary-dark) !important; }

/* ---------- 10. Rodapé (ultra-compacto) ---------- */
.pkp_structure_footer_wrapper {
  background: var(--adg-ink);
  border-top: 4px solid var(--adg-primary);
}
.pkp_structure_footer {
  color: #D8D2C8;
  padding-top: 10px;
  padding-bottom: 10px;
}
.pkp_structure_footer .pkp_footer_content,
.pkp_structure_footer .pkp_container {
  padding-top: 0;
  padding-bottom: 0;
}
/* Logótipo do rodapé: pequeno e contido */
.pkp_structure_footer img,
.pkp_structure_footer_wrapper img {
  max-height: 56px;
  width: auto;
  height: auto;
  margin: 6px 0;
}
body .pkp_structure_footer a { color: #F0EBE2 !important; }
body .pkp_structure_footer a:hover { color: #fff !important; text-decoration: underline; }
.pkp_brand_footer { opacity: .6; padding: 4px 0; }
.pkp_brand_footer img { max-height: 26px; margin: 0; }
/* Qualquer bloco extra no rodapé não adiciona altura */
.pkp_structure_footer .pkp_block { margin-bottom: 0; padding: 4px 0; }

/* ---------- 11. Detalhes ---------- */
.cmp_breadcrumbs { font-size: .85rem; color: var(--adg-muted); }
.obj_issue_summary {
  border: 1px solid var(--adg-line);
  border-radius: 4px;
  padding: 18px 20px;
  background: var(--adg-white);
}
.obj_issue_summary .title { font-family: var(--adg-serif); }

/* ---------- 12. Responsivo ---------- */
@media (max-width: 768px) {
  body { font-size: 16px; }
  .pkp_page_index .current_issue,
  .pkp_page_index .homepage_about { padding: 20px; }
  .page_article .page_title { font-size: 1.5rem; }
  .pkp_structure_footer img { max-height: 64px; }
}
