/* Hypostasis — overrides do tema Default para identidade COR Academia.
   Paleta bordô + acentos gold/cream.
   Fontes:
     - Playfair Display (display/headlines): 400, 500, 600 + ital 400/500
     - Fraunces (serifados específicos: tagline, descrições): 300 normal + 400 italic
     - Poppins (corpo/UI/botões): 300, 400, 500, 600, 700
*/

@import url("//fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..700;1,6..96,400..700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Fraunces:ital,opsz,wght@0,9..144,300;1,9..144,400&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);
  --gold-pale:      #F2E5BD;   /* alto contraste sobre bordô */

  --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:        #F7F5F1;   /* off-white neutro pra placeholders */

  --white:          #FFFFFF;
  --paper:          #FFFFFF;   /* branco puro — fim do amarelo */
  --paper-shade:    #F7F5F1;
  --border:         #E0DBD3;
  --border-soft:    #EDE8DD;

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

  /* Bordeaux — agora REAL bordeaux vermelho da IDV (sangue/wine) */
  --bordeaux:       #3A0D1A;   /* wine bordeaux puro */
  --bordeaux-soft:  #5D2230;
  --bordeaux-deep:  #2A070F;
  --bordeaux-ink:   #2A2018;   /* mantém pro corpo/texto */
  --bordeaux-rust:  #9D3A2A;   /* rust acent (sobre cream) */
  --burnt:          #8E6E33;
  --cream:          #F3EAD7;   /* cream do tema custom — mais quente que paper */

  /* Premium tokens — shadows com alpha baixo (3-5%), transitions cubic-bezier,
     escala de spacing 8/16/24/32/48/64, raios consistentes. */
  --shadow-premium:  0 4px 6px -1px rgba(42, 32, 24, 0.04), 0 10px 15px -3px rgba(42, 32, 24, 0.03);
  --shadow-float:    0 20px 25px -5px rgba(42, 32, 24, 0.08), 0 10px 10px -5px rgba(42, 32, 24, 0.03);
  --shadow-warm:     0 4px 18px rgba(184, 144, 78, 0.10);
  --transition:      0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  --radius-sm:       4px;
  --radius-md:       8px;
  --radius-lg:       12px;
  --space-1: 8px; --space-2: 16px; --space-3: 24px;
  --space-4: 32px; --space-5: 48px; --space-6: 64px;

  /* Mesh gradient muito sutil tonalizado em bordô (não gold) */
  --mesh-bg: radial-gradient(at 0% 0%, rgba(58, 13, 26, 0.025) 0%, transparent 50%),
             radial-gradient(at 100% 100%, rgba(58, 13, 26, 0.02) 0%, transparent 50%);
}

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

body, .pkp_structure_page {
  background-color: var(--paper) !important;
  background-image: var(--mesh-bg) !important;
  background-attachment: fixed !important;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: var(--text) !important;
  line-height: 1.7;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;   /* impede que o box-shadow full-bleed do hero crie scrollbar horizontal */
}

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.
   Removida Cinzel; Poppins com tracking generoso mantém a sensação caps elegante. */
.hyp-display {
  font-family: 'Poppins', 'Playfair Display', serif !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
}

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

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

/* Tira bordô como topo ABSOLUTO da página (envolve top bar + header juntos) */
.pkp_structure_page {
  border-top: 3px solid var(--bordeaux);
}

.pkp_structure_head::after {
  display: none;
}

/* Top bar REGISTRAR-SE / ACESSO — compacta */
.pkp_navigation_user_wrapper {
  padding: 8px 0 0 !important;
  margin-bottom: 0 !important;
}

.pkp_navigation_user {
  margin-right: 0 !important;
  padding-right: 8px;
  display: flex;
  gap: 8px;
  align-items: center;
}

.pkp_navigation_user > li {
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_navigation_user a {
  padding: 8px 14px !important;
  font-size: 0.68rem !important;
}

.pkp_head_wrapper {
  max-width: min(1500px, 94vw) !important;
  margin: 0 auto;
  padding: 12px 24px 8px !important;   /* H3 fix: era 0 24px sem !important — gap 66px residual */
  position: relative;
}

/* Wordmark + cobrand — gap compacto entre todos os elementos */
.pkp_site_name {
  padding: 4px 0 8px !important;
  height: auto;
  position: relative;
}

.pkp_site_name .hyp-cobrand {
  margin-bottom: 0.25rem !important;
  gap: 0.2rem !important;
}

.pkp_site_name .hyp-masthead-link {
  gap: 0.4rem !important;
}

.pkp_site_name > .hyp-cobrand {
  margin-bottom: 0.4rem !important;
  opacity: 1 !important;
}

/* 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;
  }

  /* Masthead (wordmark HYPOSTαSIS) e tagline: reduz size + tracking pra caber em 375-480 */
  .hyp-masthead {
    font-size: clamp(1.5rem, 7vw, 2rem) !important;
    letter-spacing: 0 !important;
  }
  .hyp-tagline {
    font-size: 0.62rem !important;
    letter-spacing: 0.14em !important;
    padding: 0 8px !important;
    max-width: 100%;
  }
  .hyp-masthead-link {
    gap: 0.5rem !important;
    width: 100%;
    padding: 0 12px;
  }
  .hyp-cobrand {
    margin-bottom: 0.6rem !important;
  }
  .hyp-cobrand__label {
    font-size: 0.62rem !important;
  }
  .hyp-cobrand__cor {
    font-size: 1.05rem !important;
  }
  .hyp-cobrand__academy {
    font-size: 0.62rem !important;
  }

  /* Top bar REGISTRAR-SE / ACESSO no mobile: full-width wrapper + center justify */
  .pkp_navigation_user_wrapper {
    padding: 6px 6px !important;
    margin-bottom: 4px !important;
    width: 100% !important;
    box-sizing: border-box;
  }
  .pkp_navigation_user {
    gap: 6px !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
    justify-content: center !important;
    flex-wrap: wrap;
    row-gap: 4px;
    width: 100%;
  }
  .pkp_navigation_user > li > a,
  .pkp_navigation_user a {
    font-size: 0.55rem !important;
    padding: 6px 8px !important;
    letter-spacing: 0.6px !important;
    margin-left: 0 !important;
    border-width: 1px !important;
  }
  .pkp_head_wrapper { padding: 10px 16px 6px !important; }
}

@media (max-width: 479px) {
  .pkp_site_name .is_text {
    width: 220px !important;
    height: 48px !important;
  }
  .hyp-masthead {
    font-size: 1.7rem !important;
    letter-spacing: 0 !important;
  }
  .hyp-tagline {
    font-size: 0.56rem !important;
    letter-spacing: 0.1em !important;
  }
  /* Top bar ainda mais compacto pra 375px */
  .pkp_navigation_user > li > a,
  .pkp_navigation_user a {
    padding: 5px 6px !important;
    font-size: 0.5rem !important;
    letter-spacing: 0.4px !important;
  }
}

/* Wordmark HYPOSTαSIS — logo PNG oficial (bordô sobre branco).
   Substitui a renderização por fonte pelo PNG da IDV. Texto do wordmark
   fica escondido mas acessível (screen readers).
   ⚠️ LESS base define background:none!important + background-size:0!important
       — usamos background shorthand pra vencer. */
/* Alta especificidade + !important — vence theme.css que carrega depois do overrides */
/* Container: PNG wordmark + tagline text below (o wordmark novo é só letra) */
body .pkp_site_name a.hyp-masthead-link,
html body .hyp-masthead-link {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: none !important;
  background-image: none !important;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 auto !important;
  gap: 6px !important;
  padding: 0 !important;
  color: inherit !important;
  text-indent: 0 !important;
  overflow: visible !important;
  font-size: inherit !important;
}
/* Esconde o span textual "HYPOSTASIS" (o PNG cobre isso) */
body .hyp-masthead-link .hyp-masthead,
html body .hyp-masthead {
  display: none !important;
}
/* Wordmark PNG bordô, altura fixa; largura auto pra manter proporção */
body .hyp-masthead-link::before,
html body .hyp-masthead-link::before {
  content: "";
  display: block;
  width: min(360px, 78vw);
  height: 68px;
  background: url('/public/journals/1/assets/hypostasis-wordmark-bordo.png') no-repeat center center / contain;
  flex: 0 0 auto;
}
/* Tagline "INTERNATIONAL JOURNAL..." visível abaixo do PNG */
body .hyp-masthead-link .hyp-tagline,
html body .hyp-tagline {
  display: block !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--bordo, #6b1620) !important;
  opacity: 0.78 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1.35 !important;
}

@media (max-width: 768px) {
  body .hyp-masthead-link::before,
  html body .hyp-masthead-link::before {
    width: min(280px, 82vw);
    height: 52px;
  }
  body .hyp-masthead-link .hyp-tagline,
  html body .hyp-tagline {
    font-size: 0.62rem !important;
    letter-spacing: 0.18em !important;
  }
}
@media (max-width: 479px) {
  body .hyp-masthead-link::before,
  html body .hyp-masthead-link::before {
    width: min(230px, 84vw);
    height: 44px;
  }
  body .hyp-masthead-link .hyp-tagline,
  html body .hyp-tagline {
    font-size: 0.58rem !important;
    letter-spacing: 0.14em !important;
  }
}
.hyp-tagline {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
}
.hyp-cobrand__label,
.hyp-cobrand__academy {
  font-family: 'Poppins', sans-serif !important;
}
.hyp-cobrand__cor {
  font-family: 'Playfair Display', Georgia, serif !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: none !important;
  border-bottom: none !important;
}

/* Apenas UMA linha discreta separando o header do conteúdo */
.pkp_site_nav_menu {
  border-bottom: 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: 12px 14px !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: color 0.18s ease, border-color 0.18s ease;
  position: relative;
}

.pkp_navigation_primary {
  padding: 4px 0 !important;
  margin: 0 !important;
}

.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: 24px 28px 32px !important;
  max-width: min(1500px, 94vw);
  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 ============================================================== */

/* Hero full-bleed bordô — JS no customHeaders ajusta margin negativa exata
   pra ocupar toda viewport (CSS puro falha porque parent é coluna de grid). */
.hyp-hero {
  position: relative;
  margin: 16px 0 0;
  padding-block: 28px 20px;
  padding-inline: max(32px, calc((100vw - 1400px) / 2));
  text-align: center;
  background: var(--bordeaux) !important;
  color: var(--cream);
  box-sizing: border-box;
}

/* Emblema oficial omitido enquanto não tiver versão SVG/PNG com fundo transparente. */
.hyp-hero__emblem { display: none; }

.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(--gold-pale) !important;
  margin-bottom: 12px;
  font-weight: 600;
}

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

.hyp-hero__greek {
  font-family: 'Bodoni Moda', 'Playfair Display', serif !important;
  font-optical-sizing: auto;
  font-variation-settings: 'opsz' 96;
  font-size: clamp(3.2rem, 8.5vw, 5.8rem);
  color: var(--cream) !important;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.005em;
  margin: 0 0 8px;
  line-height: 1;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.32);
}

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

