/**
 * ============================================================
 * Revista ANNEP de Direito Processual
 * Tema 3 Colunas Responsivo - OJS 3.5
 *
 * GERADO pelo app SBM Tech (modelo tema-3colunas v1.4.0) em 2026-09-13.
 * Editar aqui funciona, mas o proximo "gerar" sobrescreve. Para mudar a
 * identidade, altere as variaveis no app e gere de novo.
 *
 * Estrutura: Sidebar (20%) | Conteudo (60%) | Menu (20%)
 * ============================================================
 */

:root {
  /* --- Cores --- */
  --annep-primary:         #446e9b;  /* Titulos, botoes, menu e rodape */
  --annep-primary-dark:    #345578;  /* Hover e estados ativos */
  --annep-primary-mid:     #3d6389;
  --annep-accent:          #3399f3;  /* Definida mas nao aplicada: aplicar mudaria o desenho do layout */
  --annep-tint:            #e3ebf3;  /* Fundo de blocos */
  --annep-bg:              #f5f5f5;
  --annep-bg-soft:         #f9f9f9;
  --annep-border:          #e0e0e0;
  --annep-border-soft:     #dddddd;
  --annep-text:            #333333;
  --annep-text-muted:      #666666;
  --annep-text-faint:      #888888;
  --annep-btn:             #474949;  /* Por padrao e a cor principal */
  --annep-btn-hover:       #2f3131;

  /* --- Tipografia --- */
  --annep-font-body:       "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --annep-font-heading:    "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;

  /* extras */
  --annep-menu-align:      center;  /* right ou center */
}

/* ===========================================
   1. RESET E BASE
   =========================================== */
body {
    margin: 0;
    padding: 0;
    font-family: var(--annep-font-body);
    background: var(--annep-bg);
}

/* ===========================================
   2. HEADER - BANNER ÚNICO
   =========================================== */
.annep-header {
    background: #fff;
    border-bottom: 1px solid var(--annep-border-soft);
    width: 100%;
}

.annep-header-banner {
    width: 100%;
    text-align: center;
}

.annep-banner-link {
    display: block;
    width: 100%;
}

.annep-banner-img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* Esconde a navegacao do tema pai: este tema poe o menu na coluna direita,
   e sem isto o menu apareceria duas vezes. */
.navbar-default,
.navbar {
    display: none !important;
}

/* ===========================================
   2b. MENU NO TOPO (menu_posicao=topo)
   Barra horizontal logo abaixo do banner, com o menu principal a esquerda
   e o do usuario a direita. Nada fica fixo ao rolar.
   =========================================== */
.annep-menu-topo {
    background: var(--annep-primary);
    border-bottom: 3px solid var(--annep-primary-dark);
}

.annep-menu-topo-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 0 20px;
}

.annep-nav-topo {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}

.annep-nav-topo > li {
    position: relative;
}

.annep-nav-topo > li > a {
    display: block;
    padding: 13px 16px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.2s ease;
}

.annep-nav-topo > li > a:hover,
.annep-nav-topo > li > a:focus,
.annep-nav-topo > li.open > a {
    background: var(--annep-primary-dark);
    color: #fff;
    text-decoration: none;
}

.annep-nav-topo .caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 5px;
    vertical-align: middle;
    border-top: 4px solid;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

.annep-nav-topo .dropdown-menu {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 230px;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: #fff;
    border: 1px solid var(--annep-border-soft);
    border-top: 3px solid var(--annep-primary);
    box-shadow: 0 6px 16px rgba(0,0,0,0.15);
    z-index: 1000;
    text-align: left;
}

.annep-nav-topo li.dropdown:hover > .dropdown-menu,
.annep-nav-topo li.open > .dropdown-menu {
    display: block;
}

.annep-nav-topo .dropdown-menu li a {
    display: block;
    padding: 8px 16px;
    color: var(--annep-primary);
    font-size: 12px;
    text-decoration: none;
    white-space: nowrap;
}

.annep-nav-topo .dropdown-menu li a:hover {
    background: var(--annep-tint);
    color: var(--annep-primary-dark);
}

.annep-nav-topo-user > li > a {
    font-weight: 400;
    font-size: 12px;
}

.annep-nav-topo-user .dropdown-menu {
    left: auto;
    right: 0;
}

/* Coluna direita so com blocos (menu no topo): nada fixo. */
.annep-col-right-blocos .annep-blocos-direita {
    margin-top: 0;
}

/* ===========================================
   3. ESTRUTURA DE 3 COLUNAS (20% | 60% | 20%)
   =========================================== */
.pkp_structure_page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pkp_structure_content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pkp_structure_content > .container-fluid,
.pkp_structure_content > .container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.container,
.container-fluid {
    max-width: 100% !important;
    width: 100% !important;
}

/* Row das 3 colunas */
.annep-three-col,
.pkp_structure_content .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    
    margin: 0 !important;
    padding: 0 !important;
    justify-content: flex-start !important;
}

/* Sidebar Esquerda - 20% */
#sidebar,
.pkp_structure_sidebar,
.annep-col-left {
    flex: 0 0 20% !important;
    max-width: 20% !important;
    width: 20% !important;
    min-width: 200px !important;
    background: #fff;
    border-right: 1px solid var(--annep-border-soft);
    padding: 20px;
    order: 1 !important;
    box-sizing: border-box;
    margin: 0 !important;
}

