/* Hypostasis — overrides do tema Default para identidade COR Academia.
   Paleta bordô/marsala alinhada ao coracademia.com.br + acentos gold.
   Fontes: Playfair Display (títulos), Roboto + Poppins (corpo). */

@import url("//fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600;1,700&family=Roboto:wght@300;400;500;700&family=Poppins:wght@300;400;500;600;700&display=swap");

:root {
  /* Paleta refinada da Hypostasis — direto do logo: gold + branco + cinza escuro.
     Sem burgundy. Estética: revista acadêmica clássica, minimalista, elegante. */
  --gold:           #B8924E;   /* gold bronze do logo */
  --gold-light:     #D4B16B;
  --gold-dark:      #8E6E33;
  --gold-soft:      #E6D5A8;   /* fundo sutil de destaque */
  --gold-glow:      rgba(184, 144, 78, 0.10);

  --ink:            #2A2018;   /* tom do wordmark — cinza muito escuro warm */
  --ink-deep:       #1A1410;   /* contraste máximo */
  --gray-900:       #2A2018;
  --gray-700:       #4A3F36;
  --gray-500:       #7A6F62;
  --gray-300:       #BFB5A6;
  --gray-200:       #E5DFD0;
  --gray-100:       #F5F0E4;   /* off-white acolhedor */
  --gray-50:        #FAF7EE;   /* fundo principal */

  --white:          #FFFFFF;
  --paper:          #FAF7EE;
  --paper-shade:    #F5F0E4;
  --border:         #E5DFD0;
  --border-soft:    #EFE8D5;

  --text:           #2A2018;
  --text-muted:     #6B5947;

  /* Aliases (compat com regras antigas que ainda usam burgundy) */
  --bordeaux:       #2A2018;
  --bordeaux-soft:  #4A3F36;
  --bordeaux-deep:  #1A1410;
  --bordeaux-ink:   #2A2018;
  --burnt:          #8E6E33;
  --cream:          #FAF7EE;
}

body, .pkp_structure_page {
  background: var(--paper) !important;
  font-family: 'Roboto', 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: var(--text) !important;
  line-height: 1.7;
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: var(--bordeaux) !important;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.25;
}