.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: 'Fraunces', 'Playfair Display', serif !important;
  font-style: italic;
  font-weight: 400;
  font-size: 1.42rem;
  color: rgba(243, 234, 215, 0.92) !important;
  max-width: 700px;
  margin: 8px auto 18px;
  line-height: 1.5;
}

.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;
}

/* Botões DENTRO do .hyp-hero (que tem bg bordô) precisam contraste cream/gold */
.hyp-hero__cta .primary {
  background: var(--cream) !important;
  color: var(--bordeaux) !important;
  border: 1px solid var(--cream);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
}

.hyp-hero__cta .primary:hover {
  transform: translateY(-2px);
  background: var(--gold-pale) !important;
  color: var(--bordeaux-deep) !important;
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.32);
}

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

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

/* SECTION HEADERS / EDITORIAL — bloco bordô full-bleed.
   Box-shadow trick estende o bg até as bordas sem precisar de wrapper extra.
   Conectado diretamente ao .hyp-hero (sem gap entre eles). */

.hyp-section {
  position: relative;
  margin: 0;
  padding-block: 24px 24px;
  padding-inline: max(32px, calc((100vw - 1400px) / 2));
  text-align: center;
  background: var(--cream, #f3ead7) !important;
  color: var(--bordeaux) !important;
  box-sizing: border-box;
}

/* Divisor sutil no início da section (sobre fundo cream) */
.hyp-section::before {
  content: '';
  display: block;
  width: 48px;
  height: 1px;
  background: rgba(107, 22, 32, 0.35);
  margin: 0 auto 12px;
}

.hyp-section__eyebrow {
  display: block !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.72rem !important;
  letter-spacing: 4.5px !important;
  text-transform: uppercase !important;
  color: var(--gold-light) !important;
  margin-bottom: 12px !important;
  font-weight: 600 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

section.hyp-section h2,
.hyp-section h2,
.additional_content .hyp-section h2 {
  display: block !important;
  font-family: 'Bodoni Moda', 'Playfair Display', serif !important;
  font-size: 1.7rem !important;
  color: var(--bordeaux) !important;
  margin: 0 auto 10px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  letter-spacing: 0.01em !important;
  visibility: visible !important;
  opacity: 1 !important;
  text-align: center !important;
  max-width: 720px;
  height: auto !important;
  clip: auto !important;
  position: static !important;
  width: auto !important;
}

.hyp-section p {
  font-family: 'Fraunces', 'Playfair Display', serif !important;
  font-weight: 400;
  font-size: 1.02rem;
  line-height: 1.7;
  color: rgba(58, 20, 25, 0.86) !important;
  max-width: 720px;
  margin: 0 auto;
}

.hyp-section em,
.hyp-section strong {
  color: var(--bordeaux) !important;
  font-style: italic;
}

@media (max-width: 768px) {
  .hyp-section {
    padding-block: 18px 18px !important;
  }
  .hyp-section h2 {
    font-size: 1.35rem !important;
  }
}

/* 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(-2px);
  box-shadow: 0 12px 30px rgba(58, 14, 14, 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: 'Poppins', sans-serif;
  font-size: 0.92rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin: 0;
}

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

/* Anula o sticky com max-height do LESS que faz a sidebar terminar antes do main */
.pkp_structure_sidebar {
  padding: 0 0 0 16px;
  position: static !important;
  top: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Grid sidebar — baixa o breakpoint pra 900px (laptops pequenos viam tudo empilhado).
   Sobrescreve o @bp-lg=1024px do LESS. */
@media (min-width: 900px) {
  .pkp_structure_content.has_sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 300px !important;
    gap: 40px !important;
    align-items: start !important;
    padding-bottom: 0 !important;
  }
}

@media (min-width: 1200px) {
  .pkp_structure_content.has_sidebar {
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 56px !important;
  }
}

.pkp_structure_content.has_sidebar > .pkp_structure_main {
  padding-bottom: 32px;
  min-width: 0;
}

/* Viewport <900px: sidebar empilha embaixo em GRID de 2 colunas pra não ficar lista única longa */
@media (max-width: 899px) {
  .pkp_structure_sidebar {
    padding: 0 !important;
    margin-top: 32px;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px !important;
  }
  .pkp_structure_sidebar .pkp_block.block_make_submission {
    grid-column: 1 / -1;   /* CTA Enviar Artigo full-width */
  }
}

@media (max-width: 599px) {
  .pkp_structure_sidebar {
    grid-template-columns: 1fr !important;
  }
}

.pkp_block .title,
.pkp_block h2 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
  letter-spacing: 2.4px !important;
  color: var(--gold-dark) !important;
  border-bottom: 1px solid var(--border);
  padding-bottom: 12px;
  margin-bottom: 16px;
  margin-top: 0;
  font-weight: 600 !important;
}

.hyp-block {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 24px 24px;
  margin-bottom: 24px;
  box-shadow: var(--shadow-premium);
  transition: box-shadow var(--transition);
}

.hyp-block:hover {
  box-shadow: var(--shadow-float);
}

.hyp-block__title {
  font-family: 'Poppins', sans-serif;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 2.4px;
  color: var(--gold-dark);
  border-bottom: 1px solid var(--border);
  padding-bottom: 12px;
  margin: 0 0 16px;
  font-weight: 600;
}

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

.hyp-mostread__item {
  display: block !important;       /* vence mixin de inline-flex residual */
  position: relative;
  padding: 12px 0 12px 24px;
  border-bottom: 1px solid var(--border-soft);
  text-decoration: none;
  transition: color var(--transition);
}

.hyp-mostread__title { display: block; }
.hyp-mostread__meta  { display: block; }

.hyp-mostread__item:hover .hyp-mostread__title {
  color: var(--gold-dark);
}

.hyp-mostread__item:first-child { padding-top: 0; }
.hyp-mostread__item:last-child { padding-bottom: 0; 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: min(1500px, 94vw);
  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: min(1500px, 94vw);
  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(--bordeaux);
  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: 4px solid var(--bordeaux);
  border-radius: var(--radius-sm);
  padding: 26px 28px;
  box-shadow: var(--shadow-premium);
  transition: transform var(--transition), box-shadow var(--transition), border-left-color var(--transition);
  text-decoration: none;
  color: inherit;
  display: block;
}

.hyp-article:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(58, 14, 14, 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: 'Poppins', 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" — agora oculto pois o eyebrow "EDIÇÃO ATUAL" já está dentro do card bordô */
.page_index_journal .cmp_homepage_current_issue,
.page_index_journal h2:first-of-type,
.page_index_journal > h2 {
  display: none !important;
}

/* "v.1 n.1 (2026): Inauguração" — issue title dentro do card bordô.
   Cor antes: var(--gold-dark) #8E6E33 sobre bordô #2A2018 = 2.3:1 (FAIL).
   Agora: var(--gold-pale) #F2E5BD = 9.8:1 (AAA). */
.page_index_journal .pkp_structure_main h3,
.page_index_journal .pkp_structure_main h4 {
  font-family: 'Playfair Display', serif !important;
  color: var(--gold-pale) !important;
  font-size: 1.1rem !important;
  font-weight: 500 !important;
  font-style: italic;
  text-align: center;
  margin: 0 0 24px !important;
  letter-spacing: 0.02em;
}

/* Descrição do número — Fraunces para o texto literário introdutório */
.page_index_journal .pkp_structure_main > p,
.page_index_journal .description {
  font-family: 'Fraunces', 'Playfair Display', serif !important;
  font-weight: 300;
  font-size: 1.08rem;
  line-height: 1.75;
  color: var(--text-muted);
  text-align: center;
  max-width: 640px;
  margin: 0 auto 32px !important;
}

/* "Publicado: 2026-05-21" — meta line discreta entre Sobre e Sumário */
.page_index_journal .pkp_structure_main > p:has(strong) {
  font-family: 'Poppins', sans-serif;
  font-size: 0.68rem;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--gold-dark);
  font-weight: 500;
  margin: 0 auto 40px !important;
  opacity: 0.85;
}

/* 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: 'Poppins', sans-serif !important;
  font-size: 0.72rem !important;
  text-transform: uppercase;
  letter-spacing: 3px;
  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: 4px solid var(--bordeaux) !important;
  border-radius: var(--radius-sm);
  padding: 28px 32px !important;
  margin-bottom: 20px;
  box-shadow: var(--shadow-premium);
  transition: transform var(--transition), box-shadow var(--transition), border-left-color var(--transition);
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "title  title"
    "meta   pdf";
  column-gap: 28px;
  row-gap: 16px;
  align-items: center;
  box-sizing: border-box;
}

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

/* .meta agora é flex linear: autor · pages lado a lado, alinhados */
.obj_article_summary > .meta {
  grid-area: meta;
  display: flex !important;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.obj_article_summary > .meta > .authors {
  margin: 0;
}

.obj_article_summary > .meta > .pages {
  margin: 0;
  flex: none;
}

.obj_article_summary > .galleys_links {
  grid-area: pdf;
  align-self: center;
  justify-self: end;
  margin: 0 !important;
  display: flex !important;
  flex-direction: row;
  gap: 16px;
  padding: 0 !important;
}

.obj_article_summary:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-float);
  border-left-color: var(--bordeaux-rust) !important;
}

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

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

.obj_article_summary .title a:hover,
.obj_article_summary h3.title a:hover {
  color: var(--bordeaux-rust) !important;
}

/* Autor: caps Poppins bordô, separador "·" antes do badge de páginas via flex gap */
.obj_article_summary .meta .authors,
.obj_article_summary > .meta > .authors {
  font-family: 'Poppins', sans-serif !important;
  font-style: normal !important;
  color: var(--bordeaux) !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.8px !important;
  line-height: 1;
}

/* Badge de páginas: pill bordô suave, "p. X-Y" */
.obj_article_summary .meta .pages,
.obj_article_summary > .meta > .pages {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.7rem !important;
  color: var(--bordeaux) !important;
  padding: 4px 11px !important;
  background: rgba(58, 13, 26, 0.06) !important;
  border: 1px solid rgba(58, 13, 26, 0.18) !important;
  border-radius: 999px !important;   /* pill */
  letter-spacing: 0.6px !important;
  font-weight: 600 !important;
  display: inline-block;
  white-space: nowrap;
  line-height: 1.4;
}

.obj_article_summary .meta .pages::before,
.obj_article_summary > .meta > .pages::before {
  content: 'pp. ';
  opacity: 0.55;
  font-weight: 500;
}

/* 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: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-size: 0.7rem;
  color: var(--cream) !important;
  background: var(--bordeaux) !important;
  border: 1px solid var(--bordeaux);
  padding: 7px 16px !important;
  border-radius: var(--radius-sm);
  text-decoration: none !important;
  transition: background var(--transition), color var(--transition), transform var(--transition);
}

.obj_article_summary .galleys_links a.obj_galley_link:hover {
  background: var(--bordeaux-deep) !important;
  color: var(--gold-pale) !important;
  border-color: var(--bordeaux-deep);
  transform: translateY(-1px);
}

/* Faixa intermediária 721-991px: preserva grid 2-col mas ancora PDFs no topo do meta */
@media (min-width: 721px) and (max-width: 991px) {
  .obj_article_summary {
    align-items: start !important;
  }
  .obj_article_summary > .galleys_links {
    align-self: start !important;
    padding-top: 2px;
  }
  .obj_article_summary > .meta {
    min-width: 0;
  }
  .obj_article_summary > .meta > .authors,
  .obj_article_summary > .meta > .authors {
    letter-spacing: 1.0px !important;
    font-size: 0.7rem !important;
  }
}

