/* ==========================================================================
   Resete e Configurações de Acessibilidade
   ========================================================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background-color: #f9f9f9;
    color: #111111;
    -webkit-font-smoothing: antialiased;
}

a {
    text-decoration: none;
    color: inherit;
}

.site-container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Cores das Editorias */
.cor-tecnologia { color: #008542 !important; } 
.cor-marketing { color: #006cc6 !important; }  
.cor-negocios { color: #d35400 !important; }   

/* ==========================================================================
   Header / Menu Superior FIXO
   ========================================================================== */
.main-header.menu-fixo {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.main-header {
    background-color: #c4170c; 
    padding: 14px 0;
}

.header-conteudo { display: flex; align-items: center; justify-content: space-between; }
.site-logo a { font-weight: 900; font-size: 34px; color: #ffffff; letter-spacing: -2px; }
.regiao-logo { color: #ffb1ad; font-size: 14px; font-weight: 800; margin-left: 8px; text-transform: uppercase; }
.nav-categorias a { color: #ffffff; font-weight: 700; font-size: 15px; margin-left: 20px; text-transform: lowercase; }

.header-espacador {
    height: 65px; 
}

/* ==========================================================================
   Espaços Publicitários (AdSense)
   ========================================================================== */
.publicidade-container { display: flex; justify-content: center; align-items: center; width: 100%; }
.adsense-bloco { width: 100%; max-width: 970px; text-align: center; }
.ads-label { display: block; font-size: 10px; color: #999999; letter-spacing: 1px; margin-bottom: 4px; font-weight: 600; }
.ads-placeholder-banner { background-color: #f1f1f1; border: 1px solid #e0e0e0; color: #777777; font-size: 12px; font-weight: bold; display: flex; align-items: center; justify-content: center; width: 100%; border-radius: 4px; }

/* ==========================================================================
   A Grade de Destaques Tripla (Topo da Home)
   ========================================================================== */
.grade-topo { display: grid; grid-template-columns: 1.2fr 1fr; gap: 20px; margin-top: 50px; }
.bloco-esquerdo { background: #ffffff; border: 1px solid #eaeaea; border-radius: 4px; padding: 40px 30px; display: flex; flex-direction: column; justify-content: center; }
.chapeu-topo { font-size: 13px; font-weight: 700; color: #666666; margin-bottom: 25px; display: block; }
.bloco-esquerdo .titulo-principal { font-size: 38px; line-height: 44px; font-weight: 800; color: #cc0000; letter-spacing: -0.5px; margin-bottom: 25px; }
.bloco-esquerdo .titulo-principal a:hover { color: #990000; }

.lista-subnoticias { list-style: none; padding-left: 0; border-top: 1px solid #f0f0f0; padding-top: 20px; }
.lista-subnoticias li { font-size: 16px; line-height: 22px; color: #444444; margin-bottom: 12px; position: relative; padding-left: 15px; }
.lista-subnoticias li::before { content: "•"; color: #cc0000; font-weight: bold; font-size: 20px; position: absolute; left: 0; top: -2px; }
.lista-subnoticias li a:hover { color: #cc0000; }

.bloco-direito { display: flex; flex-direction: column; gap: 20px; }
.card-visual { height: 240px; background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; border-radius: 4px; overflow: hidden; }
.link-total-card { display: block; width: 100%; height: 100%; }
.conteudo-card { position: absolute; bottom: 0; left: 0; width: 100%; padding: 25px; z-index: 2; }
.chapeu-card { font-size: 11px; font-weight: 800; color: #ffffff; background-color: #333333; padding: 4px 8px; display: inline-block; margin-bottom: 10px; text-transform: uppercase; }
.titulo-card { font-size: 22px; line-height: 26px; font-weight: 700; color: #ffffff; text-shadow: 1px 1px 4px rgba(0,0,0,0.8); }
.card-visual:hover .titulo-card { text-decoration: underline; }
/* ==========================================================================
   Feed Principal + Sidebar (Home)
   ========================================================================== */
.layout-feed-sidebar { display: grid; grid-template-columns: 2.2fr 1fr; gap: 40px; margin-top: 20px; }
.feed-principal { display: flex; flex-direction: column; }
.feed-item-linha { display: flex; gap: 25px; padding: 20px; border-bottom: 1px solid #e8e8e8; background-color: #ffffff; margin-bottom: 15px; border-radius: 4px; border: 1px solid #eaeaea; }
.feed-linha-imagem img { width: 280px; height: 175px; object-fit: cover; border-radius: 4px; display: block; }
.feed-linha-texto { flex: 1; display: flex; flex-direction: column; justify-content: flex-start; }
.chapeu-feed { font-size: 12px; color: #666666; font-weight: bold; text-transform: uppercase; margin-bottom: 6px; }
.titulo-feed-linha { font-size: 24px; line-height: 28px; font-weight: 800; color: #cc0000; margin-bottom: 12px; }
.titulo-feed-linha a:hover { text-decoration: underline; }
.bullets-feed-linha { list-style: none; margin-bottom: 15px; }
.bullets-feed-linha li { font-size: 14px; color: #555555; position: relative; padding-left: 12px; }
.bullets-feed-linha li::before { content: "•"; color: #cc0000; position: absolute; left: 0; font-size: 16px; top: -1px; }
.meta-feed-linha { font-size: 12px; color: #777777; margin-top: auto; }

.sidebar-principal { display: flex; flex-direction: column; }
.modulo-viu-isso { background-color: #ffffff; border: 1px solid #eaeaea; border-radius: 4px; padding: 20px; }
.titulo-sidebar { font-size: 16px; font-weight: 800; color: #333333; border-bottom: 2px solid #cc0000; padding-bottom: 6px; margin-bottom: 20px; text-transform: uppercase; }
.item-sidebar-chamada { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 15px; margin-bottom: 15px; border-bottom: 1px solid #f0f0f0; }
.item-sidebar-chamada:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.side-texto h4 { font-size: 14px; line-height: 19px; font-weight: 700; color: #cc0000; }
.side-imagem img { width: 90px; height: 65px; object-fit: cover; border-radius: 2px; }

/* ==========================================================================
   🔥 NOVA FORMATAÇÃO: Otimização da Página Interna da Notícia (Estilo G1)
   ========================================================================== */
.interna-grade-leitura {
    display: grid;
    grid-template-columns: 2fr 1fr; /* Coluna do texto maior na esquerda, AdSense na direita */
    gap: 45px;
    margin-top: 30px;
    background-color: #ffffff;
    padding: 40px 30px;
    border: 1px solid #eaeaea;
    border-radius: 4px;
}

.interna-container-noticia {
    max-width: 1000px;
    margin: 40px auto;
    padding: 0 20px;
}

.interna-chapeu { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; display: inline-block; }
.interna-titulo { font-size: 42px; line-height: 48px; font-weight: 800; color: #111111; margin-bottom: 18px; letter-spacing: -0.5px; }
.interna-subtitulo { font-size: 19px; line-height: 28px; color: #555555; margin-bottom: 25px; border-bottom: 1px solid #eeeeee; padding-bottom: 25px; }
.interna-meta { font-size: 13px; color: #666666; margin-bottom: 30px; display: block; line-height: 20px; }
.interna-capa { width: 100%; height: auto; max-height: 500px; object-fit: cover; border-radius: 4px; margin-bottom: 30px; display: block; }

/* 📝 Estilização Cirúrgica do Conteúdo do Texto (CKEditor) */
.interna-conteudo {
    font-size: 19px; /* Fonte encorpada idêntica ao portal */
    line-height: 32px; /* Espaçamento de linha extremamente confortável */
    color: #333333;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* FORÇA O ESPAÇAMENTO ENTRE PARÁGRAFOS */
.interna-conteudo p {
    margin-bottom: 28px; /* Cria o espaço em branco perfeito entre as quebras */
    display: block;
}

/* Suporte para realce de texto em vermelho vindo do editor */
.interna-conteudo strong, .interna-conteudo b {
    font-weight: 700;
    color: #111111;
}

/* Se você aplicar a cor vermelha no editor ou quiser criar uma classe */
.interna-conteudo .destaque-vermelho, 
.interna-conteudo strong[style*="color"], 
.interna-conteudo span[style*="color:#cc0000"],
.interna-conteudo span[style*="color: rgb(204, 0, 0)"] {
    color: #cc0000 !important;
    font-weight: 700;
}

.interna-conteudo img { max-width: 100%; height: auto; display: block; margin: 35px auto; border-radius: 4px; }
.interna-conteudo blockquote { border-left: 4px solid #cc0000; padding-left: 20px; font-style: italic; color: #444444; margin: 30px 0; font-size: 21px; }

/* ---- Conteúdo vindo do editor: links, títulos, listas e alinhamento ---- */
.interna-conteudo a { color: #006cc6; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.interna-conteudo a:hover { color: #004b8d; text-decoration-thickness: 2px; }
.interna-conteudo h2 { font-size: 28px; line-height: 34px; font-weight: 800; color: #111111; margin: 40px 0 16px; }
.interna-conteudo h3 { font-size: 22px; line-height: 30px; font-weight: 700; color: #111111; margin: 32px 0 12px; }
.interna-conteudo ul, .interna-conteudo ol { margin: 0 0 28px 28px; padding: 0; }
.interna-conteudo li { margin-bottom: 8px; }
.interna-conteudo div[style*="text-align"], .interna-conteudo p[style*="text-align"] { margin-bottom: 28px; }
.interna-conteudo s, .interna-conteudo strike { text-decoration: line-through; }

/* Sidebar de Anúncios Fixo/Flutuante na Interna */
.interna-sidebar-ads {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.ads-lateral-fixo {
    position: sticky;
    top: 90px; /* Faz o banner descer junto com a rolagem do texto */
    width: 100%;
}

/* ==========================================================================
   🌐 Rodapé Institucional
   ========================================================================== */
.main-footer { background-color: #222222; color: #bbbbbb; padding: 50px 0; margin-top: 60px; font-size: 13px; line-height: 20px; border-top: 4px solid #cc0000; }
.footer-conteudo { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; }
.footer-logo { font-size: 26px; color: #ffffff; letter-spacing: -1px; }
.footer-logo strong { color: #cc0000; margin-left: 4px; }
.footer-links a { color: #ffffff; margin: 0 10px; font-weight: 600; }
.footer-links a:hover { text-decoration: underline; }

/* ==========================================================================
   Responsividade
   ========================================================================== */
@media (max-width: 950px) {
    .grade-topo, .layout-feed-sidebar, .interna-grade-leitura { grid-template-columns: 1fr; }
    .feed-item-linha { flex-direction: column; }
    .feed-linha-imagem img { width: 100%; height: auto; aspect-ratio: 16/9; }
    .sidebar-principal, .interna-sidebar-ads { margin-top: 30px; }
    .interna-titulo { font-size: 32px; line-height: 38px; }
    .interna-grade-leitura { padding: 20px 15px; }
}