/* Heading display "monumental" — usado pelo eyebrow/section labels para sensação clássica romana */
.hyp-display {
  font-family: 'Cinzel', 'Trajan Pro', 'Playfair Display', serif !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* HEADER ============================================================ */

.pkp_structure_head {
  background: var(--white) !important;
  border-bottom: 1px solid var(--gold) !important;
  box-shadow: 0 1px 0 rgba(184, 144, 78, 0.18), 0 4px 22px rgba(42, 32, 24, 0.06);
  position: relative;
  padding-top: 18px;
}

.pkp_structure_head::after {
  display: none;
}

/* Linha superior fina (acima dos botões REGISTRAR/ACESSO) — separador discreto */
.pkp_navigation_user_wrapper {
  padding: 14px 0 0 !important;
  margin-bottom: 8px;
}

.pkp_navigation_user {
  margin-right: 8px !important;
  padding-right: 8px;
}

.pkp_head_wrapper {
  max-width: 1200px !important;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
}

.pkp_site_name {
  padding: 22px 0 14px;
  height: auto;
  position: relative;
}

/* Logo no header — usa o PNG original (wordmark escuro sobre fundo branco) */
.pkp_site_name .is_text {
  display: block !important;
  width: 480px !important;
  max-width: 100%;
  height: 96px !important;
  background-image: url('/public/journals/1/assets/logo-hypostasis.png');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  font-size: 0 !important;
  color: transparent !important;
  text-indent: -9999px;
  text-decoration: none !important;
  border: none !important;
  line-height: 0;
  white-space: nowrap;
  overflow: hidden;
}

@media (max-width: 768px) {
  .pkp_structure_head {
    overflow: visible !important;
  }
  .pkp_head_wrapper,
  .pkp_site_name_wrapper,
  .pkp_site_name {
    overflow: visible !important;
    height: auto !important;
    text-align: center;
    position: static !important;
  }
  .pkp_site_name {
    padding: 14px 0 16px !important;
  }
  .pkp_site_name .is_text {
    width: 260px !important;
    height: 56px !important;
    margin: 0 auto !important;
    display: block !important;
    background-position: center center !important;
  }
}

@media (max-width: 479px) {
  .pkp_site_name .is_text {
    width: 220px !important;
    height: 48px !important;
  }
}

/* Logo PNG usado em pontos de fundo claro (about, etc.) — classe utilitária */
.hyp-logo-full {
  display: inline-block;
  background-image: url('/public/journals/1/assets/logo-hypostasis.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 320px;
  height: 80px;
}

/* NAVIGATION — minimalista sobre fundo branco ====================== */

.pkp_navigation_primary_row,
.pkp_site_nav_menu,
.pkp_navigation_primary_wrapper,
nav.pkp_site_nav_menu {
  background: transparent !important;
  background-color: transparent !important;
  border-top: 1px solid var(--border-soft) !important;
}

.pkp_navigation_user_wrapper,
.pkp_navigation_search_wrapper {
  background: transparent !important;
}

.pkp_navigation_primary a,
.pkp_navigation_user a,
.pkp_navigation_search a {
  color: var(--gray-700) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  padding: 16px 18px !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: color 0.18s ease, border-color 0.18s ease;
  position: relative;
}

.pkp_navigation_primary > li > a::after {
  content: '';
  position: absolute;
  left: 18px; right: 18px; bottom: 8px;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .2s ease;
}

.pkp_navigation_primary a:hover,
.pkp_navigation_user a:hover,
.pkp_navigation_search a:hover {
  color: var(--ink) !important;
  background: transparent !important;
}

.pkp_navigation_primary > li > a:hover::after {
  transform: scaleX(1);
}

.pkp_navigation_primary > li.current > a,
.pkp_navigation_primary > li.in_focus > a {
  color: var(--ink) !important;
}

.pkp_navigation_primary > li.current > a::after,
.pkp_navigation_primary > li.in_focus > a::after {
  transform: scaleX(1);
}

.pkp_navigation_user > li > a {
  border: 1px solid var(--gold) !important;
  border-radius: 3px;
  margin-left: 8px;
  padding: 9px 18px !important;
  color: var(--ink) !important;
  font-size: 0.7rem !important;
  letter-spacing: 1.6px !important;
  line-height: 1;
}

.pkp_navigation_user > li > a:hover {
  background: var(--gold) !important;
  color: var(--white) !important;
  border-color: var(--gold) !important;
}

.pkp_navigation_primary ul {
  background: var(--white) !important;
  border: 1px solid var(--gray-200) !important;
  border-top: 2px solid var(--gold) !important;
  box-shadow: 0 14px 36px rgba(42, 32, 24, 0.10) !important;
}

.pkp_navigation_primary ul a {
  color: var(--gray-700) !important;
}

.pkp_navigation_primary ul a:hover {
  background: var(--gold-glow) !important;
  color: var(--ink) !important;
}

/* MAIN ============================================================= */

.pkp_structure_main {
  background: transparent !important;
  padding: 40px 28px 48px !important;
  max-width: 1200px;
  margin: 0 auto;
}

/* Anula as "full-height borders" laterais do default theme — mantém os pseudos
   (eles fazem clearfix/layout) mas zera o visual */
.pkp_structure_main::before,
.pkp_structure_main::after {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.pkp_structure_content {
  background: var(--paper) !important;
  border: none !important;
}

/* HERO ============================================================== */

.hyp-hero {
  position: relative;
  text-align: center;
  padding: 88px 24px 64px;
  border-bottom: 1px solid var(--border);
  margin: 0 24px 56px;
  background-image: radial-gradient(rgba(92, 40, 24, 0.04) 1px, transparent 1px);
  background-size: 22px 22px;
}

.hyp-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.74rem;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--burnt);
  margin-bottom: 22px;
}

.hyp-hero__eyebrow::before,
.hyp-hero__eyebrow::after {
  content: '';
  display: block;
  width: 36px;
  height: 1px;
  background: var(--gold);
  opacity: 0.6;
}

.hyp-hero__greek {
  font-family: 'Playfair Display', serif;
  font-size: clamp(3.2rem, 8.5vw, 5.8rem);
  color: var(--bordeaux);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
  line-height: 1;
}

.hyp-hero__ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(420px, 70vw);
  margin: 14px auto 28px;
}

.hyp-hero__ornament::before,
.hyp-hero__ornament::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(201, 168, 76, 0.38);
}

.hyp-hero__ornament span {
  display: block;
  width: 6px;
  height: 6px;
  background: var(--gold);
  transform: rotate(45deg);
  margin: 0 16px;
}

.hyp-hero__tagline {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 1.42rem;
  color: var(--text);
  max-width: 700px;
  margin: 16px auto 32px;
  line-height: 1.55;
}

.hyp-hero__cta {
  display: inline-flex;
  gap: 14px;
  margin-top: 8px;
  flex-wrap: wrap;
  justify-content: center;
}

.hyp-hero__cta a {
  display: inline-block;
  padding: 13px 30px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  border-radius: 2px;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease;
}

.hyp-hero__cta .primary {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);
  color: var(--bordeaux) !important;
  box-shadow: 0 4px 18px rgba(201, 168, 76, 0.32);
}

.hyp-hero__cta .primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 26px rgba(201, 168, 76, 0.48);
}

.hyp-hero__cta .secondary {
  background: transparent;
  color: var(--bordeaux) !important;
  border: 1px solid var(--bordeaux);
}

.hyp-hero__cta .secondary:hover {
  background: var(--bordeaux);
  color: var(--cream) !important;
}

/* SECTION HEADERS / EDITORIAL ====================================== */

.hyp-section {
  max-width: 880px;
  margin: 0 auto 56px;
  text-align: center;
  padding: 0 24px;
}