@media (max-width: 720px) {
  .obj_article_summary {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "title"
      "meta"
      "pdf" !important;
    row-gap: 14px !important;
    padding: 22px 22px !important;
    margin-bottom: 20px !important;
  }
  .obj_article_summary + .obj_article_summary {
    margin-top: 0 !important;
  }
  .obj_article_summary > .title,
  .obj_article_summary > h4.title {
    grid-area: title !important;
    align-self: start !important;
  }
  .obj_article_summary > .meta {
    grid-area: meta !important;
    justify-self: start !important;
    flex-wrap: wrap;
    gap: 14px !important;
  }
  .obj_article_summary > .galleys_links {
    grid-area: pdf !important;
    justify-self: start !important;
    flex-direction: row !important;
    gap: 10px !important;
  }
  .sections .section + .section {
    margin-top: 24px !important;
  }
}

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

.obj_issue_summary,
.obj_announcement_summary {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-left: 4px solid var(--bordeaux) !important;
  border-radius: var(--radius-sm);
  padding: 22px 26px;
  margin-bottom: 16px;
  box-shadow: var(--shadow-premium);
  transition: transform var(--transition), box-shadow var(--transition);
}

/* Botão "Ver Todas as Edições →" — outline bordô limpo */
.read_more,
.current_issue .read_more,
.homepage_about .read_more {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 12px 28px !important;
  border: 1.5px solid var(--bordeaux) !important;
  background: transparent !important;
  color: var(--bordeaux) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase;
  border-radius: var(--radius-sm) !important;
  text-decoration: none !important;
  background-image: none !important;
  transition: background var(--transition), color var(--transition);
}
.read_more:hover {
  background: var(--bordeaux) !important;
  color: var(--cream) !important;
}

.obj_issue_summary:hover,
.obj_announcement_summary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(58, 14, 14, 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 ================================================== */

/* Não sobrescreve o submission block (que tem cor wine + outline cream do tema).
   Para os demais blocks da sidebar, aplica fundo branco com shadow premium. */
.pkp_block:not(.block_make_submission) {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm);
  padding: 22px 22px;
  margin-bottom: 22px;
  box-shadow: var(--shadow-premium);
}

.pkp_block:not(.block_make_submission) .title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
  letter-spacing: 2.4px !important;
  color: var(--gold-dark) !important;
  border-bottom: 1px solid var(--border);
  padding-bottom: 12px;
  margin-bottom: 14px;
  font-weight: 600 !important;
}

/* "Enviar Submissão" CTA: sólido bordô + cream — máximo contraste */
.pkp_block.block_make_submission {
  background: var(--bordeaux) !important;
  border: 1px solid var(--bordeaux) !important;
  border-radius: var(--radius-sm);
  padding: 22px !important;
  margin-bottom: 22px;
  box-shadow: var(--shadow-premium);
}
.pkp_block.block_make_submission .content { color: var(--cream); }
.pkp_block.block_make_submission a.block_make_submission_link {
  display: inline-block;
  width: 100%;
  padding: 12px 18px !important;
  background: transparent !important;
  border: 1.5px solid var(--gold-pale) !important;
  color: var(--gold-pale) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  border-radius: var(--radius-sm) !important;
  text-decoration: none !important;
  transition: background var(--transition), color var(--transition);
}
.pkp_block.block_make_submission a.block_make_submission_link:hover,
.pkp_block.block_make_submission a.block_make_submission_link:focus-visible {
  background: var(--gold-pale) !important;
  color: var(--bordeaux) !important;
}

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

.btn, .pkp_button, button.pkp_button,
input[type="submit"], a.pkp_button,
.cmp_action_button, .cmp_button {
  background: var(--bordeaux) !important;
  color: var(--cream) !important;
  border: 1px solid var(--bordeaux) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-size: 0.78rem !important;
  padding: 12px 28px !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 4px 14px rgba(58, 13, 26, 0.18);
  transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
  text-decoration: none !important;
}

.btn:hover, .pkp_button:hover, a.pkp_button:hover {
  transform: translateY(-1px);
  background: var(--bordeaux-deep) !important;
  box-shadow: 0 8px 24px rgba(58, 13, 26, 0.32);
  color: var(--gold-pale) !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(--bordeaux-deep) !important;
  color: var(--cream) !important;
  border-top: 3px solid var(--bordeaux);
  padding: 32px 0 16px;
  font-family: 'Poppins', sans-serif;
}

.pkp_structure_footer a {
  color: var(--cream) !important;
  text-decoration: none;
  transition: color var(--transition);
  background-image: none !important;
}

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

/* 3 colunas: branding/sobre/navegar */
.pkp_footer_content,
.pkp_brand_footer {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 40px;
  max-width: min(1500px, 94vw);
  margin: 0 auto;
  padding: 0 24px 20px;
  align-items: start;
}

@media (max-width: 768px) {
  .pkp_footer_content,
  .pkp_brand_footer {
    grid-template-columns: 1fr;
    gap: 24px;
    text-align: center;
    padding-bottom: 12px;
  }
}

/* Coluna branding (Hypostasis wordmark + tagline + prose) */
/* Wordmark do rodapé: PNG cinza convertido a branco puro via filter
   brightness(0) invert(1) — silhueta em cream/branco sobre fundo bordô */
.pkp_brand_footer .brand {
  display: block !important;
  background: url('/public/journals/1/assets/hypostasis-wordmark-cinza.png') no-repeat left center / contain !important;
  width: 240px !important;
  height: 44px !important;
  margin: 0 0 8px !important;
  overflow: hidden !important;
  text-indent: -9999px !important;
  color: transparent !important;
  font-size: 0 !important;
  filter: brightness(0) invert(1) !important;
}
.pkp_brand_footer .brand .alpha { display: none !important; }
@media (max-width: 768px) {
  .pkp_brand_footer .brand {
    width: 200px !important;
    height: 38px !important;
    margin: 0 auto 8px !important;
    background-position: center center !important;
  }
}
.pkp_brand_footer .tagline {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase;
  color: var(--gold-pale) !important;
  margin: 0 0 10px !important;
  line-height: 1.4;
}

/* Colunas Sobre / Navegar — heading + lista */
.pkp_brand_footer h4 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase;
  color: var(--gold-pale) !important;
  margin: 0 0 10px !important;
  font-weight: 600;
}
.pkp_brand_footer ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.pkp_brand_footer ul li {
  margin: 0 0 4px !important;
  padding: 0 !important;
}
.pkp_brand_footer ul li a {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.92rem !important;
  color: rgba(243, 234, 215, 0.85) !important;
}

/* Texto institucional dentro do footer (e-ISSN, DOI, licença CC) */
.hyp-footer-prose,
.hyp-footer-prose * {
  color: rgba(243, 234, 215, 0.82) !important;
  font-family: 'Poppins', sans-serif !important;
}
.hyp-footer-prose strong { color: var(--cream) !important; }
.hyp-footer-prose a {
  color: var(--gold-pale) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

/* COR Academy cobrand no footer */
.hyp-footer-cobrand {
  max-width: min(1500px, 94vw);
  margin: 16px auto 0;
  padding: 14px 24px 0;
  border-top: 1px solid rgba(243, 234, 215, 0.14);
  text-align: center;
}
.hyp-footer-cobrand .hyp-cobrand__label {
  color: rgba(243, 234, 215, 0.6) !important;
  font-family: 'Poppins', sans-serif;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-style: italic;
  display: block;
  margin-bottom: 6px;
}
.hyp-footer-cobrand .hyp-cobrand__cor {
  color: var(--cream) !important;
  font-family: 'Playfair Display', serif;
  font-size: 1.35rem;
  letter-spacing: 0.08em;
  font-weight: 600;
}
.hyp-footer-cobrand .hyp-cobrand__rule {
  background: rgba(243, 234, 215, 0.4) !important;
  height: 1.4rem;
}
.hyp-footer-cobrand .hyp-cobrand__academy {
  color: rgba(243, 234, 215, 0.78) !important;
  font-family: 'Poppins', sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* Linha PKP/OJS no bottom */
.pkp_brand_footer_made_with {
  max-width: min(1500px, 94vw);
  margin: 10px auto 0;
  padding: 8px 24px 0;
  text-align: center;
  font-size: 0.7rem;
}
.pkp_brand_footer_made_with a {
  color: rgba(243, 234, 215, 0.5) !important;
  text-decoration: none !important;
}
.pkp_brand_footer_made_with a:hover {
  color: var(--gold-pale) !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: 'Poppins', 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: 'Poppins', 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: 'Poppins', 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: 'Poppins', 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: 'Poppins', sans-serif;
  font-size: 0.86rem;
}

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

.cmp_form .description {
  font-family: 'Poppins', 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: 20px 0 8px;
}

.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: 'Poppins', sans-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: 'Poppins', 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: 'Poppins', 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: 'Poppins', sans-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: 'Fraunces', 'Playfair Display', Georgia, serif !important;
  font-weight: 300;
  font-size: 1.12rem;
  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-family: 'Fraunces', 'Playfair Display', serif !important;
  font-style: italic;
  color: var(--ink);
  font-weight: 400;
}

/* 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: 'Poppins', 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: 'Poppins', sans-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: 'Poppins', sans-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: 'Poppins', 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: 'Poppins', 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;
}


/* ============================================================
   ÍCONES SVG (Lucide style) — não emojis
   Inline data-URIs. Cor herdada via mask-image.
   ============================================================ */

/* Mixin base: ícone à esquerda do texto.
   :not(.hyp-mostread__item) é crucial — esse anchor empilha title acima de meta. */
.hyp-icon-link,
.pkp_brand_footer ul li a,
.pkp_block ul li a:not(.hyp-mostread__item) {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}

/* Mascara SVG → cor cream/gold no footer (currentColor herda) */
.pkp_brand_footer ul li a::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow);
  mask-image: var(--icon-arrow);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  opacity: 0.7;
  transition: transform var(--transition), opacity var(--transition);
  --icon-arrow: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
}

.pkp_brand_footer ul li a:hover::before {
  transform: translateX(3px);
  opacity: 1;
}

/* Ícone info-circle SOMENTE na coluna "Sobre" (2º <div> do footer).
   Antes: aplicava ao primeiro item de qualquer ul → quebrava semântica em "Navegar". */
.pkp_brand_footer > div:nth-of-type(2) ul li:nth-child(1) a::before {
  --icon-arrow: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");
}

/* Mais Lidos — sem ícone livro absoluto (caia em cima do texto).
   Em vez de ::before absolute, uso uma tira lateral bordô discreta (border-left)
   que é robusta independente da altura do título. */
