/**
 * Estilos customizados para o front-end do site (tema).
 */

xref{
  vertical-align: super; /* Levanta o texto */
  font-size: 0.75em;      /* Diminui o tamanho (ajuste entre 0.7em e 0.8em conforme sua tipografia) */
  line-height: 0;
  font-weight: 700;
}

.filter-group {
    margin-bottom: 15px;
}

.filter-group .filter-label{
    margin-bottom:7px;
}

/* Estilo para o campo de busca por texto no formulário de filtros. */
.search-text-input {
    width: 100%;
    padding: 8px;
    margin-bottom: 1rem;
    border: 1px solid #ddd;
    border-radius: 4px;
}

/* --- Estilos de Ajuste para o Select2 --- */

/* Estilos gerais para a caixa de seleção */
.search-text-input{
    padding: 10px 10px 10px 12px !important;    
    border: 1px solid #C2C2C2 !important;
    border-radius: 4px;
}

.select2-selection {
    display: flex;
    padding: 10px 10px 10px 12px !important;
    align-items: center;
    gap: 4px;
    align-self: stretch;
    border-radius: 4px;
    border: 1px solid #C2C2C2 !important;
    background: #FFF;
}

.select2-selection .select2-search,
.select2-selection textarea {
    margin: 0px !important;
    padding: 0px !important;
}

/* Ajusta o tamanho da fonte dos itens selecionados (as "tags"). */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    font-size: 0.85rem;
    padding: 2px 5px 2px 20px;
    margin: 0px !important;
}

/* Ajusta o tamanho da fonte do campo de busca DENTRO do select múltiplo. */
/* Este é o campo que você mencionou com font-size: 100%. */
.select2-container .select2-search--inline .select2-search__field {
    font-size: 1rem !important; /* Força a fonte para um tamanho padrão. */
    padding: 0;
}

/* Estilo para o campo de busca */
.select2-search__field {
    margin-top: 5px !important;
    display: block;
    min-height: 24px;
}

/* Adiciona um pequeno espaçamento para evitar que o dropdown sobreponha o campo de busca. */
.select2-dropdown {
    /* top: 35px; */
    border-color: #ced4da; /* Cor de borda mais suave, padrão bootstrap. */
}

/* Ajusta o tamanho da fonte dos itens na lista de resultados do dropdown. */
.select2-results__option {
    font-size: 0.9rem; /* Define um tamanho de fonte menor e consistente para as opções. */
    padding: 6px 12px; /* Melhora o espaçamento interno. */
}

/* --- Estilos para o Escopo da Busca --- */
.search-scope-group {
    margin: -0.5rem 0 1rem 0; /* Espaçamento acima e abaixo do grupo. */
}

.search-scope-item {
    display: inline-block;
    margin-right: 15px;
    margin-top: 8px;
    font-size: 0.9rem;
}

.filter-actions a{
    font-size:12px !important;
    padding-left:10px;
    text-decoration: underline !important;
}

.swiper-wrapper > div{
    border:2px solid #d2d2d2;
    border-radius: 7px !important;
    overflow: hidden
}

.elementor-widget-post-info{
  & li{
    display: inline-flex;
    padding: 5px 10px !important;
    justify-content: center;
    align-items: center;
    gap: 5px;
    border-radius: 3px;
    background: #846CD9;
    
    & *{
      color: white !important;
      font-family: "Public Sans";
      font-size: 11px;
      font-style: normal;
      font-weight: 400;
      line-height: normal;
    }
    
    &[itemprop="about"]{
      background: #6A4EA6;
    }
    
    &:nth-last-child(-n+3),
    &[itemprop="datePublished"]{
      border: 1px solid #D2D2D2;
      background: transparent;
      
      & *{
        color:black !important;
      }
    }
  }
}

.pt-content title{
  display: block;
  color: #1E1E1E;
  /* Title/Medium */
  font-family: Mont;
  font-size: 22px;
  font-style: normal;
  font-weight: 600;
  line-height: 26px; /* 118.182% */
  margin-top:20px;
  margin-bottom:10px;
}