.hyp-section__eyebrow {
  font-family: 'Poppins', sans-serif;
  font-size: 0.72rem;
  letter-spacing: 4.5px;
  text-transform: uppercase;
  color: var(--burnt);
  margin-bottom: 14px;
}

.hyp-section h2 {
  font-size: 2rem;
  color: var(--bordeaux);
  margin: 0 0 18px;
  font-weight: 700;
}

.hyp-section p {
  font-size: 1.06rem;
  line-height: 1.78;
  color: var(--text);
}

/* SECTIONS GRID (4 editorial sections) ============================= */

.hyp-sections-grid {
  max-width: 1100px;
  margin: 0 auto 64px;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px;
}

.hyp-sec-card {
  background: #fff;
  border: 1px solid var(--border);
  border-top: 3px solid var(--gold);
  border-radius: 2px;
  padding: 26px 22px;
  text-align: left;
  transition: transform .18s ease, box-shadow .18s ease;
}

.hyp-sec-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(28, 12, 12, 0.10);
}

.hyp-sec-card__name {
  font-family: 'Playfair Display', serif;
  color: var(--bordeaux);
  font-size: 1.22rem;
  font-weight: 700;
  margin: 0 0 10px;
}

.hyp-sec-card__desc {
  font-family: 'Roboto', sans-serif;
  font-size: 0.92rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin: 0;
}

/* SIDEBAR (Atlantika-style: Mais Lidos, Idioma, Indexadores) ====== */

.pkp_structure_sidebar {
  padding: 0 0 0 16px;
}

.pkp_block .title,
.pkp_block h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 0.92rem !important;
  text-transform: uppercase !important;
  letter-spacing: 2.8px !important;
  color: var(--bordeaux) !important;
  border-bottom: 1px solid var(--gold);
  padding-bottom: 10px;
  margin-bottom: 14px;
  margin-top: 0;
}

.hyp-block {
  background: #fff;
  border: 1px solid var(--border);
  border-top: 3px solid var(--gold);
  border-radius: 2px;
  padding: 22px 22px;
  margin-bottom: 22px;
}

.hyp-block__title {
  font-family: 'Playfair Display', serif;
  font-size: 0.92rem;
  text-transform: uppercase;
  letter-spacing: 2.8px;
  color: var(--bordeaux);
  border-bottom: 1px solid var(--gold);
  padding-bottom: 10px;
  margin: 0 0 14px;
  font-weight: 700;
}

.hyp-block ul,
.hyp-mostread {
  list-style: none;
  padding: 0;
  margin: 0;
}

.hyp-mostread__item {
  display: block;
  padding: 12px 0;
  border-bottom: 1px dashed var(--border);
  text-decoration: none;
}

.hyp-mostread__item:last-child { border-bottom: none; }

.hyp-mostread__title {
  font-family: 'Playfair Display', serif;
  font-size: 0.95rem;
  color: var(--bordeaux);
  line-height: 1.35;
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
}

.hyp-mostread__meta {
  font-family: 'Poppins', sans-serif;
  font-size: 0.72rem;
  color: var(--text-muted);
  letter-spacing: 0.4px;
}

.hyp-mostread__meta strong {
  color: var(--burnt);
  font-weight: 600;
}

.hyp-lang {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.hyp-lang a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.86rem;
  color: var(--text);
  border-radius: 2px;
  border-bottom: none;
}

.hyp-lang a:hover {
  background: var(--paper-shade);
  color: var(--bordeaux);
}

.hyp-lang a .flag {
  width: 18px;
  height: 12px;
  background: var(--burnt);
  border-radius: 1px;
  flex: none;
}

/* ISSUE COVER (homepage current issue thumbnail) ================== */

.hyp-cover {
  display: block;
  background: #fff;
  border: 1px solid var(--border);
  padding: 0;
  margin-bottom: 22px;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 8px 22px rgba(58, 14, 14, 0.12);
}

.hyp-cover img,
.hyp-cover svg {
  display: block;
  width: 100%;
  height: auto;
}

/* HOMEPAGE LAYOUT — main + sidebar ================================ */

.hyp-home {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  max-width: 1200px;
  margin: 48px auto 64px;
  padding: 0 24px;
}

@media (min-width: 992px) {
  .hyp-home {
    grid-template-columns: minmax(0, 1fr) 280px;
  }
}

.hyp-home__main { min-width: 0; }
.hyp-home__side { min-width: 0; }

/* CURRENT ISSUE — articles (real, from OJS) ======================= */

.hyp-issue {
  max-width: 1200px;
  margin: 0 auto 64px;
  padding: 0 24px;
}

.hyp-issue__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--gold);
  flex-wrap: wrap;
  gap: 12px;
}

.hyp-issue__title {
  font-family: 'Playfair Display', serif;
  color: var(--bordeaux);
  font-size: 1.7rem;
  font-weight: 700;
  margin: 0;
}

.hyp-issue__meta {
  font-family: 'Poppins', sans-serif;
  font-size: 0.78rem;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--burnt);
}