/* Conteúdo Central - 60% */
.pkp_structure_main,
.annep-col-center {
    flex: 1 1 auto !important;
    background: #fff;
    padding: 20px !important;
    order: 2 !important;
    min-width: 0 !important;
    box-sizing: border-box;
    margin: 0 !important;
}

/* Menu Direito - 20% */
.annep-col-right {
    flex: 0 0 20% !important;
    max-width: 20% !important;
    width: 20% !important;
    min-width: 200px !important;
    background: #fff !important;
    border-left: 1px solid var(--annep-border-soft) !important;
    padding: 20px !important;
    order: 3 !important;
    text-align: var(--annep-menu-align) !important;
    box-sizing: border-box;
    margin: 0 !important;
}

/* ===========================================
   4. BLOCOS DA SIDEBAR ESQUERDA
   =========================================== */
.pkp_block {
    background-color: #fff !important;
    border: 1px solid var(--annep-border) !important;
    margin-bottom: 15px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

.pkp_block .title,
.panel-default > .panel-heading {
    color: var(--annep-primary) !important;
    background-color: var(--annep-tint) !important;
    border-color: var(--annep-tint) !important;
    padding: 10px 15px !important;
    border-bottom: 1px solid transparent !important;
    border-top-left-radius: 3px !important;
    border-top-right-radius: 3px !important;
    display: block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    margin-bottom: 0 !important;
}

.pkp_block .content {
    padding: 15px !important;
}

.pkp_block a {
    color: var(--annep-primary) !important;
    display: block;
    padding: 5px 0;
    font-size: 13px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.pkp_block a:hover {
    color: var(--annep-primary-dark) !important;
}

.pkp_block ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pkp_block li {
    margin-bottom: 3px;
    padding: 5px 0;
    border-bottom: 1px solid var(--annep-bg);
}

.pkp_block li:last-child {
    border-bottom: none;
}

/* ---- Selos de indexacao na sidebar ----
   Mesmo tratamento dos apoiadores do rodape (.footer-indexadores): cartao
   branco, sombra leve, e no hover sobe 2px e ganha sombra. Vai no HTML do
   bloco personalizado: <div class="annep-indexadores"><a><img>...</a></div>.
   Os seletores levam .pkp_block porque as regras gerais de link do bloco
   (display:block, padding) tem de ser vencidas aqui. */
.pkp_block .annep-indexadores {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pkp_block .annep-indexadores a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 70px;
    padding: 12px;
    background: #fff;
    border: 1px solid var(--annep-border);
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.06);
    text-decoration: none;
    transition: all 0.3s ease;
}

.pkp_block .annep-indexadores a:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}

.pkp_block .annep-indexadores img {
    height: 50px;
    width: auto;
    max-width: 100%;
    opacity: 0.9;
    transition: opacity 0.3s ease;
}

.pkp_block .annep-indexadores a:hover img {
    opacity: 1;
}

.pkp_block .annep-indexadores span {
    font-size: 13px;
    font-weight: 600;
    color: var(--annep-text-muted);
}

/* ---- Selo solto (ex. Qualis CAPES) ----
   Aqui o destaque e SO na imagem, nao num cartao: drop-shadow segue o
   contorno do PNG, entao a sombra aparece onde ha desenho e nao num
   retangulo em volta. HTML: <div class="annep-selo"><a><img></a></div>. */
.pkp_block .annep-selo {
    text-align: center;
}

.pkp_block .annep-selo a {
    display: inline-block;
    padding: 0;
}

.pkp_block .annep-selo img {
    max-width: 100%;
    height: auto;
    transition: filter 0.3s ease, transform 0.3s ease;
}

.pkp_block .annep-selo a:hover img {
    filter: drop-shadow(0 4px 10px rgba(0,0,0,0.35));
    transform: translateY(-2px);
}

/* Badge Dimensions.ai, injetado por hook na pagina do artigo. */
.annep-dimensions {
    margin: 20px 0;
    text-align: center;
}

/* ===========================================
   5. CONTEÚDO CENTRAL
   =========================================== */
.annep-col-center h1,
.pkp_structure_main h1 {
    color: var(--annep-primary);
    font-size: 26px;
    margin-bottom: 20px;
}

.annep-col-center h2,
.pkp_structure_main h2 {
    color: var(--annep-primary);
    font-size: 20px;
    margin-top: 25px;
}

.annep-col-center h3,
.pkp_structure_main h3 {
    color: var(--annep-primary);
    font-size: 16px;
}

.annep-col-center a,
.pkp_structure_main a {
    color: var(--annep-primary);
    transition: color 0.2s ease;
}

.annep-col-center a:hover,
.pkp_structure_main a:hover {
    color: var(--annep-primary-dark);
}

.annep-col-center p,
.pkp_structure_main p {
    line-height: 1.7;
    margin-bottom: 15px;
}

/* ===========================================
   6. BLOCOS PRINCIPAIS - COM ESTILO
   =========================================== */
