/*
Theme Name: Neuros
Theme URI: http://demo.artureanec.com/themes/neuros/
Author: Artureanec
Author URI: https://demo.artureanec.com/
Description: Meet WordPress Theme by Artureanec - really amazing, powerful, clean and ultramodern product, that created with love and attention to details. We know it's difficult to represent yourself on the web in the right way, that's why we spent a lot of time trying to make our Theme more effective. It's flexible, easy customizable, high-quality and really easy to use! So everyone can make awesome website with it. Hope you'll like it. Enjoy!
Version: 2.1
License: GNU General Public License version 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: neuros
*/
/* ==============================================
   ESTILOS GERAIS E LAYOUT
   ============================================== */

/* FORÇA CARREGAMENTO IMEDIATO DAS REGRAS CRÍTICAS */
.sidebar-left, .sidebar-right, .sidebar, aside {
    writing-mode: horizontal-tb !important;
    transform: none !important;
    white-space: normal !important;
    text-align: left !important;
    direction: ltr !important;
    rotate: none !important;
    visibility: visible !important;
}

.sidebar-left *, .sidebar-right *, .sidebar *, aside * {
    writing-mode: horizontal-tb !important;
    transform: none !important;
    white-space: normal !important;
    rotate: none !important;
}

/* Força grid layout imediato */
.content-wrapper-three-columns {
    display: grid !important;
    grid-template-columns: minmax(200px, 250px) minmax(0, 1fr) minmax(200px, 250px) !important;
}

html, body {
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  width: 100%;
}

/* Container principal para layout de 3 colunas */
.content-wrapper-three-columns {
  display: grid;
  /* Define colunas: sidebar esquerda, conteúdo, sidebar direita */
  /* Usamos minmax para flexibilidade e para evitar que as sidebars fiquem muito pequenas */
  grid-template-columns: minmax(200px, 250px) minmax(0, 1fr) minmax(200px, 250px);
  gap: 20px; /* Espaçamento entre as colunas, ajuste conforme necessário */
  max-width: 1200px; /* Largura máxima do layout */
  margin: 0 auto; /* Centraliza o layout */
  padding: 20px 15px; /* Padding superior/inferior e lateral */
  align-items: start; /* Alinha os itens ao topo */
}

/* Colunas específicas */
.sidebar-left {
  grid-column: 1;
}

.content {
  grid-column: 2;
  min-width: 0; /* Importante para permitir que o conteúdo encolha e não quebre o layout */
}

.sidebar-right {
  grid-column: 3;
}

/* Estilos base para Sidebars (Esquerda e Direita) */
.sidebar-left,
.sidebar-right,
.sidebar, /* Classe genérica de sidebar, se usada pelo tema */
aside /* Elemento aside do HTML5 */ {
  width: 100%; /* Ocupa a largura da coluna do grid */
  writing-mode: horizontal-tb !important;
  transform: none !important;
  white-space: normal !important;
  text-align: left !important; /* Ou 'start' para melhor internacionalização */
  direction: ltr !important;
  rotate: none !important;
  overflow-wrap: break-word; /* Quebra palavras longas para evitar overflow */
  word-wrap: break-word; /* Alternativa para overflow-wrap */
  hyphens: auto; /* Habilita hifenização se o idioma estiver definido e suportado */
  box-sizing: border-box;
  /* Evite 'overflow: hidden;' aqui a menos que seja estritamente necessário,
     pois pode cortar conteúdo validamente posicionado (ex: dropdowns de widgets) */
}

/* Estilos para TODOS os elementos DENTRO das sidebars */
/* SEJA CAUTELOSO COM O SELETOR UNIVERSAL '*' E '!important' */
.sidebar-left *,
.sidebar-right *,
.sidebar *,
aside * {
  /* Mantenha apenas os resets absolutamente necessários aqui */
  writing-mode: horizontal-tb !important; /* Garante que o texto dentro dos elementos seja horizontal */
  transform: none !important;
  white-space: normal !important;
  text-align: inherit !important; /* Herda o alinhamento da sidebar pai */
  direction: inherit !important; /* Herda a direção da sidebar pai */
  rotate: none !important;
  max-width: 100%; /* Previne que elementos filhos estourem a largura da sidebar */
  box-sizing: border-box;
  /* NÃO use 'display: block !important;' aqui de forma generalizada! */
  /* Se precisar forçar display, faça em seletores mais específicos abaixo. */
}