.hyp-articles {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

@media (min-width: 768px) {
  .hyp-articles { grid-template-columns: repeat(2, 1fr); }
}

.hyp-article {
  background: #fff;
  border: 1px solid var(--border);
  border-left: 3px solid var(--gold);
  border-radius: 2px;
  padding: 26px 28px;
  transition: transform .18s ease, box-shadow .18s ease, border-left-color .18s ease;
  text-decoration: none;
  color: inherit;
  display: block;
}

.hyp-article:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(28, 12, 12, 0.10);
  border-left-color: var(--bordeaux);
  color: inherit;
}

.hyp-article__section {
  font-family: 'Poppins', sans-serif;
  font-size: 0.7rem;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--burnt);
  margin-bottom: 10px;
  display: block;
}

.hyp-article__title {
  font-family: 'Playfair Display', serif;
  color: var(--bordeaux);
  font-size: 1.28rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 10px;
}

.hyp-article__authors {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 1rem;
  color: var(--text);
  margin-bottom: 14px;
}

.hyp-article__abstract {
  font-family: 'Roboto', sans-serif;
  font-size: 0.95rem;
  color: var(--text-muted);
  line-height: 1.66;
  margin: 0 0 14px;
}

.hyp-article__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.74rem;
  color: var(--text-muted);
  letter-spacing: 0.6px;
  padding-top: 12px;
  border-top: 1px dashed var(--border);
}

.hyp-article__meta strong {
  color: var(--bordeaux);
  font-weight: 600;
}

/* HOMEPAGE — "Edição Atual" como section header com eyebrow + h2 + ornamento */

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

/* Header "Edição Atual" e seções */
.page_index_journal .cmp_homepage_current_issue,
.page_index_journal h2:first-of-type,
.page_index_journal > h2 {
  font-family: 'Playfair Display', serif !important;
  color: var(--ink) !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  text-align: center;
  margin: 0 0 8px !important;
}

/* "v.1 n.1 (2026): Inauguração" — issue title secundário */
.page_index_journal .pkp_structure_main h3,
.page_index_journal .pkp_structure_main h4 {
  font-family: 'Playfair Display', serif !important;
  color: var(--gold-dark) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  font-style: italic;
  text-align: center;
  margin: 0 0 24px !important;
}

/* Descrição do número */
.page_index_journal .pkp_structure_main > p,
.page_index_journal .description {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--text-muted);
  text-align: center;
  max-width: 640px;
  margin: 0 auto 32px !important;
}

/* "Publicado: 2026-05-21" — meta line */
.page_index_journal .pkp_structure_main > p:has(strong) {
  font-family: 'Cinzel', serif;
  font-size: 0.7rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold-dark);
  margin: 0 auto 40px !important;
}

/* Wrappers de section (remove borders/dividers extras) */

.sections {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

.sections .section {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 32px !important;
  background: transparent !important;
}

.sections .section + .section {
  margin-top: 8px !important;
}

.sections .section > h2,
.sections .section > h3 {
  font-family: 'Cinzel', 'Playfair Display', serif !important;
  font-size: 0.72rem !important;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: var(--gold-dark);
  font-weight: 600;
  margin: 0 auto 20px !important;
  padding: 0;
  border: none !important;
  background: transparent !important;
  display: block !important;
  text-align: center;
  position: relative;
}

.sections .section > h2::after,
.sections .section > h3::after {
  content: '';
  display: block;
  width: 36px;
  height: 1px;
  background: var(--gold);
  margin: 10px auto 0;
}

/* Remove qualquer separador horizontal entre cards */
.obj_article_summary + .obj_article_summary {
  margin-top: 14px !important;
}

.sections hr,
.section hr,
.pkp_structure_main hr {
  display: none !important;
}

/* CARDS DE ARTIGO (homepage / issue TOC) ========================== */

.obj_article_summary {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-left: 3px solid var(--gold) !important;
  border-radius: 2px;
  padding: 20px 24px;
  margin-bottom: 14px;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-left-color 0.18s ease;
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto auto;
  grid-template-areas:
    "title  title  title"
    "author pages  pdf";
  column-gap: 14px;
  row-gap: 8px;
  align-items: center;
}

.obj_article_summary > .title,
.obj_article_summary > h4.title {
  grid-area: title;
  align-self: start;
}

/* .meta tem .authors + .pages dentro — usa display:contents pra promover filhos a grid items */
.obj_article_summary > .meta {
  display: contents;
}

.obj_article_summary > .meta > .authors {
  grid-area: author;
  align-self: center;
}

.obj_article_summary > .meta > .pages {
  grid-area: pages;
  align-self: center;
  justify-self: end;
}

.obj_article_summary > .galleys_links {
  grid-area: pdf;
  align-self: center;
  justify-self: end;
  margin: 0 !important;
}

.obj_article_summary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(28, 12, 12, 0.10);
  border-left-color: var(--bordeaux) !important;
}