.hyp-mostread__item {
  border-left: 2px solid transparent !important;
  padding-left: 14px !important;
  transition: border-left-color var(--transition), color var(--transition);
}
.hyp-mostread__item:hover {
  border-left-color: var(--bordeaux) !important;
}
.hyp-mostread__item::before { content: none !important; }

/* Templates (DOCX/LaTeX) — ícone documento */
/* Mostrar título do bloco custom (Mais Lidos / Templates) como eyebrow elegante */
#customblock-mais-lidos::before,
#customblock-templates::before {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-dark);
  font-weight: 600;
  border-bottom: 1px solid var(--border);
  padding-bottom: 10px;
  margin-bottom: 12px;
}
#customblock-mais-lidos::before { content: "Mais Lidos"; }
#customblock-templates::before { content: "Templates"; }

#customblock-templates .hyp-mostread__item::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E");
}

/* PDF galley nos cards: ícone download */
.obj_article_summary .galleys_links a.obj_galley_link::before {
  content: '';
  display: inline-block;
  width: 13px;
  height: 13px;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' x2='12' y1='15' y2='3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' x2='12' y1='15' y2='3'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  margin-right: 2px;
}
/* ============================================================
   v=53 — FIXES PÁGINAS INTERNAS (auditoria multi-agente)
   28 findings confirmados aplicados de uma vez.
   ============================================================ */


/* 1. [HIGH] issue-card-2col-layout-broken (Edições anteriores) */
/* ============================================================
   FIX: Layout linear no card de edição (.obj_issue_summary)
   Default OJS empilha title à esquerda e description à direita
   (media-object Bootstrap). Forçar coluna vertical: title em cima,
   description abaixo, full-width. Padding já vem do rule existente
   no line 1403, então NÃO duplicar aqui.
   ============================================================ */
.obj_issue_summary {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.obj_issue_summary .heading,
.obj_issue_summary > a,
.obj_issue_summary .series,
.obj_issue_summary .title {
  display: block !important;
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.obj_issue_summary .description {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin-top: 8px !important;
  clear: both !important;
}

.obj_issue_summary .description p {
  font-family: 'Fraunces', 'Playfair Display', serif !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  color: var(--text) !important;
  margin: 0 !important;
}

/* 2. [HIGH] h2-no-hierarchy (Submissão) */
.pkp_structure_main h2:not(.pkp_block_title):not(.title):not(.label):not(.pkp_screen_reader) {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: var(--bordeaux) !important;
  margin: 20px 0 8px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--border) !important;
  line-height: 1.3;
}
.pkp_structure_main h2:not(.pkp_block_title):not(.title):not(.label):not(.pkp_screen_reader):first-of-type {
  margin-top: 16px !important;
}
/* Hyp-section já tem styling próprio (linha 646) — não sobrescrever */
.pkp_structure_main .hyp-section h2 {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* 3. [HIGH] h3-inline-bold-only (Submissão) */
/* Subsection headers (FORMATO/TEMPLATES/REVISÃO em Submissão, MISSÃO/FOCO/etc. em Sobre) — escopa a .page_about pra evitar colidir com .sections .section > h3 do issue view */
.page_about .pkp_structure_main h3 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: var(--gold-dark) !important;
  margin: 16px 0 6px !important;
  padding: 0 !important;
  border: none !important;
  display: flex;
  align-items: center;
  gap: 12px;
}
.page_about .pkp_structure_main h3::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 1px;
  background: var(--gold);
  flex: none;
}

/* 4. [HIGH] about-h1-too-large (Sobre a Revista (https://hypostasisjournal.org/hypostasis/ab) */
/* Sobre a Revista — h1 reduzido para o alvo do usuário (2rem / 32px).
   Escopo restrito a .page_about para não impactar outras páginas. */
.page_about > h1 {
  font-size: 2rem !important;
  line-height: 1.2 !important;
  margin: 4px 0 16px !important;
}

/* 5. [HIGH] EDIT-01 (Corpo Editorial) */
.page_editorial_team > h1 {
  font-size: clamp(1.9rem, 2.6vw, 2.15rem) !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic;
  font-weight: 600;
  color: var(--bordeaux) !important;
  line-height: 1.2;
  margin: 12px 0 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
  position: relative;
}
.page_editorial_team > h1::after {
  content: '';
  display: block;
  width: 48px;
  height: 2px;
  background: var(--gold);
  position: absolute;
  bottom: -1px;
  left: 0;
}

/* 6. [HIGH] h1-size-oversized (Contato) */
/* H1 de páginas internas (Contato, Sobre, estáticas) — usuário pediu ~2rem.
   Regra global em linha 83 não define font-size, então caía no fallback grande do UA/LESS.
   Escopado para .pkp_structure_main h1 mas NÃO afeta .obj_article_details .page_title
   (que tem especificidade maior 0,2,0 vs 0,1,1 e mantém seus 2.6rem próprios). */
.pkp_structure_main h1,
.obj_static_page h1,
.pkp_page_content h1 {
  font-size: 2rem !important;
  line-height: 1.2 !important;
  margin: 4px 0 14px !important;
  letter-spacing: -0.01em;
}

/* Ornamento gold sutil sob o título — coerente com .obj_article_details .page_title::after */
.pkp_structure_main h1::after,
.obj_static_page h1::after,
.pkp_page_content h1::after {
  content: '';
  display: block;
  width: 48px;
  height: 1px;
  background: var(--gold);
  margin: 14px 0 0;
}

/* Reabilita override do login/register (linha 1905-1914) que ficou perdido com !important acima */
.page_login h1,
.page_register h1,
.page_lost_password h1 {
  font-size: 2.1rem !important;
  text-align: center;
  margin: 20px 0 8px !important;
}

/* 7. [HIGH] h2-h3-no-styles (Contato) */
/* H2/H3 dentro de páginas estáticas (Contato, Sobre, etc.) — base rule da linha 83 só seta family/cor, sem font-size nem margin, então herda defaults do browser e cola no corpo */
.pkp_structure_main h2,
.pkp_structure_main h3 {
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.3;
  margin: 18px 0 8px;
}
.pkp_structure_main h3 {
  font-size: 1.1rem;
  color: var(--ink) !important;
  margin: 24px 0 10px;
}
/* primeiro heading depois do H1 não precisa de margin-top exagerado */
.pkp_structure_main > h1 + h2,
.pkp_structure_main > h1 + h3 {
  margin-top: 20px;
}

/* 8. [HIGH] h1-too-large (Privacidade) */
/* H1 das páginas internas estáticas (About e suas sub-páginas).
   .page_about é body class em TODAS as sub-páginas (privacy, submissions,
   editorialTeam, contact) — uma única regra basta. Herda font-family/color/
   font-weight/letter-spacing da regra global de h1 (linha 83). */
.page_about .pkp_structure_main > h1 {
  font-size: 2rem;
  line-height: 1.25;
  margin: 4px 0 14px;
}

@media (max-width: 768px) {
  .page_about .pkp_structure_main > h1 {
    font-size: 1.6rem;
  }
}

/* 9. [HIGH] empty-space-below-content (Privacidade) */
/* Fix: páginas institucionais curtas (about/privacy/contact/submissions) têm main muito menor
   que a sidebar (~800px), causando vazio enorme no desktop ≥1200px.
   Solução minimamente invasiva: estica o main pra acompanhar a sidebar via grid stretch,
   só nessas páginas estáticas. Não toca em páginas longas (artigo, edição, busca). */
@media (min-width: 900px) {
  .page_about .pkp_structure_content.has_sidebar,
  .page_about_privacy .pkp_structure_content.has_sidebar,
  .page_about_submissions .pkp_structure_content.has_sidebar,
  .page_about_contact .pkp_structure_content.has_sidebar,
  .page_about_editorialTeam .pkp_structure_content.has_sidebar {
    align-items: stretch !important;
  }
  .page_about .pkp_structure_content.has_sidebar > .pkp_structure_main,
  .page_about_privacy .pkp_structure_content.has_sidebar > .pkp_structure_main,
  .page_about_submissions .pkp_structure_content.has_sidebar > .pkp_structure_main,
  .page_about_contact .pkp_structure_content.has_sidebar > .pkp_structure_main,
  .page_about_editorialTeam .pkp_structure_content.has_sidebar > .pkp_structure_main {
    padding-bottom: 48px;
  }
}
/* Notas:
   - Não usa min-height: 70vh (arbitrário, pode estourar em telas pequenas/grandes).
   - Não esconde a sidebar (mantém Idioma/Navegar úteis e consistência visual).
   - align-items: stretch é o default do grid; aqui sobrescreve o `align-items: start`
     da linha 752 só pra essas páginas. Texto continua no topo (block flow natural). */

/* 10. [HIGH] issue-description-not-styled (Issue Vol 1 N 1) */
/* Descrição do número (page_issue) — Fraunces, left-aligned (TOC style) */
.page_issue .description,
.obj_issue_toc .description {
  font-family: 'Fraunces', 'Playfair Display', serif !important;
  font-weight: 300;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--text-muted);
  max-width: 720px;
  margin: 0 0 28px !important;
  text-align: left;
}

.page_issue .description strong,
.page_issue .description b,
.obj_issue_toc .description strong,
.obj_issue_toc .description b {
  color: var(--bordeaux);
  font-weight: 600;
}

/* 11. [HIGH] h1-page-title-too-large (Artigo individual) */
.obj_article_details .page_title {
  font-family: 'Playfair Display', serif !important;
  color: var(--ink) !important;
  font-size: 2rem !important;
  line-height: 1.22 !important;
  font-weight: 700 !important;
  margin: 24px 0 28px;
  padding: 0;
  border-bottom: none !important;
  text-align: center;
}

@media (max-width: 768px) {
  .obj_article_details .page_title {
    font-size: 1.6rem !important;
    line-height: 1.25 !important;
    margin: 18px 0 22px;
  }
}

/* 12. [MEDIUM] issue-card-h2-color-low-contrast (Edições anteriores) */
/* SKIPPED — no CSS to apply: Problema confirmado: o LESS de origem (`plugins-theme/hypostasis/styles/index.less:2156`) estiliza ` */

/* 13. [MEDIUM] section-spacing-loose (Submissão) */
/* ---------- Páginas internas (about/submissions/privacy/contact) ----------
   Normaliza ritmo vertical de h2s no main content quando NÃO estão dentro
   de contextos já estilizados (.hyp-section, .sections .section, .pkp_block,
   .obj_article_details). Evita regressão em abstract de artigo e em headers
   de seção da homepage. */

.pkp_structure_main > h2,
.pkp_structure_main > .page > h2,
.pkp_structure_main > .additional_content > h2 {
  margin-top: 40px !important;
  margin-bottom: 14px !important;
  font-size: 1.6rem;
}

.pkp_structure_main > h2:first-child,
.pkp_structure_main > .page > h2:first-child,
.pkp_structure_main > .additional_content > h2:first-child {
  margin-top: 0 !important;
}

.pkp_structure_main > h2 + p,
.pkp_structure_main > h2 + ul,
.pkp_structure_main > h2 + ol,
.pkp_structure_main > .page > h2 + p,
.pkp_structure_main > .page > h2 + ul,
.pkp_structure_main > .additional_content > h2 + p,
.pkp_structure_main > .additional_content > h2 + ul {
  margin-top: 8px !important;
}