.journal-description,
.current_issue,
.cmp_announcements {
    padding: 25px !important;
    background-color: #fff !important;
    border: 1px solid var(--annep-border) !important;
    border-radius: 4px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

.current_issue .page-header {
    border-bottom: 2px solid var(--annep-primary) !important;
    padding-bottom: 10px !important;
    margin-bottom: 20px !important;
}

.current_issue .page-header h2 {
    color: var(--annep-primary) !important;
    margin: 0 !important;
    font-size: 20px !important;
}

/* Remover margin-top da descrição */
.pkp_page_index .journal-description,
.pkp_page_index .additional_content {
    margin-top: 0 !important;
}

/* ===========================================
   7. MENU LATERAL DIREITO
   =========================================== */
.annep-menu-lateral {
    position: sticky;
    top: 20px;
    text-align: var(--annep-menu-align);
}

/* Blocos movidos para baixo do menu (blocos_direita). Herdam o visual dos
   blocos da esquerda (.pkp_block e global); so o alinhamento volta a ser o
   de bloco, porque a coluna e alinhada a direita para o menu. */
.annep-blocos-direita {
    margin-top: 20px;
    text-align: var(--annep-menu-align);
}

/* Qualis lado a lado: <div class="annep-selo annep-qualis"><a><img capes><img b1></a></div>.
   As duas imagens com a mesma altura - o selo B1 e alto e estreito, e
   empilhado tomava a coluna inteira. */
.pkp_block .annep-qualis a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.pkp_block .annep-qualis img {
    height: 84px;
    width: auto;
    max-width: none;
}

/* Os dois logotipos estao num so link; o destaque e por IMAGEM, nao pelo
   link, senao CAPES e B1 sobem juntos ao passar o mouse em qualquer um. */
.pkp_block .annep-qualis a:hover img {
    filter: none;
    transform: none;
}

.pkp_block .annep-qualis a img:hover {
    filter: drop-shadow(0 4px 10px rgba(0,0,0,0.35));
    transform: translateY(-2px);
}

/* Bandeiras (plugin languageToggleByFlag) quando o bloco vai para a direita:
   bandeira maior, lista alinhada a esquerda e nome do idioma com inicial maiuscula
   (o OJS entrega "espanol"/"portugues" em minusculas). */
.annep-blocos-direita .block_language .content ul {
    text-align: left;
    padding-left: 10px;
}

.annep-blocos-direita .block_language li {
    text-align: left;
}

.annep-blocos-direita .block_language li a {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    text-transform: capitalize;
}

.annep-blocos-direita .block_language .flagToggle {
    float: none;
    display: inline-block;
    width: 30px;
    height: 20px;
    margin: 0;
    background-position: center;
    transition: filter 0.3s ease, transform 0.3s ease;
}

/* Mesmo destaque do selo Qualis (.annep-selo a:hover img): sombra e leve
   subida so na bandeira, nao no texto. */
.annep-blocos-direita .block_language li a:hover .flagToggle {
    filter: drop-shadow(0 4px 10px rgba(0,0,0,0.35));
    transform: translateY(-2px);
}

/* Mesma formatacao do titulo dos blocos (secao 4): o MENU nao e um bloco do
   OJS, mas fica lado a lado com eles na coluna - com estilo proprio, a coluna
   parecia montada por duas pessoas diferentes. */
.annep-menu-lateral h4 {
    color: var(--annep-primary);
    background-color: var(--annep-tint);
    padding: 10px 15px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    display: block;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 0;
    margin-top: 0;
    text-align: var(--annep-menu-align);
}

/* Menu Principal */
.annep-nav-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: var(--annep-menu-align);
}

.annep-nav-menu > li {
    border-bottom: 1px solid #f0f0f0;
}

.annep-nav-menu > li > a {
    display: block;
    padding: 12px 15px;
    color: var(--annep-primary);
    font-size: 12px;
    text-transform: uppercase;
    text-decoration: none;
    font-weight: 500;
    text-align: var(--annep-menu-align);
    transition: all 0.2s ease;
}

.annep-nav-menu > li > a:hover {
    background: var(--annep-primary);
    color: #fff;
}

.annep-nav-menu > li.current > a {
    background: var(--annep-primary);
    color: #fff;
}

/* Menu do usuario, logo abaixo do principal: um filete mais forte separa os
   dois sem precisar de segundo titulo. */
.annep-nav-user {
    margin-top: 6px;
    border-top: 2px solid var(--annep-tint);
}

.annep-nav-user > li > a {
    font-size: 11px;
    color: var(--annep-text-muted);
}

/* Sub-menus */
.annep-nav-menu ul,
.annep-nav-menu .dropdown-menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: var(--annep-bg-soft) !important;
    text-align: var(--annep-menu-align) !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    position: relative !important;
    left: auto !important;
    right: 0 !important;
    float: none !important;
    min-width: 100% !important;
}

.annep-nav-menu ul li,
.annep-nav-menu .dropdown-menu li {
    border-bottom: 1px solid var(--annep-border-soft) !important;
    text-align: var(--annep-menu-align) !important;
}

.annep-nav-menu ul li:last-child,
.annep-nav-menu .dropdown-menu li:last-child {
    border-bottom: none !important;
}