.obj_article_summary .title,
.obj_article_summary h4.title {
  grid-area: title;
  font-family: 'Playfair Display', serif !important;
  color: var(--bordeaux) !important;
  font-size: 1.18rem !important;
  font-weight: 600 !important;
  line-height: 1.34;
  margin: 0;
  padding: 0;
  border-bottom: none !important;
}

.obj_article_summary .title a,
.obj_article_summary h4.title a {
  color: var(--bordeaux) !important;
  border-bottom: none !important;
  text-decoration: none !important;
}

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

/* Tipografia do meta (autor + pages) — grid placement está acima */
.obj_article_summary .meta .authors,
.obj_article_summary > .meta > .authors {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  color: var(--bordeaux-ink);
  font-size: 0.98rem;
}

.obj_article_summary .meta .pages,
.obj_article_summary > .meta > .pages {
  font-family: 'Roboto', sans-serif;
  font-size: 0.78rem;
  color: var(--text-muted);
  padding: 4px 12px;
  background: rgba(184, 144, 78, 0.10);
  border: 1px solid rgba(184, 144, 78, 0.22);
  border-radius: 2px;
  letter-spacing: 0.4px;
  display: inline-block;
  white-space: nowrap;
}

.obj_article_summary .meta .pages::before,
.obj_article_summary > .meta > .pages::before {
  content: 'p. ';
  opacity: 0.6;
}

/* PDF galley badge wrapper — vira inline pra ficar lado a lado com .pages */
.obj_article_summary .galleys_links,
.obj_article_summary > .galleys_links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: center;
}

.obj_article_summary .galleys_links li { list-style: none; margin: 0; }

.obj_article_summary .galleys_links a.obj_galley_link {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-size: 0.7rem;
  color: var(--bordeaux) !important;
  background: rgba(184, 144, 72, 0.12);
  border: 1px solid var(--gold);
  padding: 6px 14px !important;
  border-radius: 2px;
  text-decoration: none !important;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}

.obj_article_summary .galleys_links a.obj_galley_link:hover {
  background: var(--bordeaux);
  color: var(--cream) !important;
  border-color: var(--bordeaux);
  box-shadow: 0 4px 14px rgba(58,14,14,0.32);
}

@media (max-width: 720px) {
  .obj_article_summary {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "title"
      "author"
      "pages"
      "pdf" !important;
    row-gap: 10px !important;
  }
  .obj_article_summary > .title,
  .obj_article_summary > h4.title {
    grid-area: title !important;
    align-self: start !important;
  }
  .obj_article_summary > .meta > .authors {
    grid-area: author !important;
    justify-self: start !important;
  }
  .obj_article_summary > .meta > .pages {
    grid-area: pages !important;
    justify-self: start !important;
  }
  .obj_article_summary > .galleys_links {
    grid-area: pdf !important;
    justify-self: start !important;
    flex-direction: row !important;
  }
}

/* CARDS DE EDIÇÃO ================================================== */

.obj_issue_summary,
.obj_announcement_summary {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-left: 3px solid var(--gold) !important;
  border-radius: 2px;
  padding: 22px 26px;
  margin-bottom: 16px;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.obj_issue_summary:hover,
.obj_announcement_summary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(28, 12, 12, 0.08);
  border-left-color: var(--bordeaux) !important;
}

.obj_issue_summary .title,
.obj_issue_summary h3 a,
.obj_announcement_summary h3 a {
  font-family: 'Playfair Display', serif !important;
  color: var(--bordeaux) !important;
  font-size: 1.22rem !important;
  font-weight: 600 !important;
  line-height: 1.32;
  border-bottom: none !important;
}

/* BLOCKS / SIDEBAR ================================================== */

.pkp_block {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-top: 3px solid var(--gold) !important;
  border-radius: 2px;
  padding: 20px 22px;
  margin-bottom: 20px;
}

.pkp_block .title {
  font-family: 'Playfair Display', serif !important;
  font-size: 0.92rem !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: var(--bordeaux) !important;
  border-bottom: 1px solid var(--border);
  padding-bottom: 10px;
  margin-bottom: 14px;
}

/* BUTTONS ========================================================== */

.btn, .pkp_button, button.pkp_button,
input[type="submit"], a.pkp_button,
.cmp_action_button, .cmp_button {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%) !important;
  color: var(--bordeaux) !important;
  border: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  font-size: 0.78rem !important;
  padding: 12px 26px !important;
  border-radius: 2px !important;
  box-shadow: 0 3px 14px rgba(201, 168, 76, 0.32);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  text-decoration: none !important;
}

.btn:hover, .pkp_button:hover, a.pkp_button:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 22px rgba(201, 168, 76, 0.48);
  color: var(--bordeaux) !important;
}

/* LINKS ============================================================= */

a {
  color: var(--gold-dark);
  transition: color 0.18s ease, border-color 0.18s ease;
}

a:hover { color: var(--bordeaux); }

::selection { background: var(--gold); color: var(--bordeaux); }

/* FOOTER ============================================================ */

.pkp_structure_footer_wrapper,
.pkp_structure_footer {
  background: var(--ink) !important;
  color: var(--gray-100) !important;
  border-top: 1px solid var(--gold);
  padding: 44px 0;
  font-family: 'Roboto', sans-serif;
}