/* Parágrafos das páginas de conteúdo (sobre/submissões/privacidade) — escopo
   restrito ao filho direto pra não tocar em .obj_article_details, .entry_details,
   abstract, citation etc. */
.pkp_structure_main > p,
.pkp_structure_main > .page > p,
.pkp_structure_main > .additional_content > p {
  margin: 0 0 1em !important;
  line-height: 1.7 !important;
}

.pkp_structure_main > p:last-child,
.pkp_structure_main > .page > p:last-child,
.pkp_structure_main > .additional_content > p:last-child {
  margin-bottom: 0 !important;
}

/* 14. [MEDIUM] about-h3-font-family-overridden (Sobre a Revista (https://hypostasisjournal.org/hypostasis/ab) */
/* About page h3 — restaura o eyebrow tipográfico que o LESS desenhou
   (sobrescrito pela regra genérica h1..h6 -> Playfair bordô na linha 83). */
.page_about h3 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.72rem !important;        /* caps eyebrow — alinha c/ .hyp-section__eyebrow e .sections .section>h3 */
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--gold-dark) !important;   /* hierarquia: bordô = h2, gold-dark = h3 */
  margin: 16px 0 6px !important;
  border: none !important;
  line-height: 1.4 !important;
}
.page_about h3:first-of-type { margin-top: 36px !important; }

/* 15. [MEDIUM] h1-no-ornament (Privacidade) */
/* Ornamento gold sob h1 das páginas Sobre/About — consistência com section headings */
[class*="page_about"] .pkp_structure_main > h1::after {
  content: '';
  display: block;
  width: 48px;
  height: 1px;
  background: var(--gold);
  margin: 14px 0 0;
}

/* 16. [MEDIUM] content-max-width-missing (Privacidade) */
/* Limita measure do corpo de texto em páginas estáticas "Sobre" (about, contact,
   editorialTeam, submissions, privacy). OJS body class é `pkp_page_about` —
   NÃO `.page_about_privacy` (esse selector não existe no markup). 68ch ~ 65-70 CPL,
   dentro do range ótimo de leitura. Mantém wrapper amplo (.pkp_structure_main
   continua min(1500px, 94vw)) — só restringe o measure dos blocos textuais diretos.
   Headings, blockquotes e tabelas ficam livres. */
.pkp_page_about .pkp_structure_main > p,
.pkp_page_about .pkp_structure_main > ul,
.pkp_page_about .pkp_structure_main > ol,
.pkp_page_about .pkp_structure_main > dl {
  max-width: 68ch;
}

/* 17. [MEDIUM] issue-published-meta-unstyled (Issue Vol 1 N 1) */
/* Estender regra do homepage (linha 1107) para cobrir também a página do issue.
   O markup OJS para o issue/view usa a mesma estrutura `<p><strong>Publicado:</strong> ...</p>`
   dentro de .pkp_structure_main, mas sem o body class .page_index_journal. */
.page_index_journal .pkp_structure_main > p:has(strong),
.pkp_structure_main > p:has(> strong:first-child) {
  font-family: 'Poppins', sans-serif;
  font-size: 0.68rem;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--gold-dark);
  font-weight: 500;
  margin: 0 auto 40px !important;
  opacity: 0.85;
  text-align: center;
}

/* Nota: removi border-bottom proposto no fix original — adicionaria um divisor
   visual extra que não existe no homepage (consistência > decoração). Mantive
   o seletor mais conservador (sem :only-child e sem listar .page_issue/.obj_issue_toc
   separadamente, já que `> strong:first-child` em .pkp_structure_main é específico
   o bastante e não casa com outros <p> da página). */

/* 18. [MEDIUM] issue-main-padding-top-too-large (Issue Vol 1 N 1) */
/* Reduzir padding-top em páginas internas (homepage já tem override em .page_index_journal .pkp_structure_main, linha 1067, então não afeta home).
   Desktop: 40px -> 32px (economia de 8px de scroll, mudança cosmética segura).
   Mobile <=720px: lateral 28px -> 16px (em viewport 360px, ganha ~24px de largura útil de conteúdo, dado que max-width: min(1500px,94vw) ja limita a width). */
.pkp_structure_main {
  padding: 32px 28px 48px !important;
}

@media (max-width: 720px) {
  .pkp_structure_main {
    padding: 20px 16px 32px !important;
  }
}

/* NOTA: severidade "medium" é exagerada — o proprio finding admite "Aceitavel".
   O fix é seguro porque:
   1. Homepage (.page_index_journal) tem padding-top: 24px override em outra regra (linha 1067), entao continua intacta.
   2. Reducao de 40->32 e cosmetica, nao quebra layout.
   3. Mobile 16px lateral combinado com max-width: min(1500px, 94vw) gera ~306px de conteudo num device 360px (vs 282px atual), melhora real porem modesta.
   4. Nenhuma outra regra do arquivo depende dos valores exatos 40px/28px. */

/* 19. [MEDIUM] sidebar-vs-main-column-mismatch (Artigo individual) */
/* Article details: left-align dentro do grid quando há sidebar (evita assimetria com a sidebar fixa à direita) */
@media (min-width: 900px) {
  .pkp_structure_content.has_sidebar .obj_article_details {
    margin-left: 0 !important;
    margin-right: auto !important;
    max-width: 760px !important;
    padding-right: 0 !important;
  }
}

/* 20. [LOW] breadcrumb-margin-small (Edições anteriores) */
/* overrides.css linha 2366 — apenas ajustar margin-bottom */
.pkp_breadcrumbs {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.82rem !important;
  color: var(--text-muted) !important;
  margin-bottom: 32px; /* era 24px — mais respiro até o H1 */
}
/* Demais regras (.pkp_breadcrumbs ol, a, .separator) ficam inalteradas */

/* 21. [LOW] body-text-line-height-color (Submissão) */
/* Prose measure cap para páginas estáticas (Submissão, Sobre, Privacidade, etc.).
   Escopo nas páginas estáticas — evita afetar hero/cards/article details
   que já têm seus próprios max-widths. */
.pkp_structure_main .page,
.pkp_structure_main .cmp_static_page,
.pkp_structure_main .additional_content {
  --prose-max: 68ch;
}

/* Aplica em descendentes (não só direct-child) pra pegar listas/parágrafos
   dentro de wrappers do OJS. */
.pkp_structure_main .page p,
.pkp_structure_main .page ul,
.pkp_structure_main .page ol,
.pkp_structure_main .cmp_static_page p,
.pkp_structure_main .cmp_static_page ul,
.pkp_structure_main .cmp_static_page ol,
.pkp_structure_main .additional_content p,
.pkp_structure_main .additional_content ul,
.pkp_structure_main .additional_content ol {
  max-width: var(--prose-max);
}

/* Headings também encurtados pra ancorar visualmente com o corpo. */
.pkp_structure_main .page h1,
.pkp_structure_main .page h2,
.pkp_structure_main .page h3,
.pkp_structure_main .cmp_static_page h1,
.pkp_structure_main .cmp_static_page h2,
.pkp_structure_main .cmp_static_page h3 {
  max-width: var(--prose-max);
}

/* 22. [LOW] list-items-density (Submissão) */
/* List items density — respiro entre bullets nas listas de submissão (Diretrizes/Condições).
   Usa adjacent sibling (li + li) pra não adicionar margin ao primeiro item.
   NÃO mexer em display de <p>/<strong> dentro de <li> — risco de colapsar conteúdo
   multi-parágrafo legítimo (OJS pode renderizar submission requirements com <p>). */
.pkp_structure_main ul li + li,
.pkp_structure_main ol li + li {
  margin-top: 0.5em;
}

/* 23. [LOW] about-list-bullets-color-default (Sobre a Revista (https://hypostasisjournal.org/hypostasis/ab) */
/* About — bullets editoriais em gold (substitui disc padrão).
   Scoped a .page_about para não vazar pra outras listas (ex: cmp_breadcrumbs). */
.page_about ul {
  list-style: none;
  padding-left: 0;
  margin: 1.5rem 0;
}
.page_about ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 0.6rem;
  line-height: 1.65;
}
.page_about ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.7em;            /* alinha visualmente com x-height do corpo */
  width: 10px;
  height: 2px;           /* 2px ao invés de 1px: legível em retina + non-retina */
  background: var(--gold);
  border-radius: 1px;
}

/* Fallback simples e ainda mais barato (se preferir manter discs):
   .page_about ul li::marker { color: var(--gold); }
   — recolore o disco nativo pra gold sem mexer em layout/padding. */

/* 24. [LOW] about-h3-margem-top-curta (Sobre a Revista (https://hypostasisjournal.org/hypostasis/ab) */
/* Aumentar respiro entre seções h3 na página About — alinhado ao ritmo já usado em h2 (2.75rem) */
.page_about h3 {
  margin-top: 2.75rem;
  margin-bottom: 0.75rem;
}

/* 25. [LOW] about-sidebar-issue-cards-N/A (Sobre a Revista (https://hypostasisjournal.org/hypostasis/ab) */
/* SKIPPED — no CSS to apply: Finding confirmado. Verificação:

1. Screenshot /tmp/innerpages/about.png: a sidebar direita da pági */

/* 26. [LOW] no-section-divider-static (Contato) */
/* Ornamento gold sob H1 de páginas estáticas internas (about, contact, editorial team, privacy, submissions) — mantém o vocabulário visual gold do tema. Escopado por page-class para não colidir com index/article/login (que já têm tratamento próprio nas linhas 1916 e 2015). */
.pkp_page_about .pkp_structure_main > h1::after,
.pkp_page_contact .pkp_structure_main > h1::after,
.pkp_page_editorialTeam .pkp_structure_main > h1::after,
.pkp_page_privacy .pkp_structure_main > h1::after,
.pkp_page_submissions .pkp_structure_main > h1::after {
  content: '';
  display: block;
  width: 48px;
  height: 1px;
  background: var(--gold);
  margin: 16px 0 0;
}

/* 27. [LOW] author-affiliation-cramped (Artigo individual) */
.obj_article_details .item.authors .affiliation {
  font-family: 'Poppins', sans-serif;
  font-size: 0.78rem;
  color: var(--gold-dark);
  font-style: normal;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  display: block;
  margin-top: 6px;
  padding: 0;
  background: transparent;
  border-radius: 0;
}

/* 28. [CRITICAL] issue-card-title-padding-left-zero (Edições anteriores) */
/* CARDS DE EDIÇÃO — refino de padding (Edições anteriores) */
/* O card .obj_issue_summary já recebe padding 22px 26px em overrides.css:1409.
   Para coluna estreita (~30% do layout), o respiro pede mais. Bump mínimo: */
.obj_issue_summary {
  padding: 28px 32px !important;
}
/* Garantir que, sem cover, o grid 220px 1fr do LESS (linha 789) não reserve
   coluna fantasma e empurre o texto. Quando NÃO houver .cover, vira single-col: */
.obj_issue_summary:not(:has(.cover)) {
  display: block !important;
}
/* Vertical rhythm — o LESS dá padding: 2rem 0 no <li>; com o card já tendo
   margin-bottom 16px (linha 1410) + padding interno, o 2rem vira redundante: */