.annep-nav-menu ul li a,
.annep-nav-menu .dropdown-menu li a {
    display: block !important;
    padding: 8px 15px 8px 10px !important;
    color: var(--annep-primary) !important;
    font-size: 11px !important;
    text-transform: none !important;
    text-decoration: none !important;
    text-align: var(--annep-menu-align) !important;
    transition: all 0.2s ease;
}

.annep-nav-menu ul li a:hover,
.annep-nav-menu .dropdown-menu li a:hover {
    background: #e8e8e8 !important;
    color: var(--annep-primary-dark) !important;
}

/* Sub-sub-menus (3º nível) */
.annep-nav-menu ul ul li a {
    padding-right: 25px !important;
    font-size: 10px !important;
}

/* ===========================================
   8. BLOCO KEYWORDS CLOUD
   =========================================== */
.block_Keywordcloud {
    margin-bottom: 25px;
}

.block_Keywordcloud .title {
    display: block;
    color: var(--annep-primary) !important;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    background-color: var(--annep-tint) !important;
    padding: 10px 15px !important;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    margin-bottom: 0;
}

.block_Keywordcloud .content {
    background: var(--annep-bg-soft);
    border-radius: 0 0 4px 4px;
    padding: 10px;
}

.block_Keywordcloud svg {
    width: 100%;
    height: auto;
    min-height: 180px;
}

.block_Keywordcloud text {
    font-family: var(--annep-font-heading) !important;
    transition: opacity 0.2s ease;
}

.block_Keywordcloud text:hover {
    opacity: 1 !important;
}

/* ===========================================
   9. BOTÕES E BADGES
   =========================================== */
.btn,
.btn-primary,
.pkp_button {
    background: var(--annep-btn) !important;
    border: 2px solid var(--annep-btn) !important;
    color: #fff !important;
    padding: 10px 20px;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.btn:hover,
.btn-primary:hover,
.pkp_button:hover {
    background: var(--annep-btn-hover) !important;
    border-color: var(--annep-btn-hover) !important;
    color: #fff !important;
}

.label,
.badge {
    background: var(--annep-primary) !important;
    color: #fff !important;
}

/* Botao "Enviar submissao" do bloco lateral. E um <a> dentro de .pkp_block,
   e a regra de link do bloco pintava o texto com a cor da marca por cima do
   fundo escuro - ficava azul sobre cinza. Aqui ele vira botao de verdade. */
.pkp_block .block_make_submission_link,
#sidebar .pkp_block .block_make_submission_link,
.pkp_structure_sidebar .pkp_block .block_make_submission_link,
.annep-col-left .pkp_block .block_make_submission_link {
    display: inline-block !important;
    background: var(--annep-btn) !important;
    border: 2px solid var(--annep-btn) !important;
    color: #fff !important;
    padding: 10px 20px !important;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.pkp_block .block_make_submission_link:hover,
#sidebar .pkp_block .block_make_submission_link:hover {
    background: var(--annep-btn-hover) !important;
    border-color: var(--annep-btn-hover) !important;
    color: #fff !important;
}

/* ===========================================
   10. FOOTER
   =========================================== */
.annep-footer {
    background: var(--annep-tint);
    width: 100%;
    clear: both;
}

.annep-footer-content {
    padding: 20px !important;
}

.annep-footer-content table {
    width: 100%;
    border-collapse: collapse;
}

.annep-footer-content td {
    vertical-align: top;
    padding: 10px;
}

.annep-footer-content td:first-child {
    text-align: left;
}

.annep-footer-content td:last-child {
    text-align: right;
}

.annep-footer-content a {
    color: var(--annep-primary);
    transition: color 0.2s ease;
}

.annep-footer-content a:hover {
    color: var(--annep-primary-dark);
}

/* Duas colunas do rodapé: contato à esquerda, apoiadores à direita.

   Flex, e não a tabela de 50%+50% que veio do tema da BAR: a tabela não quebra
   no celular - as duas colunas continuam espremidas lado a lado, e os logos
   dos apoiadores ficam ilegíveis. Com `flex-wrap` elas empilham sozinhas
   quando não cabem. */
.footer-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
}

/* `min-width: 0` é o que permite ao item encolher abaixo do próprio conteúdo;
   sem isso um logo largo impede a quebra e estoura a linha. */
.footer-wrapper > * {
    min-width: 0;
}

/* O contato é texto curto; os apoiadores são quatro logos lado a lado. Dividir
   o rodapé ao meio deixava o último logo caindo sozinho na linha de baixo, e
   sobrava espaço vazio à esquerda. Daí a proporção 1:2 - em vez de encolher os
   logos com uma altura fixa, que quebraria de novo ao entrar um patrocinador. */
.footer-contact {
    flex: 1 1 260px;
}

.footer-apoiadores {
    flex: 2 1 480px;
    text-align: right;
}

.footer-apoiadores-titulo {
    color: var(--annep-primary);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 12px;
}

/* Informações de contato */
.footer-contact {
    line-height: 1.8;
    color: var(--annep-text-muted);
}

.footer-contact a {
    color: var(--annep-primary) !important;
    font-weight: 600;
    text-decoration: none;
}

.footer-contact a:hover {
    color: var(--annep-primary-dark) !important;
    text-decoration: underline;
}

/* Licença Creative Commons */
.footer-license {
    margin-top: 15px;
    font-size: 13px;
    color: var(--annep-text-muted);
}