.pkp_structure_footer a {
  color: var(--gold-light) !important;
}

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

/* Esconde a barra "Platform & workflow by OJS/PKP" — ela continua acessível
   por screen-readers (.pkp_screen_reader) e ainda satisfaz atribuição GPL via texto no rodapé */
.pkp_brand_footer {
  display: none !important;
}

/* FORMS — input base + login/register modernizado ================= */

.pkp_form input[type="text"],
.pkp_form input[type="email"],
.pkp_form input[type="password"],
.pkp_form input[type="url"],
.pkp_form input[type="search"],
.pkp_form input[type="number"],
.pkp_form textarea,
.pkp_form select {
  width: 100%;
  border: 1px solid var(--border) !important;
  background: #fff !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 0.96rem !important;
  color: var(--text) !important;
  border-radius: 3px !important;
  padding: 12px 14px !important;
  transition: border-color .15s ease, box-shadow .15s ease;
  box-shadow: inset 0 1px 0 rgba(0,0,0,0.02);
}

.pkp_form input:focus,
.pkp_form textarea:focus,
.pkp_form select:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(184, 144, 78, 0.22) !important;
  outline: none !important;
}

/* Login / Register / Profile / Reset password — todas seguem cmp_form */
.cmp_form,
.cmp_form.login,
.cmp_form.register,
.cmp_form.profile {
  max-width: 480px;
  margin: 40px auto;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 44px 44px 36px;
  box-shadow: 0 8px 40px rgba(58, 14, 14, 0.07);
  position: relative;
}

.cmp_form.login::before,
.cmp_form.register::before {
  content: '';
  display: block;
  width: 56px;
  height: 3px;
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 100%);
  margin: 0 auto 28px;
  border-radius: 2px;
}

.cmp_form fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

.cmp_form fieldset > div,
.cmp_form .username,
.cmp_form .password,
.cmp_form .email,
.cmp_form .name,
.cmp_form .affiliation,
.cmp_form .country,
.cmp_form .interests {
  margin-bottom: 18px;
}

.cmp_form label {
  display: block;
}

.cmp_form label .label {
  display: block;
  font-family: 'Roboto', sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 6px;
}

.cmp_form .required {
  color: var(--burnt);
  font-weight: 700;
  margin-left: 2px;
}

.cmp_form .remember {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 20px 0;
  font-family: 'Roboto', sans-serif;
  font-size: 0.92rem;
  color: var(--text);
}

.cmp_form .remember input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--gold);
}

.cmp_form .remember label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  margin: 0;
}

.cmp_form .buttons {
  margin-top: 26px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cmp_form .buttons button[type="submit"],
.cmp_form .buttons button.submit {
  width: 100%;
  background: linear-gradient(135deg, var(--bordeaux) 0%, var(--bordeaux-soft) 100%) !important;
  color: var(--cream) !important;
  border: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  font-size: 0.86rem !important;
  padding: 14px 28px !important;
  border-radius: 3px !important;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(58, 14, 14, 0.22);
  transition: transform .15s ease, box-shadow .15s ease;
}

.cmp_form .buttons button[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 26px rgba(58, 14, 14, 0.38);
  color: var(--cream) !important;
}

.cmp_form .buttons a.register,
.cmp_form .buttons a.password_reset,
.cmp_form .buttons a {
  text-align: center;
  display: block;
  font-family: 'Roboto', sans-serif;
  font-size: 0.88rem;
  color: var(--text-muted);
  text-decoration: none;
  border: none;
  margin-top: 2px;
}

.cmp_form .buttons a:hover {
  color: var(--bordeaux);
}

.cmp_form .links {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px dashed var(--border);
  text-align: center;
  font-family: 'Roboto', sans-serif;
  font-size: 0.86rem;
}

.cmp_form .links a {
  color: var(--gold-dark);
  font-weight: 500;
}

.cmp_form .description {
  font-family: 'Roboto', sans-serif;
  font-size: 0.86rem;
  color: var(--text-muted);
  margin-bottom: 18px;
  line-height: 1.55;
}

/* Página login/register — título centralizado, sem breadcrumb */
.page_login h1,
.page_register h1,
.page_lost_password h1 {
  text-align: center;
  font-family: 'Playfair Display', serif;
  color: var(--bordeaux);
  font-size: 2.1rem;
  letter-spacing: 0.5px;
  margin: 40px 0 12px;
}

.page_login h1::after,
.page_register h1::after,
.page_lost_password h1::after {
  content: '';
  display: block;
  width: 60px;
  height: 1px;
  background: var(--gold);
  margin: 14px auto 0;
}

/* ARTICLE DETAIL — single-column SEMPRE (desktop e mobile) ============== */

.obj_article_details {
  display: block !important;
  max-width: 720px;
  margin: 0 auto;
  background: transparent;
  padding: 24px 0 32px;
  width: 100%;
  float: none !important;
}

@media (min-width: 1100px) {
  .obj_article_details {
    padding-right: 40px;
  }
}

/* Eyebrow "Artigos" antes do título — pega o section name do breadcrumb */
.page_article .cmp_breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  gap: 8px;
  font-family: 'Cinzel', 'Playfair Display', serif;
  font-size: 0.7rem;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  color: var(--gold-dark);
  justify-content: center;
}