.pt_autores{
  & .elementor-shortcode{
    display: flex;
    flex-direction: column;
    gap:7px
  }

  & a.autor-link{
    color: #1E1E1E;
    font-family: "Public Sans";
    font-size: 15px !important;
    font-style: normal;
    font-weight: 400;
    line-height: normal;

    &:hover{
        text-decoration: underline;
    }
  }
  
  & .autor-item{
    display: flex;
    gap:6px;
  }
  
  & a.orcid-link{
    display: flex;
    width:43px;
    gap:5px !important;
    height: 14px;
    padding: 10px 7px !important;;
    align-items: center;
    gap: 3px;
    border-radius: 3px;
    background: #6A4EA6; 
    color: #FFF;
    font-size: 11px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    
    &:hover{
      background-color:#351C59;
    }
    
    & svg{
      scale: 0.9;
      margin-top: -3px
    }
    
    & svg path{
      fill:#fff;
    }
  }

  &.inline_mode .elementor-shortcode{
    display: inline;
    line-height: 1.5em;
  }
    
  &.inline_mode .autor-item{
    display: inline-flex;
    gap:6px;
  }

}

.patropi-n8n-citations-result{
  
  & h2{
    padding:0px;
    margin-top:0px;
  }
  
  & ul{
    list-style: none;
    margin: 0;
    padding: 0;
  }
  
  & a{
    color: #1E1E1E;
    font-family: "Public Sans";
    font-size: 15px !important;
    font-style: normal;
    font-weight: 400;
    line-height: normal;

    &:hover{
        text-decoration: underline !important;
    }
  }
}

/* Estilos para o shortcode de imagens da pasta */
.bjo-folder-images {
    display: flex;
    flex-direction: column;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.bjo-folder-image-item {
    position: relative;
}

.bjo-folder-image-item img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
    border: 1px solid #eee;
}

.bjo-image-tag {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: rgba(4, 27, 76, 0.5);
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    z-index: 10;
}

.article-tabs .e-n-tabs-content{
  max-height:85vh !important;
  overflow: scroll !important;
}


@media (max-width:1024px){
  .article-tabs .e-n-tabs-content {
    max-height: 80vh !important;
    overflow: scroll !important;
    padding-right:5px;
  }

  .pc-artigo-sidebar{
    top:0px;
    display: block !important;
    position: fixed !important;
    z-index: 10000 !important;
    width:95vw !important;
    left:100vw;
    transition: all 0.3s ease !important;
    padding-top:20px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    height:100% !important;
  }
  
  .pc-artigo-sidebar.open{
    left:5vw;
  }

  /* Estado inicial do ícone dentro do trigger */
  .pc-article-info .elementor-icon-box-icon {
      /* Define o tempo e o tipo de animação da rotação */
      transition: transform 0.4s ease; 
      
      /* Garante que o elemento possa rotacionar corretamente */
      display: inline-block; 
  }

  /* Estado quando o ícone está rotacionado (adicionado pelo JS) */
  .pc-article-info .elementor-icon-box-icon.rotated {
      transform: rotate(180deg);
  }

}