.footer-license img {
    vertical-align: middle;
    margin-right: 8px;
}

/* Indexadores do footer */
.footer-indexadores {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;
}

.footer-indexadores a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    
    
    border-radius: 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.06);
    transition: all 0.3s ease;
}

.footer-indexadores a:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}

.footer-indexadores img {
    height: 80px !important;
    width: auto !important;
    max-width: none !important;
    opacity: 0.9;
    transition: opacity 0.3s ease;
}

.footer-indexadores a:hover img {
    opacity: 1;
}

/* Créditos do desenvolvedor */
.annep-footer-credits {
    background: var(--annep-primary);
    color: #fff;
    text-align: center;
    padding: 15px;
    font-size: 13px;
}

.annep-footer-credits a {
    color: #cde6a0;
}

.annep-footer-credits a:hover {
    color: #fff;
}

footer[role="contentinfo"] {
    padding: 0 !important;
    margin-top: 0 !important;
}

/* ===========================================
   11. RESPONSIVO - TABLET (768px - 1199px)
   =========================================== */
@media (max-width: 1199px) and (min-width: 768px) {
    #sidebar,
    .pkp_structure_sidebar,
    .annep-col-left {
        flex: 0 0 22% !important;
        max-width: 22% !important;
        width: 22% !important;
        min-width: 180px;
        padding: 15px 10px;
    }
    
    .pkp_structure_main,
    .annep-col-center {
        padding: 20px 15px !important;
    }
    
    .annep-col-right {
        flex: 0 0 22% !important;
        max-width: 22% !important;
        width: 22% !important;
        min-width: 180px;
        padding: 15px 10px !important;
    }
    
    .annep-col-center h1 {
        font-size: 24px;
    }
    
    .footer-indexadores img {
        height: 80px !important;
    }
}

/* ===========================================
   12. RESPONSIVO - MOBILE (<768px)
   =========================================== */
@media (max-width: 767px) {
    /* Rodapé empilhado: com uma coluna só, alinhar os apoiadores à direita
       deixaria os logos soltos na borda, longe do texto que os antecede. */
    .footer-apoiadores,
    .annep-footer-content td:last-child {
        text-align: left !important;
    }

    /* O tamanho e o alinhamento dos logos no celular ficam mais abaixo, no
       bloco que já existia para o rodapé - duas regras para a mesma coisa no
       mesmo @media só criam a dúvida de qual está valendo. */

    /* Layout empilhado */
    .annep-three-col,
    .pkp_structure_content .row {
        flex-direction: column !important;
        flex-wrap: wrap !important;
    }
    
    #sidebar,
    .pkp_structure_sidebar,
    .annep-col-left,
    .pkp_structure_main,
    .annep-col-center,
    .annep-col-right {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        min-width: 100% !important;
        border: none !important;
        border-bottom: 1px solid var(--annep-border-soft) !important;
    }
    
    /* Ordem: Conteúdo primeiro, depois sidebars */
    .pkp_structure_main,
    .annep-col-center {
        order: 1 !important;
        padding: 20px 15px !important;
    }
    
    #sidebar,
    .pkp_structure_sidebar,
    .annep-col-left {
        order: 2 !important;
        padding: 20px 15px !important;
    }
    
    .annep-col-right {
        order: 3 !important;
        padding: 20px 15px !important;
        text-align: left !important;
    }
    
    /* Menu lateral em mobile */
    .annep-menu-lateral {
        position: relative;
        top: 0;
        text-align: left;
    }
    
    .annep-menu-lateral h4 {
        text-align: left;
    }
    
    .annep-nav-menu,
    .annep-nav-menu > li > a,
    .annep-nav-menu ul li a {
        text-align: left !important;
    }
    
    /* Tipografia */
    .annep-col-center h1 {
        font-size: 22px;
    }
    
    .annep-col-center h2 {
        font-size: 18px;
    }
    
    /* Footer */
    .annep-footer-content {
        padding: 20px 15px !important;
    }
    
    .annep-footer-content table,
    .annep-footer-content tbody,
    .annep-footer-content tr,
    .annep-footer-content td {
        display: block;
        width: 100%;
    }
    
    .annep-footer-content td {
        text-align: center !important;
        padding: 15px 10px;
    }
    
    /* Alinhados à esquerda, junto com o resto do rodapé empilhado: centralizar
       só os logos os deixaria fora de prumo com o texto acima. */
    .footer-indexadores {
        justify-content: flex-start;
        margin-top: 20px;
    }

    /* 60px e não 80px: na largura de um celular, dois logos de 80px não cabem
       lado a lado e cada um ocupa uma linha inteira. */
    .footer-indexadores img {
        height: 60px !important;
    }
}

/* ===========================================
   13. RESPONSIVO - MOBILE PEQUENO (<480px)
   =========================================== */
@media (max-width: 480px) {
    .annep-col-center h1 {
        font-size: 20px;
    }
    
    .pkp_block .title,
    .panel-default > .panel-heading,
    .annep-menu-lateral h4 {
        font-size: 12px !important;
        padding: 8px 12px !important;
    }
    
    .btn,
    .btn-primary,
    .pkp_button {
        padding: 8px 15px;
        font-size: 13px;
    }
    
    /* Menor ainda que os 60px do bloco de 767px: aqui a tela tem no máximo
       480px e o logo precisa caber com a margem do rodapé. */
    .footer-indexadores img {
        height: 52px !important;
    }

    .footer-indexadores {
        gap: 10px;
    }
}