.issues_archive > li {
  padding: 0 !important;
  border-bottom: none !important;
}
/* =========================================================================
   v=64 — patch pós-auditoria multi-agente (top-to-bottom)
   Objetivos:
   1) Consertar wordmark PNG do header (quebrado no v=62 flex-column width:auto)
   2) Quebrar banda bordô hero+section (dar bg creme à .hyp-section)
   3) Compactar footer (padding vertical, cobrand duplicado, prose inline-styles)
   4) Esconder duplicação "Templates" da sidebar
   ========================================================================= */

/* 1) HEADER / WORDMARK — restaurar PNG bordô centralizado ~360x72 --------- */

body .pkp_site_name a.hyp-masthead-link,
html body .hyp-masthead-link {
  display: block !important;
  flex-direction: initial !important;
  align-items: initial !important;
  justify-content: initial !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 0 !important;
  background: none !important;
  background-size: 0 !important;
  color: inherit !important;
  text-align: center !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  overflow: visible !important;
  line-height: 1 !important;
}
body .hyp-masthead-link .hyp-masthead,
html body .hyp-masthead-link .hyp-masthead,
body .pkp_site_name .hyp-masthead {
  display: none !important;
}
body .pkp_site_name .is_text,
html body .pkp_site_name .is_text {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  line-height: 1 !important;
  overflow: visible !important;
}
body .hyp-masthead-link::before,
html body .hyp-masthead-link::before {
  content: "" !important;
  display: inline-block !important;
  vertical-align: middle !important;
  width: min(360px, 78vw) !important;
  height: 72px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: url('/public/journals/1/assets/hypostasis-wordmark-bordo.png') no-repeat center center / contain !important;
  background-size: contain !important;
  flex: 0 0 auto !important;
}
body .hyp-masthead-link .hyp-tagline,
html body .hyp-tagline {
  display: block !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  font-family: 'Poppins', 'Inter', system-ui, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  line-height: 1.35 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  color: #6a5f5a !important;
}
body .pkp_site_name > .hyp-cobrand,
html body .pkp_site_name .hyp-cobrand {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.2rem !important;
  margin: 0 auto 0.5rem !important;
  padding: 0 !important;
  text-align: center !important;
}

/* 2) HERO + SECTION — quebrar banda bordô emendada ----------------------- */

body .hyp-hero,
html body .hyp-hero {
  padding-bottom: 2.5rem !important;
  margin-bottom: 0 !important;
}
body .hyp-section,
html body .hyp-section {
  background: #fbf7ee !important;
  background-image: none !important;
  color: #1c1410 !important;
  padding: 2.25rem 1.5rem !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-top: 1px solid #d9cfb8 !important;
}
body .hyp-section p,
html body .hyp-section p {
  color: #1c1410 !important;
  max-width: 68ch !important;
  margin: 0 auto !important;
  font-family: 'Fraunces', 'Playfair Display', Georgia, serif !important;
  font-size: 1.08rem !important;
  line-height: 1.7 !important;
  text-align: center !important;
}
body .hyp-section em,
html body .hyp-section em {
  color: #6b1620 !important;
  font-style: italic !important;
}

/* 3) FOOTER — compactar as três bandas empilhadas ------------------------ */

body .pkp_structure_footer_wrapper,
html body .pkp_structure_footer_wrapper {
  padding: 0 !important;
  margin: 0 !important;
}
body .pkp_structure_footer,
html body .pkp_structure_footer {
  padding: 32px 1.5rem 24px !important;
  margin: 0 auto !important;
  gap: 0 !important;
}
body .pkp_footer_content.pkp_brand_footer,
html body .pkp_brand_footer {
  gap: 24px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  max-width: 1200px !important;
}
body .hyp-footer-prose,
html body .hyp-footer-prose {
  margin: 8px 0 0 !important;
  padding: 0 !important;
}
body .hyp-footer-prose > div,
html body .hyp-footer-prose > div {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: 0.85rem !important;
  line-height: 1.6 !important;
}
body .hyp-footer-prose p,
html body .hyp-footer-prose p {
  margin: 0 0 6px !important;
}
body .pkp_brand_footer .brand,
html body .pkp_brand_footer .brand {
  margin: 0 0 4px !important;
  padding: 0 !important;
  line-height: 1.1 !important;
}
body .pkp_brand_footer .tagline,
html body .pkp_brand_footer .tagline {
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
}
body .pkp_brand_footer h4,
html body .pkp_brand_footer h4 {
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-size: 0.85rem !important;
  line-height: 1.2 !important;
}
body .pkp_brand_footer ul,
html body .pkp_brand_footer ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body .pkp_brand_footer ul li,
html body .pkp_brand_footer ul li {
  margin: 0 0 4px !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}
body .pkp_structure_footer .hyp-footer-cobrand,
html body .hyp-footer-cobrand {
  margin: 12px auto 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid rgba(243, 234, 215, 0.14) !important;
  gap: 0.2rem !important;
}
body .hyp-footer-cobrand .hyp-cobrand__label,
html body .hyp-footer-cobrand .hyp-cobrand__label {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  font-size: 0.7rem !important;
}
body .hyp-footer-cobrand .hyp-cobrand__mark,
html body .hyp-footer-cobrand .hyp-cobrand__mark {
  margin: 2px 0 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
body .pkp_brand_footer_made_with,
html body .pkp_brand_footer_made_with {
  margin: 12px 0 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid rgba(243, 234, 215, 0.14) !important;
  font-size: 0.72rem !important;
  line-height: 1.4 !important;
  text-align: center !important;
}
body .pkp_brand_footer_made_with a,
html body .pkp_brand_footer_made_with a {
  color: rgba(243, 234, 215, 0.6) !important;
}
body .pkp_structure_footer .pkp_helpers_body_bottom,
body .pkp_structure_footer .pkp_helpers_clear,
html body .pkp_structure_footer > div:empty,
html body .pkp_structure_footer > span:empty {
  display: none !important;
}

/* 4) SIDEBAR — esconder customblock-templates duplicado ------------------- */
body #customblock-templates,
html body .pkp_block#customblock-templates {
  display: none !important;
}

/* 5) RESPONSIVE ----------------------------------------------------------- */

@media (max-width: 768px) {
  body .hyp-masthead-link::before,
  html body .hyp-masthead-link::before {
    width: min(280px, 82vw) !important;
    height: 56px !important;
  }
  body .hyp-masthead-link .hyp-tagline,
  html body .hyp-tagline {
    font-size: 0.62rem !important;
    padding: 0 8px !important;
    letter-spacing: 0.18em !important;
  }
  body .hyp-hero,
  html body .hyp-hero {
    padding-bottom: 1.75rem !important;
  }
  body .hyp-section,
  html body .hyp-section {
    padding: 1.5rem 1rem !important;
  }
  body .hyp-section p,
  html body .hyp-section p {
    font-size: 1rem !important;
  }
  body .pkp_footer_content.pkp_brand_footer,
  html body .pkp_brand_footer {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    text-align: center !important;
  }
  body .hyp-footer-prose > div,
  html body .hyp-footer-prose > div {
    text-align: center !important;
  }
  body .pkp_structure_footer,
  html body .pkp_structure_footer {
    padding: 24px 1rem 20px !important;
  }
}
@media (max-width: 479px) {
  body .hyp-masthead-link::before,
  html body .hyp-masthead-link::before {
    width: min(240px, 84vw) !important;
    height: 48px !important;
  }
  body .hyp-masthead-link .hyp-tagline,
  html body .hyp-tagline {
    font-size: 0.56rem !important;
  }
  body .hyp-section,
  html body .hyp-section {
    padding: 1.25rem 0.75rem !important;
  }
  body .hyp-section p,
  html body .hyp-section p {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
  }
  body .pkp_structure_footer,
  html body .pkp_structure_footer {
    padding: 20px 0.75rem 16px !important;
  }
  body .pkp_footer_content.pkp_brand_footer,
  html body .pkp_brand_footer {
    gap: 16px !important;
  }
}
/* ============ fim v=64 patch ============ */

/* =========================================================================
   v=67 — fix decisivo "espaço vazio embaixo do intro"
   Fix anterior (v=66) reduziu sidebar mas o grid row ainda tem altura ≠ main.
   Solução final: no HOMEPAGE, esconder sidebar inteiro (CTA "SUBMETER ARTIGO"
   já existe no hero; block_developed_by é redundante com footer;
   block_language redundante com cobrand; block_browse redundante com nav
   "Edições"; block_mais-lidos importante mas vai para uma seção horizontal
   compacta abaixo do intro se necessário).
   Layout: main full-width, sem grid, sem row height mismatch = sem espaço vazio.
   ========================================================================= */

/* Fundo cream do wrapper (não vaza pra outras páginas) */
body.pkp_page_index .pkp_structure_content,
body.pkp_page_index .pkp_structure_main {
  background: #fbf7ee !important;
}
body.pkp_page_index .hyp-section {
  border-top: none !important;
}