/* Estilos específicos para elementos comuns dentro das sidebars */
.sidebar-left .widget,
.sidebar-right .widget {
  margin-bottom: 20px;
  /* Widgets já são geralmente block, mas podemos garantir */
  display: block;
}

.sidebar-left .widget-title,
.sidebar-right .widget-title {
  display: block; /* Títulos são block */
  line-height: 1.4;
  margin-bottom: 10px;
}

.sidebar-left p, .sidebar-left div,
.sidebar-right p, .sidebar-right div {
    display: block; /* Parágrafos e divs genéricas são block */
}

.sidebar-left ul, .sidebar-left ol,
.sidebar-right ul, .sidebar-right ol {
  margin: 0;
  padding-left: 20px; /* Estilo padrão para listas */
  list-style-position: inside; /* Ou outside, conforme preferência */
}

.sidebar-left li,
.sidebar-right li {
  margin-bottom: 5px;
  /* 'display' de 'li' é 'list-item', que é similar a 'block'. Não precisa forçar. */
}

/* Links e spans dentro da sidebar - geralmente devem ser inline ou inline-block */
.sidebar-left a, .sidebar-left span,
.sidebar-right a, .sidebar-right span {
    /* Não force 'display: block' aqui. Deixe o display natural ou use 'inline'/'inline-block' se necessário. */
    /* Exemplo: se precisar que um link ocupe toda a largura mas se comporte como texto: */
    /* display: inline-block; width: 100%; */
}


/* Imagens e Tabelas nas sidebars */
.sidebar-left img, .sidebar-right img,
.sidebar-left table, .sidebar-right table {
  max-width: 100%;
  height: auto;
  display: block; /* Para imagens, 'block' remove espaço extra abaixo */
}

.sidebar-left table, .sidebar-right table {
  width: 100%;
  table-layout: fixed;
}


/* ==============================================
   LAYOUT PARA PÁGINA DE POST ÚNICO E BLOG
   ============================================== */

/* Se você usa .content-wrapper-single para posts únicos com UMA sidebar ou nenhuma */
.content-wrapper-single {
  display: flex; /* Ou grid, dependendo da sua necessidade */
  gap: 2rem;
  align-items: flex-start;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 15px;
}
.content-wrapper-single .sidebar-left,
.content-wrapper-single .sidebar-right {
  flex: 0 0 250px; /* Largura fixa para sidebar em layout flex */
}
.content-wrapper-single .content {
  flex: 1;
}


/* Ajustes para a página de blog, se necessário */
.blog .content-wrapper-three-columns {
  /* Você pode querer que a página de blog não tenha padding lateral para que os posts ocupem mais espaço */
  /* padding-left: 0 !important; */ /* Cuidado com !important */
  /* padding-right: 0 !important; */
  /* max-width: 100% !important; */ /* Se quiser largura total */
}

.blog .posts-wrapper,
.blog .entry-content,
.blog .post-grid {
  max-width: 1200px; /* Ou o valor que você usa no resto do site */
  margin: 0 auto;
}


/* ==============================================
   RESPONSIVIDADE
   ============================================== */
@media (max-width: 1024px) {
  .content-wrapper-three-columns,
  .content-wrapper-single { /* Aplicar também ao layout de post único se ele existir */
    grid-template-columns: 1fr; /* Muda para uma única coluna */
    gap: 20px;
    padding: 15px 10px;
  }

  .sidebar-left,
  .sidebar-right,
  .content {
    grid-column: 1; /* Todos os itens na primeira (e única) coluna do grid */
    width: 100%;
    max-width: none;
  }

  /* Ordem dos elementos em telas menores para layout de 3 colunas */
  .content-wrapper-three-columns .content { order: 1; }
  .content-wrapper-three-columns .sidebar-left { order: 0; }
  .content-wrapper-three-columns .sidebar-right { order: 2; }

  /* Para layout flex (content-wrapper-single) */
  .content-wrapper-single {
      flex-direction: column;
  }
  .content-wrapper-single .sidebar-left,
  .content-wrapper-single .sidebar-right {
      flex: 1 1 100%; /* Ocupa toda a largura */
      width: 100%;
  }
}

@media (max-width: 768px) {
  .content-wrapper-three-columns,
  .content-wrapper-single {
    padding: 10px 5px;
    gap: 15px;
  }
}

/* ==============================================
   ÍCONES FONT AWESOME (se não estiverem em outro lugar)
   ============================================== */