.page_article .cmp_breadcrumbs li { list-style: none; }
.page_article .cmp_breadcrumbs a {
  color: var(--gold-dark);
  border-bottom: none;
}
.page_article .cmp_breadcrumbs .separator {
  color: var(--gold);
  opacity: 0.7;
  margin: 0 2px;
}
.page_article .cmp_breadcrumbs .current {
  color: var(--ink);
}

.obj_article_details .main_entry,
.obj_article_details .entry_details,
.obj_article_details > div,
.obj_article_details > section {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

.obj_article_details .main_entry { min-width: 0; }
.obj_article_details .entry_details { margin-top: 32px !important; }

.obj_article_details .page_title {
  font-family: 'Playfair Display', serif !important;
  color: var(--ink) !important;
  font-size: 2.6rem !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
  margin: 28px 0 32px;
  padding: 0;
  border-bottom: none !important;
  text-align: center;
}

/* Breadcrumbs com mais respiração ao redor */
.obj_article_details .cmp_breadcrumbs,
.page_article .cmp_breadcrumbs {
  margin-bottom: 24px;
  font-size: 0.84rem;
  color: var(--text-muted);
}

/* Pequeno ornamento gold sob o título */
.obj_article_details .page_title::after {
  content: '';
  display: block;
  width: 56px;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--gold) 50%, transparent 100%);
  margin: 18px auto 0;
}

/* Authors block — em-dash inline, italic, centrado */
.obj_article_details .item.authors {
  margin: 0 0 48px;
  padding: 0;
  text-align: center;
  font-family: 'Playfair Display', serif;
}

.obj_article_details .item.authors h2.pkp_screen_reader {
  position: absolute;
  left: -9999px;
}

.obj_article_details .item.authors > .authors,
.obj_article_details .item.authors ul.authors {
  display: flex;
  flex-direction: column;
  gap: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: center;
}

.obj_article_details .item.authors > .authors li,
.obj_article_details .item.authors ul.authors li {
  list-style: none;
  display: inline;
  text-align: center;
}

.obj_article_details .item.authors .name {
  font-family: 'Playfair Display', serif !important;
  font-style: italic;
  color: var(--ink) !important;
  font-size: 1.24rem !important;
  font-weight: 600;
  line-height: 1.4;
  display: block;
}

.obj_article_details .item.authors .affiliation {
  font-family: 'Roboto', sans-serif;
  font-size: 0.84rem;
  color: var(--gold-dark);
  font-style: normal;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  display: inline-block;
  margin-top: 6px;
  padding: 3px 10px;
  background: rgba(184, 144, 78, 0.08);
  border-radius: 2px;
}

.obj_article_details .item.authors .type,
.obj_article_details .item.authors .orcid {
  display: none;
}

/* Metadata pills row — Publicado · Seção · Páginas */
.obj_article_details::before {
  content: '';
}

.obj_article_details .item.authors .orcid {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Roboto', sans-serif;
  font-size: 0.78rem;
  color: var(--gold-dark);
  text-decoration: none;
  border: none;
  background: rgba(201, 168, 76, 0.10);
  padding: 3px 10px 3px 8px;
  border-radius: 11px;
  margin-top: 4px;
}

.obj_article_details .item.authors .orcid::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #A6CE39;
  flex: none;
}

.obj_article_details .item.authors .orcid:hover {
  background: rgba(201, 168, 76, 0.20);
  color: var(--bordeaux);
}

/* Abstract — frame minimal com label centrado, body left-aligned */
.obj_article_details .item.abstract {
  background: transparent;
  border: none !important;
  padding: 36px 0 40px;
  margin: 0 0 32px;
  box-shadow: none;
  text-align: left;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  position: relative;
}

.obj_article_details .item.abstract h2.label {
  font-family: 'Cinzel', 'Playfair Display', serif !important;
  color: var(--gold-dark) !important;
  font-size: 0.72rem !important;
  letter-spacing: 4.5px;
  text-transform: uppercase;
  font-weight: 600;
  margin: 0 0 24px;
  padding: 0;
  border: none !important;
  text-align: center;
  display: block;
}

.obj_article_details .item.abstract h2.label::after {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: var(--gold);
  margin: 12px auto 0;
}

.obj_article_details .item.abstract p {
  font-family: 'Roboto', Georgia, serif;
  font-size: 1.06rem;
  line-height: 1.85;
  color: var(--ink);
  margin: 0 0 1.2em;
}

.obj_article_details .item.abstract p:last-child { margin-bottom: 0; }

.obj_article_details .item.abstract em {
  font-style: italic;
  color: var(--ink);
  font-weight: 500;
}