.bjo-news-categories-list{
  margin:0; 
  padding:0px;
  border:0px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap:7px;
  
  & a{
    color:#fff !important;
    border-radius: 3px;
    background: #6A4EA6 !important;
    padding:4px 8px;
    color: var(--PB-Marfin-claro, #FFF);
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal;
    transition: all 0.3s ease;
    
    &:hover{
      background-color:#0B1832 !important;
    }
  }
} 


.tax-dropdown-container {
    position: relative;
    width: 100%;
}

.tax-dropdown-container select {
    width: 100%;
    height: 45px;
    padding: 0 40px 0 15px; /* Espaço extra na direita para a seta */
    font-size: 16px;
    color: #333;
    border: 1px solid #d2d2d2;
    border-radius: 5px;
    cursor: pointer;
    background-color:#fff;
    color:#525a63 !important;
    font-size:15px;
    font-family: "Public Sans";
    border-color:#d2d2d2 !important
    
    /* Remove a seta padrão do navegador */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    /* Adiciona a seta personalizada como SVG */
    /* Cor inicial: #d2d2d2 */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d2d2d2' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center; /* Seta a 12px da borda */
    background-size: 18px;
    transition: background-image 0.3s ease, border-color 0.3s ease;
}

/* Hover apenas no campo muda apenas a cor do ícone */
.tax-dropdown-container select:hover {
    /* Cor no hover: Black (%23000000) */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

.pc-content{
  h1,h2,h3,h4,h5,h6{
    padding:0px;
    margin-bottom:10px;
    margin-top:30px;
  }
  
  & figure{
    position:relative;
    border-radius:10px;
    overflow: hidden;
    
    & figcaption{
      display: block;
      position:absolute;
      bottom:20px;
      background-color:rgba(0,0,0,0.6) !important;
      color:#fff;
      padding:10px 20px;
    }
  }

  & ul{
    margin-bottom:20px;
    & li{
      margin-bottom:7px
    }
  }

}

.pc-sidebar{
  
  & .elementor-sitemap-title{
    margin-bottom:10px;
  }
  
  & ul{
    margin:0px;
    padding: 0px;
    display: flex;
    flex-direction: column;
    gap:15px;
  }
  
  
}

.pc-content,
.pc-sidebar{
  & a{
    font-size:15px !important;
    text-decoration: underline !important;
    color: #351C59 !important;
    
    &:hover{
      color: #6A4EA6 !important;
    }
  }
}

#anchor-nav-container{
  a{
      color:#351C59 !important;
      text-decoration: underline;
  }

  a:hover{
      color:#6A4EA6 !important;
  }
  .nav-item-h1{padding-left: 0px !important;}
  .nav-item-h2{padding-left: 10px !important;}
  .nav-item-h3{padding-left: 20px !important;}
  .nav-item-h4{padding-left: 30px !important;}
  .nav-item-h5{padding-left: 40px !important;}
  .nav-item-h6{padding-left: 50px !important;}
}

.swal2-close{
  display: flex !important;
  width:30px !important;
  height:30px !important;
  font-size:30px !important;
  color:#AAAAAA !important;
  background-color: white !important;
  top:18px;
  right:20px;
  position:absolute !important;
  border-radius: 0px !important;
  
  &:hover{
    color:white !important;
    background-color: #041b4c !important;
  }
}

.bjo-destaque-menu a{
  background-color: var( --e-global-color-primary );
  box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, 0);
  border-style: none;
  border-radius: 3px 3px 3px 3px;
  color:white !important;
}

/* TABLET */

/* Esconder o container por padrão em tablets e celulares (abaixo de 1024px) */
@media (max-width: 1024px) {
    .pc_search_sidebar {
        display: none;
        overflow: hidden;
        width: 100%; /* Ajuste conforme seu layout */
        background-color: #ffffff; /* Exemplo */
        z-index: 999;
    }
}

@media (min-width: 1024px){
  /* Selecionamos o ID para a sidebar fixada rolar o conteúdo */
  /* Seleciona a coluna específica pelo ID */
  #sidebar-rolagem-independente {
      /* Força a altura máxima da coluna a ser a altura da janela de visualização (viewport height) */
      max-height: 80vh;
      
      /* Adiciona a barra de rolagem vertical apenas se necessário */
      overflow-y: auto;
      
      /* Garante rolagem suave no mobile */
      -webkit-overflow-scrolling: touch;
      
  }

  /* Opcional: Personalização da Barra de Rolagem (Discreta, apenas Chrome/Safari/Edge) */
  #sidebar-rolagem-independente::-webkit-scrollbar {
      width: 6px;
  }

  #sidebar-rolagem-independente::-webkit-scrollbar-thumb {
      background-color: #cccccc; /* Cor da barra */
      border-radius: 10px;
  }
  #sidebar-rolagem-independente::-webkit-scrollbar-track {
      background: transparent; /* Fundo invisível */
  }
}


/* 1. Estado Inicial do Menu (Escondido) */
.pc-mobile-menu {
    /* Forçamos a exibição mas com altura zero */
    display: block !important; 
    visibility: hidden;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    
    /* Suavidade do deslize */
    transition: max-height 0.5s ease-in-out, opacity 0.3s ease, visibility 0.3s;
    
    /* Garante que ele fique sobre o conteúdo */
    position: absolute;
    top: 100%; /* Aparece logo abaixo do header */
    left: 0;
    width: 100%;
    z-index: 9999;
    background-color: #fff; /* Ajuste conforme sua cor */
}