/* ===========================================
   14. PRINT
   =========================================== */
@media print {
    #sidebar,
    .pkp_structure_sidebar,
    .annep-col-right,
    .annep-footer,
    .annep-header {
        display: none !important;
    }
    
    .pkp_structure_main,
    .annep-col-center {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .annep-three-col {
        display: block !important;
    }
}

/* ===========================================
   FIM DO CSS - SBM Tech © Jan 2026
   =========================================== */


/* ===========================================
   17. PÁGINA DE INDEXAÇÃO
   =========================================== */
.indexing-page {
    font-family: var(--annep-font-body);
    color: var(--annep-text);
    line-height: 1.7;
}

.indexing-page h2 {
    color: var(--annep-primary);
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 3px solid var(--annep-primary);
    padding-bottom: 10px;
    margin: 30px 0 20px 0;
}

.indexing-page h2:first-child {
    margin-top: 0;
}

.indexing-page p {
    text-align: justify;
    margin-bottom: 15px;
    color: var(--annep-text-muted);
}

.indexing-page a {
    color: var(--annep-primary);
    text-decoration: none;
    font-weight: 600;
}

.indexing-page a:hover {
    color: var(--annep-primary-dark);
    text-decoration: underline;
}

/* Grid de logos */
.indexing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
    margin: 25px 0;
}

.indexing-item {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid var(--annep-border);
    border-radius: 8px;
    padding: 20px;
    min-height: 100px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.04);
}

.indexing-item:hover {
    box-shadow: 0 6px 16px rgba(0,0,0,0.1);
    transform: translateY(-3px);
    border-color: var(--annep-primary);
}

.indexing-item img {
    max-width: 160px;
    max-height: 70px;
    width: auto;
    height: auto;
    object-fit: contain;
    opacity: 0.9;
    transition: opacity 0.3s ease;
}

.indexing-item:hover img {
    opacity: 1;
}

/* Seção de descrição */
.indexing-description {
    background: var(--annep-bg-soft);
    border-left: 4px solid var(--annep-primary);
    padding: 20px 25px;
    margin: 20px 0;
    border-radius: 0 8px 8px 0;
}

/* Sponsors */
.sponsors-section {
    background: linear-gradient(135deg, var(--annep-bg) 0%, var(--annep-tint) 100%);
    padding: 30px;
    border-radius: 8px;
    text-align: center;
    margin: 30px 0;
}

.sponsors-section p {
    text-align: center;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--annep-text-muted);
    margin-bottom: 20px;
}

.sponsors-section img {
    max-width: 100%;
    height: auto;
}

/* Update note */
.update-note {
    text-align: right;
    font-style: italic;
    color: var(--annep-text-faint);
    font-size: 13px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid var(--annep-border-soft);
}

/* Responsivo - Indexing Page */
@media (max-width: 768px) {
    .indexing-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .indexing-item {
        padding: 15px;
        min-height: 80px;
    }
    
    .indexing-item img {
        max-width: 120px;
        max-height: 50px;
    }
}

@media (max-width: 480px) {
    .indexing-grid {
        grid-template-columns: 1fr;
    }
    
    .indexing-page h2 {
        font-size: 18px;
    }
}

/* ===========================================
   18. BLOCO FOLLOW US - REDES SOCIAIS
   =========================================== */

.block_social .title {
    text-align: right;
}


.social-follow {
    text-align: center;
}


.social-follow-icons a {
    background: var(--annep-primary) !important;
    color: #fff !important;
}


/* ===========================================
   18. BLOCO FOLLOW US - REDES SOCIAIS
   =========================================== */
.block_social {
    margin-bottom: 20px;
    background: #fff;
    border: 1px solid var(--annep-border);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.block_social .title {
    color: var(--annep-primary) !important;
    background-color: var(--annep-tint) !important;
    padding: 10px 15px !important;
    display: block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid var(--annep-border-soft);
}

.block_social .content {
    padding: 15px;
    background: #fff;
}

.social-follow-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
}

.social-follow-icons a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    text-decoration: none !important;
    transition: all 0.3s ease;
    font-size: 24px;
    padding: 0 !important;
}

.social-follow-icons a:hover {
    transform: translateY(-4px) scale(1.1);
    box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}

/* Instagram - Gradiente colorido */
.social-follow-icons a.social-instagram {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important;
    color: #fff !important;
}