/* HOMEPAGE: esconder sidebar por completo e virar single-column */
body.pkp_page_index .pkp_structure_sidebar {
  display: none !important;
}
body.pkp_page_index .pkp_structure_content.has_sidebar,
html body.pkp_page_index .pkp_structure_content.has_sidebar {
  display: block !important;
  grid-template-columns: none !important;
  padding: 0 !important;
  gap: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Main col: full-width, sem padding-bottom herdado do LESS */
body.pkp_page_index .pkp_structure_content.has_sidebar > .pkp_structure_main,
html body.pkp_page_index .pkp_structure_main {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* ============ fim v=67 patch ============ */

/* =========================================================================
   v=68 — Logo COR ACADEMY oficial (SVG vetorizado da IDV)
   Substitui texto "COR | Academy" pelo SVG real da marca.
   Usa mask-image → background-color = currentColor, permite trocar cor
   por contexto (dark no header cream, light no footer bordô).
   ========================================================================= */

/* Cobrand HEADER: hide text, show SVG mask */
body .hyp-cobrand__cor,
body .hyp-cobrand__rule,
body .hyp-cobrand__academy,
html body .hyp-cobrand__cor,
html body .hyp-cobrand__rule,
html body .hyp-cobrand__academy {
  display: none !important;
}

body .hyp-cobrand__mark,
html body .hyp-cobrand__mark {
  display: block !important;
  width: 68px !important;
  height: 35px !important;
  margin: 3px auto 0 !important;
  padding: 0 !important;
  background: none !important;
  background-color: #6b1620 !important; /* bordô — paleta unificada com HYPOSTASIS wordmark */
  -webkit-mask: url('/public/journals/1/assets/cor-academy-official.svg') no-repeat center center / contain !important;
          mask: url('/public/journals/1/assets/cor-academy-official.svg') no-repeat center center / contain !important;
  -webkit-mask-size: contain !important;
          mask-size: contain !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

/* Cobrand FOOTER: cream cheio sobre bordô — coeso com wordmark branco */
body .hyp-footer-cobrand .hyp-cobrand__mark,
html body .hyp-footer-cobrand .hyp-cobrand__mark {
  background-color: #f3ead7 !important; /* cream — paleta unificada */
  width: 58px !important;
  height: 30px !important;
}

/* Label "Uma publicação da" com espaço menor até o SVG */
body .hyp-cobrand__label,
html body .hyp-cobrand__label {
  font-size: 0.62rem !important;
  letter-spacing: 0.24em !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(58, 20, 25, 0.55) !important;
}

body .hyp-footer-cobrand .hyp-cobrand__label,
html body .hyp-footer-cobrand .hyp-cobrand__label {
  color: rgba(243, 234, 215, 0.55) !important;
}

@media (max-width: 768px) {
  body .hyp-cobrand__mark,
  html body .hyp-cobrand__mark {
    width: 58px !important;
    height: 30px !important;
  }
}
/* ============ fim v=68 patch ============ */

/* =========================================================================
   v=69 — COR menor + Hypostasis footer BRANCO
   - Reduzido: 108x55 (header) → 68x35 e 96x48 (footer) → 58x30
   - Hypostasis wordmark do footer: filter brightness(0) invert(1) = pure white
   ========================================================================= */
/* ============ fim v=69 patch ============ */

/* =========================================================================
   v=70 — Correções IDV SAFE (não altera cores/tamanhos que usuário definiu)
   Aplicado do workflow de auditoria:
   - Purge asset velho logo-hypostasis.png (referências stale linhas 173, 389)
   - Tagline header: bordô translúcido em vez de warm gray (lockup IDV)
   - Tagline mais colada ao wordmark (margin-top: 4px)
   ========================================================================= */

/* Purge referências ao asset velho — força uso do wordmark-bordo oficial */
body .pkp_site_name .is_text,
html body .pkp_site_name .is_text {
  background-image: url('/public/journals/1/assets/hypostasis-wordmark-bordo.png') !important;
}
body .hyp-logo-full,
html body .hyp-logo-full {
  background-image: url('/public/journals/1/assets/hypostasis-wordmark-bordo.png') !important;
}

/* Tagline "INTERNATIONAL JOURNAL..." em bordô translúcido (lockup unificado IDV) */
body .hyp-masthead-link .hyp-tagline,
html body .hyp-tagline {
  color: rgba(107, 22, 32, 0.72) !important;
  margin-top: 4px !important;
}
/* ============ fim v=70 patch ============ */

/* =========================================================================
   v=74 — Forçar sr-only pra .pkp_screen_reader
   User reportou que o span "Saiba mais sobre X" (que deveria ser leitura
   de tela apenas) aparece visível ao lado do "Saiba mais" no card de notícia.
   Enforça sr-only classic pattern com specificidade alta pra vencer qualquer
   conflito de cascata.
   ========================================================================= */
body .pkp_screen_reader,
html body .pkp_screen_reader,
body .cmp_skip_to_content,
body .skip,
body .read_more .pkp_screen_reader,
body .obj_announcement_summary .pkp_screen_reader,
body a > .pkp_screen_reader,
body span.pkp_screen_reader {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  font-size: 0 !important;
}
/* ============ fim v=74 patch ============ */

/* =========================================================================
   v=75 — FIX hamburger mobile
   Bug: main.js aplica class `is-open` no <nav data-hyp-nav>
        mas o LESS espera `.pkp_navigation_primary.is-open`.
   Fix: adicionar seletores que reconheçam is-open no nav pai.
   ========================================================================= */

@media (max-width: 768px) {
  /* Estado FECHADO (mobile default) — comprimir UL */
  body .pkp_site_nav_menu[data-hyp-nav] .pkp_navigation_primary,
  html body .pkp_site_nav_menu .pkp_navigation_primary {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 320ms cubic-bezier(.2,.7,.3,1) !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  /* Estado ABERTO — quando is-open está no <nav> pai */
  body .pkp_site_nav_menu.is-open .pkp_navigation_primary,
  body .pkp_site_nav_menu[data-hyp-nav].is-open .pkp_navigation_primary,
  html body [data-hyp-nav].is-open .pkp_navigation_primary {
    max-height: 90vh !important;
    overflow-y: auto !important;
    background: var(--cream, #fbf7ee) !important;
    padding: 8px 0 !important;
    border-top: 1px solid rgba(107, 22, 32, 0.15) !important;
  }

  /* Items do menu mobile: largura total, tap-target confortável */
  body .pkp_site_nav_menu.is-open .pkp_navigation_primary > li,
  html body [data-hyp-nav].is-open .pkp_navigation_primary > li {
    width: 100% !important;
    border-bottom: 1px solid rgba(107, 22, 32, 0.1) !important;
  }
  body .pkp_site_nav_menu.is-open .pkp_navigation_primary > li a,
  html body [data-hyp-nav].is-open .pkp_navigation_primary > li a {
    padding: 14px 20px !important;
    display: block !important;
    min-height: 44px !important;
  }

  /* Botão hamburger: garante visibilidade + estado aria */
  body .hyp-nav-toggle,
  html body .hyp-nav-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
    z-index: 20 !important;
    background: transparent !important;
    border: 1px solid rgba(107, 22, 32, 0.35) !important;
    border-radius: 4px !important;
    padding: 8px 12px !important;
    font-size: 1.2rem !important;
    color: var(--bordeaux, #6b1620) !important;
    cursor: pointer !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  body .hyp-nav-toggle[aria-expanded="true"],
  html body .hyp-nav-toggle[aria-expanded="true"] {
    background: var(--bordeaux, #6b1620) !important;
    color: var(--cream, #fbf7ee) !important;
    border-color: var(--bordeaux, #6b1620) !important;
  }
}

/* Desktop: hamburger escondido, nav sempre aberto */
@media (min-width: 769px) {
  body .hyp-nav-toggle,
  html body .hyp-nav-toggle {
    display: none !important;
  }
  body .pkp_site_nav_menu .pkp_navigation_primary,
  html body .pkp_site_nav_menu .pkp_navigation_primary {
    max-height: none !important;
    overflow: visible !important;
  }
}
/* ============ fim v=75 patch ============ */

/* =========================================================================
   v=76 — Fix Formatos de Citação (article view)
   O .citation_formats está FORA do .citation_display (que tem max-width 640px
   centralizado), então fica solto/colado à esquerda.
   ========================================================================= */

body .obj_article_details .item.citation,
html body .obj_article_details .item.citation {
  max-width: 640px !important;
  margin: 0 auto 18px !important;
}

/* Bloco Formatos de Citação: alinhado ao mesmo eixo do "Como Citar" */
body .obj_article_details .citation_formats,
html body .obj_article_details .citation_formats {
  margin: 12px 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Botão "Formatos de Citação" — estilo outline coerente com o resto */
body .obj_article_details .citation_formats_button,
html body .citation_formats_button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: transparent !important;
  border: 1.5px solid var(--bordeaux, #6b1620) !important;
  color: var(--bordeaux, #6b1620) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  padding: 10px 20px !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  transition: background 0.2s, color 0.2s !important;
}
body .obj_article_details .citation_formats_button:hover,
body .obj_article_details .citation_formats_button:focus-visible,
html body .citation_formats_button:hover {
  background: var(--bordeaux, #6b1620) !important;
  color: var(--cream, #fbf7ee) !important;
}

/* Indicador de dropdown */
body .obj_article_details .citation_formats_button::after {
  content: "▾" !important;
  font-size: 0.8rem !important;
  line-height: 1 !important;
  opacity: 0.8 !important;
}

/* Lista de formatos — quando expandida */
body .obj_article_details .citation_formats_list,
html body .citation_formats_list {
  margin: 10px 0 0 !important;
  padding: 12px 16px !important;
  background: #fbf7ee !important;
  border: 1px solid rgba(107, 22, 32, 0.15) !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important;
}
body .obj_article_details .citation_formats_styles,
html body .citation_formats_styles {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
  gap: 6px 14px !important;
}
body .obj_article_details .citation_formats_styles li,
html body .citation_formats_styles li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body .obj_article_details .citation_formats_styles a,
html body .citation_formats_styles a {
  display: block !important;
  padding: 8px 4px !important;
  color: var(--bordeaux, #6b1620) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border-radius: 2px !important;
  transition: background 0.15s !important;
}
body .obj_article_details .citation_formats_styles a:hover {
  background: rgba(107, 22, 32, 0.06) !important;
}

/* Ocultar dropdown quando aria-hidden=true (JS controla) */
body .citation_formats_list[aria-hidden="true"] {
  display: none !important;
}
body .citation_formats_list[aria-hidden="false"] {
  display: block !important;
}
/* ============ fim v=76 patch ============ */

/* =========================================================================
   v=77 — Fixes na página de detalhe do artigo
   1) Galley labels sem uppercase — "PDF (Portuguese)" ao invés de "PDF (PORTUGUESE)"
   2) Esconder Downloads widget quando não há dados (revista nova)
   3) Refinar spacing e legibilidade dos itens da coluna direita
   ========================================================================= */

/* 1) Galley download buttons: mixed case, legível */
body .obj_article_details .galleys_links a,
html body .obj_article_details .galleys_links a {
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  padding: 10px 20px !important;
  background: var(--bordeaux, #6b1620) !important;
  color: var(--cream, #f3ead7) !important;
  border-radius: 3px !important;
  gap: 8px !important;
  transition: background 0.2s !important;
}
body .obj_article_details .galleys_links a:hover,
html body .obj_article_details .galleys_links a:hover {
  background: #4a0a10 !important;
  color: var(--cream, #f3ead7) !important;
  transform: translateY(-1px) !important;
}

/* Icon PDF antes do link */
body .obj_article_details .galleys_links a::before {
  content: "⬇" !important;
  font-size: 0.9rem !important;
  opacity: 0.85 !important;
}

/* 2) Downloads widget: esconder quando "not yet available" — sem dados = sem widget */
body .obj_article_details .item.downloads_chart,
html body .obj_article_details .item.downloads_chart {
  display: none !important;
}

/* 3) Entry_details: itens mais compactos, tipografia harmonizada */
body .obj_article_details .entry_details .item,
html body .obj_article_details .entry_details .item {
  margin: 0 0 1.2rem !important;
  padding: 1rem 0 0 !important;
  border-top: 1px solid rgba(107, 22, 32, 0.1) !important;
}
body .obj_article_details .entry_details .item:first-child,
html body .obj_article_details .entry_details .item:first-child {
  border-top: none !important;
  padding-top: 0 !important;
}

/* Label mais legível — não muda cor drasticamente */
body .obj_article_details .entry_details .item > .label,
body .obj_article_details .entry_details .item > h2.label,
html body .obj_article_details .entry_details .item > .label {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(58, 20, 25, 0.68) !important;
  font-weight: 600 !important;
  margin: 0 0 0.55rem !important;
}

/* Valor do item (data, edição, seção) — clean */
body .obj_article_details .entry_details .item > .value,
body .obj_article_details .entry_details .item .value,
html body .obj_article_details .entry_details .item .value {
  font-family: 'Fraunces', 'Playfair Display', Georgia, serif !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
  color: var(--ink, #1c1410) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* .item.published, .item.section: NÃO forçar uppercase no conteúdo (só no label) */
body .obj_article_details .item.published,
body .obj_article_details .item.section,
html body .obj_article_details .item.published,
html body .obj_article_details .item.section {
  text-transform: none !important;
  font-size: inherit !important;
  color: inherit !important;
  letter-spacing: 0 !important;
  font-family: inherit !important;
}
/* ============ fim v=77 patch ============ */

/* =========================================================================
   v=80 — Fix alinhamento entry_details (PDF/PUBLISHED/DATA colados nas bordas)
   .entry_details .item tinha padding: 1.75rem 0 0 (só top). Sem padding
   horizontal, conteúdo colava nas edges da coluna. Trato como card cream
   sutil com padding interno + itens com breathing room lateral.
   ========================================================================= */

/* .entry_details vira card cream sutil (destaca da coluna principal) */
body .obj_article_details .entry_details,
html body .obj_article_details .entry_details {
  background: #f6efe1 !important;
  border: 1px solid rgba(107, 22, 32, 0.1) !important;
  border-radius: 4px !important;
  padding: 24px 28px !important;
  box-sizing: border-box !important;
}

/* Cada .item com padding interno + border-top como separador */
body .obj_article_details .entry_details .item,
html body .obj_article_details .entry_details .item {
  margin: 0 !important;
  padding: 16px 0 !important;
  border-top: 1px solid rgba(107, 22, 32, 0.08) !important;
}
body .obj_article_details .entry_details .item:first-child,
html body .obj_article_details .entry_details .item:first-child {
  border-top: none !important;
  padding-top: 0 !important;
}
body .obj_article_details .entry_details .item:last-child,
html body .obj_article_details .entry_details .item:last-child {
  padding-bottom: 0 !important;
}

/* Galleys links dentro do entry_details: full-width, cada PDF numa linha */
body .obj_article_details .entry_details .galleys_links,
html body .obj_article_details .entry_details .galleys_links {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .obj_article_details .entry_details .galleys_links a,
html body .obj_article_details .entry_details .galleys_links a {
  width: 100% !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Sidebar coluna: sticky no topo quando rola (melhor UX em artigos longos) */
@media (min-width: 1000px) {
  body .obj_article_details .entry_details,
  html body .obj_article_details .entry_details {
    position: sticky !important;
    top: 24px !important;
    align-self: flex-start !important;
  }
}

/* Mobile: entry_details sem sticky, largura fluida */
@media (max-width: 768px) {
  body .obj_article_details .entry_details,
  html body .obj_article_details .entry_details {
    padding: 20px !important;
    margin-top: 24px !important;
  }
}
/* ============ fim v=80 patch ============ */

/* =========================================================================
   v=81 — Remove "shadow dourado" atrás dos cards de artigo no hover
   Theme.css compilado aplica gradient cream bege no hover, dando aparência
   de brilho dourado. Vence com specificidade + !important + linear-gradient
   transparente.
   ========================================================================= */

/* Hover: mata gradient cream do theme.css + elevação sutil + border-left MAIS ESCURA (mesma largura 4px, só muda cor pra hover).
   NÃO aplica border-left ao <li> pai — só ao card, senão vira barra dupla. */
body .obj_article_summary:hover,
html body .obj_article_summary:hover {
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: 0 4px 14px rgba(58, 20, 25, 0.08) !important;
  border-left-color: var(--bordeaux-deep, #4a0a10) !important;
  transform: translateY(-2px) !important;
  transition: transform 0.2s, box-shadow 0.2s, border-left-color 0.2s, background 0.2s !important;
}
/* Neutraliza o gradient cream no <li> pai (theme.css compilado aplica lá também) */
body ul.articles > li:hover,
html body ul.articles > li:hover {
  background: transparent !important;
  background-image: none !important;
}
/* ============ fim v=81 patch ============ */

/* =========================================================================
   PATCH DEFINITIVO v=83 — consolida 44 findings dos 6 agentes
   Ver task wl86wmd6l pra referência de cada FIX
   ========================================================================= */

/* FIX #1 — Cobrand mark bordô unificado */
body .hyp-cobrand__mark,
html body .hyp-cobrand__mark {
  background-color: var(--bordeaux, #3A0D1A) !important;
}
html body footer .hyp-footer-cobrand .hyp-cobrand__mark,
html body .hyp-footer .hyp-footer-cobrand .hyp-cobrand__mark {
  background-color: #f3ead7 !important;
}

/* FIX #3 — .entry_details: block, não flex, PUBLICADO/EDIÇÃO em coluna */
body .obj_article_details .entry_details,
html body .obj_article_details .entry_details {
  display: block !important;
  flex-wrap: initial !important;
  gap: 0 !important;
  justify-content: flex-start !important;
  padding: 24px 28px !important;
  background: #f6efe1 !important;
}
body .obj_article_details .entry_details .item,
html body .obj_article_details .entry_details .item {
  display: block !important;
  width: 100% !important;
  padding: 16px 0 !important;
  margin: 0 !important;
  text-align: left !important;
  border-top: 1px solid rgba(58, 13, 26, 0.10) !important;
}
body .obj_article_details .entry_details .item:first-child,
html body .obj_article_details .entry_details .item:first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
}

/* FIX #4 — .hyp-section padding-inline alinhado com .hyp-hero */
body .hyp-section,
html body .hyp-section {
  padding-block: 2.25rem !important;
  padding-inline: max(32px, calc((100vw - 1400px) / 2)) !important;
  background: #fbf7ee !important;
  border-top: 1px solid #d9cfb8 !important;
}

/* FIX #7 — Neutraliza sticky sidebar dead-code */
@media (min-width: 1000px) {
  body .obj_article_details .entry_details,
  html body .obj_article_details .entry_details {
    position: static !important;
    top: auto !important;
    align-self: auto !important;
  }
}

/* FIX #8 — Padding submission button coerente */
body .pkp_block.block_make_submission a.block_make_submission_link,
html body .pkp_block.block_make_submission a.block_make_submission_link {
  padding: 14px 24px !important;
}

/* FIX #10 — @supports fallback SVG mask (browsers antigos) */
@supports not ((mask-image: url('x.svg')) or (-webkit-mask-image: url('x.svg'))) {
  body .hyp-cobrand__mark,
  html body .hyp-cobrand__mark {
    background: none !important;
    background-color: transparent !important;
  }
  body .hyp-cobrand__cor,
  body .hyp-cobrand__academy,
  html body .hyp-cobrand__cor,
  html body .hyp-cobrand__academy {
    display: inline-block !important;
    color: var(--bordeaux, #3A0D1A) !important;
    font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif !important;
  }
  html body .hyp-footer-cobrand .hyp-cobrand__cor,
  html body .hyp-footer-cobrand .hyp-cobrand__academy {
    color: #f3ead7 !important;
  }
}

/* FIX #11 — Announcement H2 estilizado */
body .obj_announcement_summary h2,
html body .obj_announcement_summary h2 {
  border-bottom: 0 !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.5rem !important;
  line-height: 1.25 !important;
  color: var(--bordeaux, #3A0D1A) !important;
}
body .obj_announcement_summary h2 a,
html body .obj_announcement_summary h2 a {
  color: var(--bordeaux, #3A0D1A) !important;
  text-decoration: none !important;
}
body .obj_announcement_summary .date,
html body .obj_announcement_summary .date {
  font-size: 0.85rem !important;
  color: #6b5d4a !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: 0.03em !important;
}
body .obj_announcement_summary .summary,
html body .obj_announcement_summary .summary {
  margin: 0 !important;
  line-height: 1.6 !important;
}

/* FIX #12 — Homepage bg tokenizado */
:root { --content-bg-home: #fbf7ee; }
body.pkp_page_index .pkp_structure_content,
body.pkp_page_index .pkp_structure_main,
html body.pkp_page_index .pkp_structure_content,
html body.pkp_page_index .pkp_structure_main {
  background: var(--content-bg-home) !important;
}
/* ============ fim v=83 patch ============ */

/* =========================================================================
   v=84 — Botão "Volume Completo (PDF)" na hero CTA
   Terceiro botão, estilo outline gold sutil (diferencia dos dois primeiros)
   ========================================================================= */
body .hyp-hero__cta a.tertiary,
html body .hyp-hero__cta a.tertiary,
body .hyp-hero__cta a.hyp-btn-download,
html body .hyp-hero__cta a.hyp-btn-download {
  background: transparent !important;
  color: var(--gold-pale, #f2e5bd) !important;
  border: 1.5px dashed rgba(242, 229, 189, 0.6) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 13px 26px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s !important;
}
body .hyp-hero__cta a.tertiary::before,
body .hyp-hero__cta a.hyp-btn-download::before {
  content: "⬇" !important;
  font-size: 0.85rem !important;
}
body .hyp-hero__cta a.tertiary:hover,
html body .hyp-hero__cta a.tertiary:hover,
body .hyp-hero__cta a.hyp-btn-download:hover {
  background: rgba(242, 229, 189, 0.12) !important;
  border-color: var(--gold-pale, #f2e5bd) !important;
  color: var(--cream, #fbf7ee) !important;
  transform: translateY(-2px) !important;
}
/* ============ fim v=84 patch ============ */

/* =========================================================================
   v=89 — Language switcher PT/EN no top-bar do header
   Visível em TODAS as páginas (não só onde tem sidebar).
   ========================================================================= */
body .pkp_navigation_user_wrapper,
html body .pkp_navigation_user_wrapper {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 20px !important;
  padding: 6px 24px !important;
}

body .hyp-lang-switcher,
html body .hyp-lang-switcher {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .hyp-lang-switcher li,
html body .hyp-lang-switcher li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body .hyp-lang-switcher li + li::before {
  content: "·" !important;
  color: rgba(107, 22, 32, 0.4) !important;
  margin-right: 8px !important;
  font-weight: 400 !important;
}
body .hyp-lang-switcher a,
html body .hyp-lang-switcher a {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(58, 20, 25, 0.55) !important;
  text-decoration: none !important;
  padding: 4px 8px !important;
  border-radius: 2px !important;
  transition: color 0.15s, background 0.15s !important;
  background-image: none !important;
}
body .hyp-lang-switcher li.active a,
html body .hyp-lang-switcher li.active a {
  color: var(--bordeaux, #3A0D1A) !important;
  background: rgba(107, 22, 32, 0.08) !important;
}
body .hyp-lang-switcher a:hover,
html body .hyp-lang-switcher a:hover {
  color: var(--bordeaux, #3A0D1A) !important;
  background: rgba(107, 22, 32, 0.05) !important;
}
/* ============ fim v=89 patch ============ */

/* ============ v=90 patch ============ */
/* Fix: breadcrumb horizontal (Contato, Sobre, etc.). A regra flex do tema
   (theme.css) é servida sem Cache-Control/versionamento, então navegadores
   seguram cópia antiga e o <ol> volta ao padrão vertical (itens empilhados).
   Colocamos a regra aqui, no overrides.css já versionado (v=90 → fetch fresco),
   com !important pra vencer qualquer CSS antigo em cache. */
.cmp_breadcrumbs ol {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0;
}
.cmp_breadcrumbs li {
  list-style: none !important;
}
/* ============ fim v=90 patch ============ */