.pc-mobile-menu.pc_blog{
  display:flex !important;
}

/* 2. Estado Aberto (Quando clicado) */
.pc-mobile-menu.open {
    display:felx !important;
    visibility: visible;
    opacity: 1;
    max-height: 1000px; /* Um valor alto o suficiente para cobrir o menu */
}

/* 3. Ajuste do Ícone */
.pc-mobile-toggle {
    cursor: pointer;
    transition: transform 0.3s ease;
}
.pc-mobile-toggle.is-active {
    transform: rotate(90deg);
}

/* Se o Container pai for Flex, evite que ele esmague o menu */
.elementor-element.pc-mobile-menu {
    flex-basis: 100%;
}

/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
@media (max-width: 767px) {
    .pc-tabs-dropdown .e-n-tabs-heading {
        display: flex !important;
        flex-direction: column !important;
        max-height: 48px !important;
        overflow: hidden !important;
        /* Aumentamos um pouco o tempo para ser mais fluido */
        transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        border: 1px solid #001a4d !important;
        background-color: #001a4d !important;
        padding: 0 !important;
    }

    /* Mantém aberto durante a troca para evitar o pisca-pisca */
    .pc-tabs-dropdown .e-n-tabs-heading.is-open,
    .pc-tabs-dropdown .e-n-tabs-heading.switching {
        max-height: 500px !important;
    }

    .pc-tabs-dropdown .e-n-tab-title {
        width: 100% !important;
        min-height: 48px !important;
        display: flex !important;
        align-items: center !important;
        padding: 0 20px !important;
        background-color: #ffffff !important;
        color: #001a4d !important;
        border: none !important;
        border-bottom: 1px solid #f0f0f0 !important;
        order: 2 !important;
        /* Evita que o texto pule */
        transition: background 0.2s ease !important;
    }

    .pc-tabs-dropdown .e-n-tab-title[aria-selected="true"] {
        order: 1 !important;
        background-color: #001a4d !important;
        color: #ffffff !important;
    }

    /* Seta (Triângulo) */
    .pc-tabs-dropdown .e-n-tab-title[aria-selected="true"]::after {
        content: "" !important;
        position: absolute !important;
        right: 20px !important;
        width: 0 !important;
        height: 0 !important;
        border-left: 5px solid transparent !important;
        border-right: 5px solid transparent !important;
        border-top: 5px solid #ffffff !important;
        transition: transform 0.3s ease !important;
    }

    .pc-tabs-dropdown .e-n-tabs-heading.is-open .e-n-tab-title[aria-selected="true"]::after {
        transform: rotate(180deg) !important;
    }
}


/* Regras para a tabela dentro do conteúdo */
@media (max-width: 1023px) {
    .pt-content .pc-table-scroll-wrapper table {
        display: table !important; /* Garante comportamento de tabela */
        width: auto !important;     /* Permite que ela cresça além dos 100% */
        min-width: 500px;           /* Largura mínima para não esmagar dados */
        table-layout: auto !important; 
    }

    /* Container de Scroll */
    .pt-content .pc-table-scroll-wrapper {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch; /* Scroll suave no mobile */
        margin-top: 15px;
        margin-bottom: 15px;
        /* Adiciona uma borda sutil para delimitar a área de scroll */
        border: 1px solid #eeeeee; 
      
      & title{
        font-size:17px !important;
        text-align: left;
      }
    }


    /* Customização da barra de rolagem (opcional) */
    .pt-content .pc-table-scroll-wrapper::-webkit-scrollbar {
        height: 6px;
    }
    .pt-content .pc-table-scroll-wrapper::-webkit-scrollbar-thumb {
        background: #001a4d;
        border-radius: 10px;
    }
    .pt-content .pc-table-scroll-wrapper::-webkit-scrollbar-track {
        background: #f1f1f1;
    }
}