.social-follow-icons a.social-instagram:hover {
    background: linear-gradient(45deg, #e6683c, #dc2743, #cc2366, #bc1888, #f09433) !important;
}

/* LinkedIn - Azul */
.social-follow-icons a.social-linkedin {
    background: #0077b5 !important;
    color: #fff !important;
}

.social-follow-icons a.social-linkedin:hover {
    background: #005885 !important;
}

/* X/Twitter - Preto */
.social-follow-icons a.social-twitter {
    background: #000 !important;
    color: #fff !important;
}

.social-follow-icons a.social-twitter:hover {
    background: var(--annep-text) !important;
}

.social-follow-icons i {
    color: #fff !important;
    line-height: 1;
}

/* Responsivo */
@media (max-width: 767px) {
    .social-follow-icons {
        gap: 12px;
    }
    
    .social-follow-icons a {
        width: 42px;
        height: 42px;
        font-size: 20px;
    }
}


/* ===========================================
   19. CENTRALIZAÇÃO DOS BLOCOS
   =========================================== */

/* Títulos dos blocos - centralizados */
.pkp_block .title,
.panel-default > .panel-heading,
.block_social .title {
    text-align: center !important;
}

/* Conteúdo dos blocos da sidebar esquerda - centralizado */
#sidebar .pkp_block .content,
.pkp_structure_sidebar .pkp_block .content,
.annep-col-left .pkp_block .content {
    text-align: center !important;
}

#sidebar .pkp_block ul,
.pkp_structure_sidebar .pkp_block ul,
.annep-col-left .pkp_block ul {
    text-align: center !important;
}

#sidebar .pkp_block li,
.pkp_structure_sidebar .pkp_block li,
.annep-col-left .pkp_block li {
    text-align: center !important;
}

#sidebar .pkp_block a,
.pkp_structure_sidebar .pkp_block a,
.annep-col-left .pkp_block a {
    text-align: center !important;
    display: block !important;
}

/* Os selos (secao 4) precisam de flex/inline-block, e a regra acima tem
   !important com id: sem esta excecao os cartoes voltam a ser bloco. */
#sidebar .pkp_block .annep-indexadores a,
.pkp_structure_sidebar .pkp_block .annep-indexadores a,
.annep-col-left .pkp_block .annep-indexadores a {
    display: flex !important;
}

#sidebar .pkp_block .annep-selo a,
.pkp_structure_sidebar .pkp_block .annep-selo a,
.annep-col-left .pkp_block .annep-selo a {
    display: inline-block !important;
}

/* Keywords cloud - centralizado */
.block_Keywordcloud .content {
    text-align: center !important;
}

/* Current Issue - centralizado */
.block_browse .content,
.block_information .content {
    text-align: center !important;
}

/* Menu direito - títulos centralizados, itens à direita */
.annep-col-right .annep-menu-lateral h4 {
    text-align: center !important;
}

/* Follow Us - já está centralizado, manter */
.block_social .content {
    text-align: center !important;
}

/* ===========================================
   20. MENU HAMBURGER - MOBILE
   =========================================== */

/* Botão hamburger - escondido em desktop */
.mobile-menu-toggle {
    display: none;
    position: fixed;
    top: 15px;
    right: 15px;
    z-index: 9999;
    background: var(--annep-primary);
    border: none;
    border-radius: 4px;
    padding: 10px;
    cursor: pointer;
    width: 44px;
    height: 44px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.hamburger-line {
    display: block;
    width: 24px;
    height: 3px;
    background: #fff;
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* Animação do X quando ativo */
.mobile-menu-toggle.active .hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
}

.mobile-menu-toggle.active .hamburger-line:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle.active .hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
}

/* Mobile - mostrar hamburger e esconder menu */
@media (max-width: 767px) {
    .mobile-menu-toggle {
        display: flex;
    }
    
    /* Menu lateral direito (ou a barra do topo) - escondido por padrão */
    .annep-menu-topo,
    .annep-col-right {
        position: fixed !important;
        top: 0 !important;
        right: -100% !important;
        width: 280px !important;
        max-width: 80% !important;
        height: 100vh !important;
        background: #fff !important;
        z-index: 9998 !important;
        overflow-y: auto !important;
        transition: right 0.3s ease !important;
        box-shadow: -5px 0 20px rgba(0,0,0,0.15) !important;
        padding-top: 70px !important;
        border-left: 3px solid var(--annep-primary) !important;
    }
    
    /* Menu aberto */
    .annep-menu-topo.mobile-menu-open,
    .annep-col-right.mobile-menu-open {
        right: 0 !important;
    }

    /* Barra do topo aberta no mobile: lista vertical, submenu embutido */
    .annep-menu-topo-inner {
        display: block;
        padding: 0 10px;
    }
    .annep-nav-topo {
        display: block;
    }
    .annep-nav-topo > li > a {
        color: var(--annep-primary);
        border-bottom: 1px solid var(--annep-border-soft);
    }
    .annep-nav-topo .dropdown-menu {
        position: static;
        display: block;
        box-shadow: none;
        border: none;
        background: var(--annep-bg-soft);
    }
    /* No mobile a coluna de blocos nao vira painel escondido: fica embaixo
       do conteudo, como a sidebar esquerda. */
    .annep-col-right-blocos {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        box-shadow: none !important;
        padding-top: 20px !important;
        border-left: none !important;
    }
    
    /* Overlay quando menu aberto */
    body.menu-open::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.5);
        z-index: 9997;
    }
    
    /* Ajustes do menu em mobile */
    .annep-col-right .annep-menu-lateral {
        position: relative;
        top: 0;
    }
    
    .annep-col-right .annep-menu-lateral h4 {
        text-align: center !important;
        padding: 15px;
        margin: 0;
        background: var(--annep-tint);
    }
    
    .annep-col-right .annep-nav-menu > li > a {
        text-align: left !important;
        padding: 15px 20px !important;
        font-size: 14px !important;
    }
    
    .annep-col-right .annep-nav-menu ul li a {
        text-align: left !important;
        padding: 12px 20px 12px 35px !important;
    }
    
    /* Follow Us em mobile */
    .annep-col-right .block_social {
        margin: 20px 15px;
    }
    
    .annep-col-right .block_social .title {
        text-align: center !important;
    }
}