.icon-button-arrow.left::before,
.icon-button-arrow.right::before,
.owl-next::before {
  content: "\f105"; /* fa-chevron-right */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.owl-prev::before {
  content: "\f104"; /* fa-chevron-left */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.icon-arrow-top::before {
  content: "\f106"; /* fa-chevron-up */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

/* Tamanho para ícones de carrossel e seta para o topo */
.owl-prev::before,
.owl-next::before,
.icon-arrow-top::before {
  font-size: 2em;
  display: inline-block; /* Garante que o tamanho seja aplicado */
}

/* Hover (opcional, se quiser manter o mesmo ícone) */
.icon-button-arrow.left:hover::before,
.icon-button-arrow.right:hover::before,
.owl-next:hover::before {
  content: "\f105";
}
.owl-prev:hover::before {
  content: "\f104";
}
.icon-arrow-top:hover::before {
  content: "\f106";
}

/* ==============================================
   CORREÇÕES ESPECÍFICAS DE ESPAÇAMENTO (SE NECESSÁRIO)
   ============================================== */
.post-media-wrapper {
  margin-bottom: 20px;
}
.post-meta-header {
  margin-bottom: 15px;
}
.post-title {
  margin-top: 0;
  margin-bottom: 20px;
}
.single-post { /* Geralmente o contêiner do post único */
    /* margin: 0; padding: 0; Se necessário para remover espaços extras */
}



/* Oculta o container principal com as informações de contato */
.wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {
  display: none !important;
}

/* Oculta o título "Subscribe for latest updates & insights" */
.wp-block-heading[style*="Subscribe for latest updates"] {
  display: none !important;
}

/* Oculta o parágrafo de descrição com a classe longa */
.has-text-color.has-link-color.wp-elements-5bee6e6e8414b58b5ebd8510cff83a62 {
  display: none !important;
}


.content-wrapper.content-wrapper-three-columns {
    /* Remove a margem horizontal que causa o espaço bege grande */
    margin-left: auto; /* Mantém centralizado se houver max-width */
    margin-right: auto; /* Mantém centralizado se houver max-width */
    
    /* Se você quiser um pequeno espaço nas laterais da página inteira, use padding aqui */
    /* Exemplo: padding-left: 20px; */
    /* Exemplo: padding-right: 20px; */

    /* OU, se você quiser que o wrapper ocupe mais largura, ajuste max-width */
    /* max-width: 1300px; /* Ajuste conforme necessário, o tema pode já ter um */
}

body.single-post .content-wrapper.content-wrapper-three-columns {
    max-width: 1200px; /* Define uma largura máxima para o conteúdo principal. Ajuste este valor conforme o design desejado. */
    margin-left: auto;  /* Centraliza o container na página */
    margin-right: auto; /* Centraliza o container na página */
    padding-left: 15px; /* Pequeno padding para não colar nas bordas em telas menores que max-width */
    padding-right: 15px;/* Pequeno padding para não colar nas bordas em telas menores que max-width */
    padding-top: 20px;
    padding-bottom: 20px;
    display: flex;
    gap: 30px; /* Espaçamento uniforme entre a sidebar esquerda, conteúdo e sidebar direita. Ajuste este valor. */
    box-sizing: border-box; /* Garante que padding e border não aumentem a largura total do elemento */
}

.content-wrapper.content-wrapper-three-columns > .sidebar.sidebar-left {
    flex-basis: 270px; /* Largura da sidebar esquerda. Ajuste se necessário. */
    flex-shrink: 0;
}

.content-wrapper.content-wrapper-three-columns > .content {
    flex-grow: 1;
    min-width: 0; /* Importante para flexbox lidar com conteúdo que pode transbordar */
}

.content-wrapper.content-wrapper-three-columns > .sidebar.sidebar-right {
    flex-basis: 300px; /* Largura da sidebar direita. Ajuste se necessário. */
    flex-shrink: 0;
}

/* Remove paddings/margins laterais das colunas filhas, se houver, para que o 'gap' controle o espaçamento */
.content-wrapper.content-wrapper-three-columns > .sidebar,
.content-wrapper.content-wrapper-three-columns > .content {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
}

/* Ajustes para o .content-wrapper na Homepage */
body.home .content-wrapper {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 30px; /* Ajuste para o espaçamento lateral desejado */
    padding-right: 30px;/* Ajuste para o espaçamento lateral desejado */
    /* As classes content-wrapper-remove-top-margin e content-wrapper-remove-bottom-margin
       já devem estar cuidando das margens verticais, se presentes no HTML. */
}

/* Se a seção "Hub de dados" ou a grade de posts estiver dentro de outro container
   com largura limitada ou padding/margin excessivo, você pode precisar ajustar esse container também.
   Exemplo, se for um #primary ou .site-content: */
body.home #primary,
body.home .site-content {
    max-width: none; /* Permite que o .content-wrapper interno controle a largura */
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
}

/* --- AJUSTES LAYOUT DE POST INDIVIDUAL (3 COLUNAS) --- */

body.single-post .content-wrapper.content-wrapper-three-columns {
    max-width: 1200px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px; 
    padding-right: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
    display: flex;
    gap: 25px; /* Ajuste este valor para o espaçamento desejado entre as colunas */
    box-sizing: border-box;
}

/* Sidebar Esquerda */
body.single-post .content-wrapper.content-wrapper-three-columns > .sidebar.sidebar-left {
    flex-basis: 220px; /* Reduzido - ajuste conforme necessário */
    flex-shrink: 0;   /* Impede que encolha demais */
}

/* Conteúdo Principal - Coluna do Meio */
body.single-post .content-wrapper.content-wrapper-three-columns > .content {
    flex-grow: 1; /* Permite que cresça para ocupar o espaço disponível */
    flex-basis: 0;  /* Começa com base 0 para que flex-grow distribua melhor o espaço */
    min-width: 0; 
}

/* Sidebar Direita */
body.single-post .content-wrapper.content-wrapper-three-columns > .sidebar.sidebar-right {
    flex-basis: 250px; /* Reduzido - ajuste conforme necessário */
    flex-shrink: 0;   /* Impede que encolha demais */
}

/* Garante que não haja paddings/margins internos nas colunas que interfiram */
body.single-post .content-wrapper.content-wrapper-three-columns > .sidebar,
body.single-post .content-wrapper.content-wrapper-three-columns > .content {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
}

/* Estilos base (para telas > 1400px, por exemplo) */
body.single-post .content-wrapper.content-wrapper-three-columns > .sidebar.sidebar-left {
    flex-basis: 200px;
}
body.single-post .content-wrapper.content-wrapper-three-columns > .sidebar.sidebar-right {
    flex-basis: 230px;
}

/* Para telas entre 1025px e 1400px */
@media (min-width: 1025px) and (max-width: 1400px) {
    body.single-post .content-wrapper.content-wrapper-three-columns > .sidebar.sidebar-left {
        flex-basis: 240px; /* Um pouco mais largas */
    }
    body.single-post .content-wrapper.content-wrapper-three-columns > .sidebar.sidebar-right {
        flex-basis: 270px; /* Um pouco mais largas */
    }
    body.single-post .content-wrapper.content-wrapper-three-columns {
        gap: 20px; /* Talvez um gap menor */
    }
}

/* Breakpoint existente para telas <= 1024px (onde vira coluna única) */
@media (max-width: 1024px) {
  .content-wrapper-three-columns {
    /* Seus estilos para empilhar as colunas */
    display: flex; /* Muda para flex se estava grid */
    flex-direction: column;
  }
  .content-wrapper-three-columns > .sidebar.sidebar-left,
  .content-wrapper-three-columns > .content,
  .content-wrapper-three-columns > .sidebar.sidebar-right {
      flex-basis: auto; /* Reseta o flex-basis */
      width: 100%;
  }
  /* Ordem para empilhamento se necessário */
  .content-wrapper-three-columns .content { order: 1; }
  .content-wrapper-three-columns .sidebar-left { order: 0; }
  .content-wrapper-three-columns .sidebar-right { order: 2; }
}

body.home .content-wrapper {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0px;
    padding-right: 30px;
}


body.home .content-wrapper {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0px; /* <--- Potencial problema */
    padding-right: 30px;
}

/* Este seletor pode precisar ser mais específico para a seção/widget do HUB */
.elementor-widget-container-do-seu-hub { /* Substitua pela classe ou ID correto */
    display: flex;
    justify-content: center; /* Centraliza o .archive-listing se ele for menor que o container */
    width: 100%; /* Garante que ocupe o espaço disponível */
}

.archive-listing {
    /* Se você quiser que a listagem em si tenha uma largura máxima e se centralize */
    max-width: 1200px; /* Ou a largura desejada para a grade de posts */
    width: 100%; /* Para ser responsivo até a max-width */
    margin-left: auto;
    margin-right: auto;
}