/* Author bios — escondido na demo (vai voltar quando autor real for cadastrado) */
.obj_article_details .item.author_bios {
  display: none;
}

/* METADATA — Publicado · Edição · Seção em pills inline horizontal */

.obj_article_details .entry_details {
  font-family: 'Roboto', sans-serif;
  display: flex !important;
  flex-wrap: wrap;
  gap: 0;
  justify-content: center;
  align-items: stretch;
  margin: 0 auto 40px !important;
  padding: 0;
  border: none;
}

.obj_article_details .entry_details .item {
  background: transparent !important;
  border: none !important;
  border-right: 1px solid var(--border) !important;
  padding: 8px 28px !important;
  margin: 0 !important;
  text-align: center;
  flex: 0 1 auto;
  border-radius: 0;
}

.obj_article_details .entry_details .item:last-child {
  border-right: none !important;
}

.obj_article_details .entry_details .item .label {
  font-family: 'Cinzel', 'Playfair Display', serif !important;
  color: var(--gold-dark) !important;
  font-size: 0.64rem !important;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  font-weight: 600;
  margin: 0 0 4px;
  padding: 0;
  border: none !important;
  display: block;
}

.obj_article_details .entry_details .item .value {
  font-family: 'Playfair Display', serif;
  font-size: 0.98rem;
  color: var(--ink);
  line-height: 1.4;
  font-weight: 500;
}

.obj_article_details .entry_details .item .value a {
  color: var(--ink);
  font-weight: 500;
  border-bottom: 1px dotted var(--gold);
}

.obj_article_details .entry_details .item .value a:hover {
  color: var(--gold-dark);
}

.obj_article_details .item.published .value {
  font-style: italic;
  font-size: 0.94rem;
}

/* Como Citar — bloco completo full-width abaixo da metadata bar */
.obj_article_details .item.citation {
  flex-basis: 100% !important;
  border: none !important;
  margin: 24px 0 0 !important;
  padding: 32px 0 0 !important;
  text-align: center;
  border-top: 1px solid var(--border) !important;
}

.obj_article_details .item.citation .label {
  margin: 0 0 18px !important;
  font-family: 'Cinzel', 'Playfair Display', serif !important;
  color: var(--gold-dark) !important;
  font-size: 0.72rem !important;
  letter-spacing: 4.5px;
  text-transform: uppercase;
  font-weight: 600;
  display: block;
  border: none !important;
}

.obj_article_details .item.citation .label::after {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: var(--gold);
  margin: 12px auto 0;
}

.obj_article_details .item.citation .sub_item.citation_display {
  font-family: 'Roboto', Georgia, serif;
  font-size: 0.92rem;
  line-height: 1.75;
  color: var(--ink);
  word-break: break-word;
  max-width: 640px;
  margin: 0 auto 18px;
  font-style: normal;
  text-align: left;
  background: var(--gray-50);
  padding: 20px 24px;
  border-left: 3px solid var(--gold);
  border-radius: 2px;
}

.obj_article_details .item.citation .sub_item.citation_display em {
  color: var(--ink);
  font-style: italic;
}

.obj_article_details .item.citation select {
  max-width: 280px;
  margin: 0 auto;
  display: block;
}

/* GALLEYS (PDF download buttons) ==================================== */

.obj_article_details .item.galleys,
.obj_article_details .galleys_links {
  margin: 24px 0 8px;
}

.obj_article_details .item.galleys .label,
.obj_article_details .galleys_links .label {
  font-family: 'Playfair Display', serif;
  color: var(--bordeaux);
  font-size: 0.82rem;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 10px;
  display: block;
}

.obj_galley_link,
.galley_link {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--bordeaux) 0%, var(--bordeaux-soft) 100%);
  color: var(--cream) !important;
  border: none !important;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  font-size: 0.78rem;
  padding: 12px 22px !important;
  border-radius: 2px;
  text-decoration: none !important;
  margin-right: 8px;
  margin-bottom: 8px;
  transition: transform .15s ease, box-shadow .15s ease;
  box-shadow: 0 3px 14px rgba(58,14,14,0.28);
}

.obj_galley_link:hover,
.galley_link:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(58,14,14,0.42);
  color: var(--cream) !important;
}

.obj_galley_link.pdf::before,
.galley_link.pdf::before {
  content: 'PDF';
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 1.5px;
  padding: 2px 6px;
  border: 1px solid var(--gold);
  border-radius: 2px;
}

/* BREADCRUMBS ======================================================= */

.pkp_breadcrumbs {
  font-family: 'Roboto', sans-serif !important;
  font-size: 0.82rem !important;
  color: var(--text-muted) !important;
  margin-bottom: 24px;
}

.pkp_breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.pkp_breadcrumbs li { list-style: none; }

.pkp_breadcrumbs a {
  color: var(--gold-dark) !important;
  border: none;
}

.pkp_breadcrumbs a:hover {
  color: var(--bordeaux) !important;
}

.pkp_breadcrumbs .separator {
  color: var(--text-muted);
  opacity: 0.5;
  margin: 0 4px;
}