/* Tablet - ajuste intermediário */
@media (max-width: 991px) and (min-width: 768px) {
    .mobile-menu-toggle {
        display: none;
    }
}

/* ===========================================
   21. ABSTRACT NO SUMÁRIO
   =========================================== */
.obj_article_summary {
    padding: 20px 0;
    border-bottom: 1px solid var(--annep-border-soft);
    margin-bottom: 15px;
}

.obj_article_summary:last-child {
    border-bottom: none;
}

.obj_article_summary .title {
    font-size: 16px;
    margin: 0 0 8px 0;
    line-height: 1.4;
}

.obj_article_summary .title a {
    color: var(--annep-primary) !important;
    text-decoration: none;
}

.obj_article_summary .title a:hover {
    color: var(--annep-primary-dark) !important;
    text-decoration: underline;
}

.obj_article_summary .authors {
    font-size: 14px;
    color: var(--annep-text-muted);
    margin-bottom: 5px;
}

.obj_article_summary .pages {
    font-size: 13px;
    color: var(--annep-text-faint);
    margin-bottom: 10px;
}

.obj_article_summary .doi {
    font-size: 13px;
    color: var(--annep-text-faint);
    margin-bottom: 10px;
}

.obj_article_summary .doi-link {
    color: var(--annep-primary);
    word-break: break-all;
}

.obj_article_summary .galleys {
    margin: 10px 0;
}

.obj_article_summary .galley-link {
    font-size: 12px;
    padding: 6px 15px;
}

/* Abstract styling */
.obj_article_summary .article-abstract {
    margin-top: 25px;
    padding: 15px;
    background: var(--annep-bg-soft);
    border-left: 3px solid var(--annep-primary);
    border-radius: 0 4px 4px 0;
}

.obj_article_summary .abstract-label {
    font-weight: 700;
    color: var(--annep-primary);
    font-size: 14px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 10px;
    letter-spacing: 0.5px;
}

.obj_article_summary .abstract-text {
    font-size: 13px;
    line-height: 1.6;
    color: var(--annep-text-muted);
    margin: 0 0 10px 0;
    text-align: justify;
}

.obj_article_summary .read-more {
    font-size: 12px;
    color: var(--annep-primary) !important;
    font-weight: 600;
    text-decoration: none;
}

.obj_article_summary .read-more:hover {
    text-decoration: underline;
}

/* Responsivo */
@media (max-width: 767px) {
    .obj_article_summary .article-abstract {
        padding: 12px;
    }
    
    .obj_article_summary .abstract-text {
        font-size: 12px;
    }
}


/* ============================================================
   NOTA SOBRE --annep-accent
   ------------------------------------------------------------
   O tema BAR nao tinha cor de destaque: usava so o verde e suas
   variacoes. A revista pode ter cor de destaque propria, entao a
   variavel esta definida acima mas NAO esta aplicada em lugar
   nenhum - aplicar por conta propria mudaria o desenho, e a
   combinacao pedida foi manter o layout do BAR.

   Se quiser usar o dourado, os pontos naturais sao:
     .annep-menu-lateral h4        (titulo MENU)
     .pkp_block .title           (titulo dos blocos)
     .btn-primary:hover
   ============================================================ */

/* ===========================================
   22. REDES SOCIAIS - CORES DE CADA REDE
   -------------------------------------------
   Cores abaixo sao a identidade de cada rede, por isso NAO
   usam as variaveis da revista.

   Vem no fim do arquivo de proposito: a secao "FOLLOW US" aparece
   duplicada no CSS herdado (secao 18, duas vezes), e so o que vem depois
   das duas copias tem efeito garantido.
   =========================================== */
.social-follow-icons a.social-facebook:hover {
    background: #1877f2 !important;
}

.social-follow-icons a.social-youtube:hover {
    background: #ff0000 !important;
}

/* Texto so para leitor de tela: os links sao icones, e sem isso quem usa
   leitor ouve "link" sem saber para onde. */
.social-follow-icons .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Banner em texto, quando a revista ainda nao subiu logo. */
.annep-banner-titulo {
    display: block;
    padding: 30px 15px;
    font-family: var(--annep-font-heading);
    font-size: 28px;
    font-weight: 700;
    color: var(--annep-primary);
    text-align: center;
}

/* Icone do ORCID na pagina do artigo. O tamanho vem do CSS do tema pai
   (bootstrapTheme-*.less), servido numa URL sem versao - quem visitou o site
   no 3.3 fica com o CSS antigo em cache, sem esta regra, e o SVG toma a
   coluna inteira. Repetida aqui, numa URL versionada, para nao depender do
   cache do leitor. Visto na ANNEP em 13/09/2026. */
.article-details .orcid_icon,
.obj_article_details .orcid_icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 0.25em;
    vertical-align: middle;
}
