/*
 * CSS Desktop - home-desktop.css
 * v4.5.0 - CORREÇÕES FINAIS APLICADAS
 * ✅ Proporção 16:8 em todos os heroes
 * ✅ Kicker Hero 1 posicionado corretamente
 * ✅ Tags PUBLICIDADE não cortadas (top: 0px)
 * ✅ Sidebar sticky z-index correto (4999)
 * ✅ Infinite scroll sem "pulo" (overflow-anchor + aspect-ratio)
 * ✅ Feed desktop 40% imagem / 60% texto
 * ✅ Botão "Veja Mais" tamanho correto
 */

/* ===================================================================
   BASE E RESET
   =================================================================== */

.home-desktop {
    background-color: #F9F9F9;
    font-family: 'Open Sans', Arial, sans-serif;
    min-height: 100vh;
    line-height: 1.4;
}

.container-desktop {
    max-width: 1135px;
    margin: 0 auto;
    padding: 0 20px;
}


/* ===================================================================
   SISTEMA DE TAGS PUBLICIDADE - UNIFICADO
   =================================================================== */

/* Estilo base para TODAS as tags PUBLICIDADE */
.publicidade-tag,
.ad-label,
.pj-newspaper-sidebar-native .td-ss-main-sidebar .widget_custom_html .widget-content::before,
.pj-newspaper-sidebar-native .td-ss-main-sidebar .widget_text .textwidget::before {
    background: #FF6600;
    color: white;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 3px;
    letter-spacing: 0.5px;
    font-family: 'Open Sans', Arial, sans-serif;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* Tags absolutas (dentro dos containers de anúncios) */
.publicidade-tag {
    position: absolute;
    top: 0px;
    left: 0px;
    display: inline-block;
    z-index: 10;
}

/* Tags externas (fora dos containers - nova estrutura) */
.ad-label {
    display: inline-block;
    margin-bottom: 3px; /* Espaço entre tag e anúncio */
    width: auto !important;
}

/* Tags automáticas da sidebar (::before) */
.pj-newspaper-sidebar-native .td-ss-main-sidebar .widget_custom_html .widget-content::before,
.pj-newspaper-sidebar-native .td-ss-main-sidebar .widget_text .textwidget::before {
    content: "PUBLICIDADE";
    position: absolute;
    top: 0px;
    left: 0;
    display: inline-block;
    z-index: 10;
}

/* Wrapper para estrutura com tag externa */
.ad-wrapper {
    display: block;
    margin: 30px 0;
}

/* Exceção: Anúncio cabeçalho sem tag */
.ad-header-desktop .publicidade-tag {
    display: none;
}

/* Container padrão de publicidade */
.publicidade-container {
    position: relative;
    margin-top: 30px;
    margin-bottom: 80px;
    padding: 0;
    background: transparent;
    border: none;
    min-height: 250px;
}

/* ===================================================================
   1. ANUNCIO CABEÇALHO
   =================================================================== */

.ad-header-desktop {
    width: 100%;
    margin: 20px auto 30px auto;
    text-align: center;
    min-height: 50px;
}

.ad-header-desktop .publicidade-container {
    max-width: 100%;
    margin: 0 auto;
    margin-top: 0;
}

/* ===================================================================
   2. GRID DE DESTAQUES - 4 HEROES COM PROPORÇÃO 16:8
   =================================================================== */

.highlights-desktop {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(2, minmax(200px, auto));
    gap: 15px;
    margin-bottom: 56px;
}

/* HERO 1 - PRINCIPAL (proporção 16:8, kicker posicionado) */
.hero-post-1 {
    grid-column: 1;
    grid-row: 1;
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
    aspect-ratio: 16/8; /* CORRIGIDO: era 16/10 */
    position: relative; /* ADICIONADO: para posicionar kicker */
}

.hero-post-1:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.hero-post-1 .hero-kicker-top {
    /* Kicker já posicionado inline no PHP - CSS de suporte */
    background: #d00;
    color: white;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 3px;
    display: inline-block;
    margin-bottom: 0;
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 10;
}

.hero-post-1 .hero-content {
    padding: 20px 30px 30px 30px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hero-post-1 .hero-title {
    font-size: 36px;
    line-height: 1.2;
    font-weight: 700;
    color: #003482;
	margin-top: 50px;
    margin-bottom: 12px;
    text-decoration: none;
}

.hero-post-1 .hero-excerpt {
    font-size: 15px;
    color: #666;
    line-height: 1.4;
    margin-bottom: 15px;
}

.hero-post-1 .time-label {
    background: rgba(245, 246, 247, 0.9);
    border: 1px solid rgba(227, 230, 234, 0.7);
    border-radius: 12px;
    padding: 4px 12px;
    font-size: 11px;
    font-weight: 600;
    color: #666;
    display: inline-block;
    align-self: flex-start;
}

/* HEROES 2, 3, 4 - Posicionamento */
.hero-post-2 {
    grid-column: 2;
    grid-row: 1;
}

.hero-post-3 {
    grid-column: 1;
    grid-row: 2;
}

.hero-post-4 {
    grid-column: 2;
    grid-row: 2;
}

/* HEROES COM OVERLAY - Estilo comum (proporção 16:8) */
.hero-post-2, .hero-post-3, .hero-post-4 {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    aspect-ratio: 16/8; /* CORRIGIDO: era 16/10 */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hero-post-2:hover, .hero-post-3:hover, .hero-post-4:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* Imagens de fundo com aspect-ratio 16:8 */
.hero-post-2 .hero-image,
.hero-post-3 .hero-image,
.hero-post-4 .hero-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.3s ease;
    aspect-ratio: 16/8; /* CORRIGIDO: era 16/10 */
}

.hero-post-2:hover .hero-image,
.hero-post-3:hover .hero-image,
.hero-post-4:hover .hero-image {
    transform: scale(1.05);
}

/* Overlay gradiente */
.hero-post-2 .hero-overlay,
.hero-post-3 .hero-overlay,
.hero-post-4 .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, transparent 0%, transparent 50%, rgba(0,0,0,0.7) 100%);
    z-index: 2;
}

/* Conteúdo dos heroes com overlay */
.hero-post-2 .hero-content,
.hero-post-3 .hero-content,
.hero-post-4 .hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    z-index: 3;
    color: white;
}

/* Kickers dos heroes com overlay - já posicionados inline no PHP */
.hero-post-2 .hero-kicker,
.hero-post-3 .hero-kicker,
.hero-post-4 .hero-kicker {
    background: #d00;
    color: white;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 3px;
    display: inline-block;
    margin-bottom: 0;
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 4;
}

/* Títulos dos heroes */
.hero-post-2 .hero-title, 
.hero-post-3 .hero-title,
.hero-post-4 .hero-title {
    font-size: 24px;
    line-height: 1.1;
    font-weight: 700;
    margin-bottom: 8px;
    text-shadow: 0 1px 3px rgba(0,0,0,0.7);
    color: white;
}

/* Excerpts dos heroes */
.hero-post-2 .hero-excerpt,
.hero-post-3 .hero-excerpt, 
.hero-post-4 .hero-excerpt {
    font-size: 15px;
	line-height: 1.3;
    color: rgba(255,255,255,0.9);
    margin-bottom: 10px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

/* Time labels dos heroes com overlay */
.hero-post-2 .time-label,
.hero-post-3 .time-label,
.hero-post-4 .time-label {
    background: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.3);
    color: rgba(255,255,255,0.9);
    font-size: 10px;
    padding: 3px 8px;
    border-radius: 10px;
    backdrop-filter: blur(4px);
}

/* Links dos heroes */
.hero-link {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%;
}

/* ===================================================================
   3. ANUNCIO TOPO
   =================================================================== */

.ad-top-desktop {
    margin-bottom: 40px;
    text-align: center;
    min-height: 50px;
}

.ad-top-desktop .publicidade-container {
    background: transparent;
    border: none;
}

/* ===================================================================
   4. GRID PRINCIPAL - SEM IMPEDIMENTOS STICKY
   =================================================================== */

.main-grid {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 30px;
    align-items: start;
    /* CRÍTICO: Garantir que sticky funcione */
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
    transform: none !important;
    contain: none !important;
    will-change: auto !important;
    position: relative !important;
}

/* ===================================================================
   5. FEED AREA - CORRIGIDO PARA EVITAR "PULO PRA CIMA"
   =================================================================== */

.feed-area {
    background: transparent;
    padding: 0;
    display: flex;
    flex-direction: column;
    
    /* CRÍTICO: Remove scroll anchoring que causa "pulo pra cima" */
    overflow-anchor: none !important;
}

.feed-post {
    display: flex;
    gap: 15px;
    padding: 20px 0;
    border-bottom: 1px solid #e0e0e0;
    align-items: flex-start;
    background: transparent;
    transition: background-color 0.2s ease;
}

.feed-post:hover {
    background: rgba(0,52,130,0.02);
}

.feed-post:last-child {
    border-bottom: none;
}

/* Imagens do feed - ASPECT-RATIO OBRIGATÓRIO */
.feed-post-image {
    flex: 0 0 25%;
    aspect-ratio: 16/9 !important; /* CRÍTICO: evita CLS no infinite scroll */
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    background: #f0f0f0; /* Placeholder enquanto carrega */
}

.feed-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
    aspect-ratio: inherit; /* ADICIONADO: herda aspect-ratio */
}

.feed-post-content {
    flex: 1;
    min-width: 0;
}

.feed-post-kicker {
    background: rgba(221, 0, 0, 0.1);
    color: #d00;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 3px;
    display: inline-block;
    margin-bottom: 8px;
}

.feed-post-title {
    font-size: 24px;
    line-height: 1.3;
    font-weight: 700;
    margin-bottom: 8px;
    color: #003482;
}

.feed-post-title a {
    text-decoration: none;
    color: #003482;
    transition: color 0.2s ease;
}

.feed-post-title a:hover {
    color: #002863;
}

.feed-post-excerpt {
    font-size: 14px;
    color: #666;
    line-height: 1.4;
    margin-bottom: 8px;
}

.feed-post-meta .time-label {
    background: rgba(245, 246, 247, 0.9);
    border: 1px solid rgba(227, 230, 234, 0.7);
    border-radius: 12px;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    color: #666;
}

/* ===================================================================
   6. ANUNCIOS NO FEED - FUNDO CINZA SEM SOBREPOR ADSENSE
   =================================================================== */

/* Containers dos anúncios - fundo cinza com padding interno */
.ad-top-desktop,
.ad-center-feed,
.ad-base-feed,
.ad-infinite-feed {
    margin: 10px 0;
    margin-top: 50px;
    width: 100%;
    min-height: 300px;
    background: #EEEEEE; /* Fundo cinza */
    border-radius: 6px;
    padding: 15px; /* CRÍTICO: espaço interno para não sobrepor */
    overflow: visible !important;
    position: relative;
    box-sizing: border-box; /* Inclui padding na width total */
}

/* Remove margin-top duplicado quando dentro de .ad-wrapper */
.ad-wrapper .ad-top-desktop,
.ad-wrapper .ad-center-feed,
.ad-wrapper .ad-base-feed,
.ad-wrapper .ad-infinite-feed {
    margin-top: 10px;
}

/* Containers internos - TRANSPARENTE para não duplicar fundo */
.ad-center-feed .publicidade-container,
.ad-base-feed .publicidade-container,
.ad-infinite-feed .publicidade-container,
.ad-top-desktop .publicidade-container {
    background: transparent !important; /* CRÍTICO: sem fundo */
    border: none;
    min-height: 270px; /* Reduzido: 300px - 30px de padding */
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Garante que <ins> do AdSense tenha espaço e fundo transparente */
.ad-top-desktop ins.adsbygoogle,
.ad-center-feed ins.adsbygoogle,
.ad-base-feed ins.adsbygoogle,
.ad-infinite-feed ins.adsbygoogle {
    display: block !important;
    width: 100% !important;
    min-height: 250px !important;
    background: transparent !important; /* CRÍTICO: sem fundo no <ins> */
}

/* ===================================================================
   7. BOTAO VEJA MAIS - TAMANHO CORRIGIDO
   =================================================================== */

.load-more-container {
    display: flex;
    justify-content: center;
    margin: 40px 0;
    width: 100%;
    clear: both;
    order: 999;
}

.load-more-btn {
    background: #003482;
    color: white;
    border: none;
    padding: 12px 24px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    min-width: 200px; /* CORRIGIDO: era 1000px, muito largo */
    max-width: 300px; /* ADICIONADO: limite máximo */
    position: relative;
}

.load-more-btn:hover {
    background: #004590;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 52, 130, 0.3);
}

.load-more-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* ===================================================================
   8. SIDEBAR STICKY - Z-INDEX CORRIGIDO
   =================================================================== */

/* CORREÇÃO: Remove impedimentos de TODOS os containers */
.pj-newspaper-sidebar-native {
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
    transform: none !important;
    contain: none !important;
    will-change: auto !important;
    position: relative !important;
}

.pj-newspaper-sidebar-native .container-desktop,
.pj-newspaper-sidebar-native .main-grid {
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
    transform: none !important;
    contain: none !important;
    will-change: auto !important;
    position: relative !important;
}

/* SIDEBAR STICKY DEFINITIVO - Z-INDEX CORRETO */
@media (min-width: 1024px) {
    .pj-newspaper-sidebar-native .td-ss-main-sidebar {
        width: 100% !important;
        max-width: 360px !important;
        margin-left: 20px !important;
        
        /* STICKY SEMPRE ATIVO - Z-INDEX CORRIGIDO */
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 120px !important;
        z-index: 4999 !important; /* CORRIGIDO: abaixo do header (5000) */
        align-self: flex-start !important;
        
        /* Remove impedimentos */
        overflow: visible !important;
        height: auto !important;
        min-height: auto !important;
        transform: none !important;
        contain: none !important;
        will-change: auto !important;
    }
    
    /* Smart Sidebar nativa assumindo controle */
    .pj-newspaper-sidebar-native .td-ss-main-sidebar.td-affix,
    .pj-newspaper-sidebar-native .td-ss-main-sidebar.td-affix-top,
    .pj-newspaper-sidebar-native .td-ss-main-sidebar.td-affix-bottom {
        position: sticky !important;
        top: 120px !important;
        z-index: 4999 !important; /* CORRIGIDO */
    }
}

/* ===================================================================
   9. WIDGETS SEM FUNDO BRANCO + TAGS AUTOMÁTICAS
   =================================================================== */

/* Widgets - fundo transparente */
.pj-newspaper-sidebar-native .td-ss-main-sidebar .widget {
    background: transparent !important;
    border-radius: 0;
    padding: 0;
    margin-bottom: 20px;
    box-shadow: none;
    position: relative;
    min-height: 250px; /* ADICIONADO: altura mínima evita CLS */
}

.pj-newspaper-sidebar-native .td-ss-main-sidebar .widget:last-child {
    margin-bottom: 0;
}

/* Widgets Custom HTML/Text - sem padding duplo */
.pj-newspaper-sidebar-native .td-ss-main-sidebar .widget_custom_html,
.pj-newspaper-sidebar-native .td-ss-main-sidebar .widget_text {
    padding: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

/* Conteúdo dos widgets com tag automática */
.pj-newspaper-sidebar-native .td-ss-main-sidebar .widget_custom_html .widget-content,
.pj-newspaper-sidebar-native .td-ss-main-sidebar .widget_text .textwidget {
    background: transparent;
    border-radius: 0;
    padding: 0;
    padding-top: 20px; /* CORRIGIDO: espaço adequado para tag */
    box-shadow: none;
    position: relative;
}

/* TAG PUBLICIDADE AUTOMÁTICA - CORRIGIDA */
.pj-newspaper-sidebar-native .td-ss-main-sidebar .widget_custom_html .widget-content::before,
.pj-newspaper-sidebar-native .td-ss-main-sidebar .widget_text .textwidget::before {
    content: "PUBLICIDADE";
    position: absolute;
    top: 0px; /* CORRIGIDO: alinhado com outras tags */
    left: 0;
    background: #FF6600;
    color: white;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 3px;
    z-index: 10;
    font-family: 'Open Sans', Arial, sans-serif;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* ===================================================================
   10. Z-INDEX HIERARCHY CORRIGIDO
   =================================================================== */

/* Header principal - mais alto */
.td-header-wrap,
.td-main-menu-wrap,
.header-search-wrap,
.td-main-menu,
.td-header-menu-wrap {
    z-index: 5000 !important;
}

/* Sidebar sticky - abaixo do header */
.td-ss-main-sidebar {
    z-index: 4999 !important;
}

/* Elementos do tema Newspaper */
.td-affix, 
.td-header-mobile-wrap, 
.td-search-wrapper {
    z-index: 4998 !important;
}

/* Conteúdo principal */
.main-grid,
.content-area,
.feed-area {
    z-index: 1;
    position: relative;
}

/* Anúncios e tags */
.publicidade-container, 
.publicidade-tag,
.ad-header-desktop, 
.ad-top-desktop, 
.ad-center-feed,
.ad-base-feed, 
.ad-infinite-feed {
    z-index: 1;
    position: relative;
}

/* ===================================================================
   11. FEED DESKTOP OTIMIZADO - 40% IMAGEM, 60% TEXTO
   =================================================================== */

/* Ajuste específico para desktop >= 1200px */
@media (min-width: 1200px) {
    .feed-area .feed-post {
        display: flex;
        gap: 20px;
    }
    
    .feed-area .feed-post-image {
        flex: 0 0 40%; /* CORRIGIDO: 40% para imagem */
        max-width: 40%;
    }
    
    .feed-area .feed-post-content {
        flex: 0 0 60%; /* CORRIGIDO: 60% para texto */
        max-width: 60%;
    }
}

/* ===================================================================
   12. RESPONSIVIDADE CORRIGIDA
   =================================================================== */

/* Desktop intermediário - manter 2 colunas até 1023px */
@media (max-width: 1200px) and (min-width: 1024px) {
    .main-grid {
        grid-template-columns: 3fr 1fr;
        gap: 25px;
    }
    
    .container-desktop {
        padding: 0 15px;
    }
    
    .pj-newspaper-sidebar-native .td-ss-main-sidebar {
        max-width: 320px !important;
        margin-left: 16px !important;
    }
    
    /* Heroes em coluna única nesta faixa */
    .highlights-desktop {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 15px;
        margin-bottom: 40px;
    }
    
    .hero-post-1, .hero-post-2, .hero-post-3, .hero-post-4 {
        grid-column: 1;
        grid-row: auto;
        min-height: 200px;
        aspect-ratio: 16/8; /* MANTÉM PROPORÇÃO CORRETA */
    }
}

/* Colapsar para 1 coluna APENAS em ≤1023px */
@media (max-width: 1023px) {
    .main-grid {
        grid-template-columns: 1fr !important;
        gap: 30px;
    }
    
    .pj-newspaper-sidebar-native .td-ss-main-sidebar {
        position: static !important;
        top: auto !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-top: 20px;
    }
    
    .highlights-desktop {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 15px;
        margin-bottom: 40px;
    }
    
    .hero-post-1, .hero-post-2, .hero-post-3, .hero-post-4 {
        grid-column: 1;
        grid-row: auto;
        min-height: 200px;
        aspect-ratio: 16/8; /* MANTÉM PROPORÇÃO CORRETA */
    }
    
    .feed-post {
        flex-direction: column;
        gap: 12px;
    }
    
    .feed-post-image {
        flex: none;
        width: 100%;
        max-width: 100%;
    }
    
    .hero-post-1 .hero-content {
        padding: 15px 20px 20px 20px;
    }
    
    .hero-post-1 .hero-title {
        font-size: 20px;
    }
    
    .hero-post-2 .hero-content,
    .hero-post-3 .hero-content,
    .hero-post-4 .hero-content {
        padding: 15px;
    }
    
    .publicidade-tag {
        font-size: 8px;
        padding: 2px 4px;
        top: 0px; /* MANTÉM CORREÇÃO */
    }
}

@media (max-width: 768px) {
    .container-desktop {
        padding: 0 10px;
    }
    
    .highlights-desktop {
        gap: 12px;
    }
    
    .main-grid {
        gap: 20px;
    }
    
    .load-more-btn {
        padding: 12px 30px;
        font-size: 14px;
        min-width: 150px; /* CORRIGIDO: tamanho mais apropriado */
    }
}

/* ===================================================================
   13. OTIMIZAÇÕES DE PERFORMANCE
   =================================================================== */

/* Remove will-change desnecessário */
* {
    will-change: auto;
}

/* Otimizações de rendering */
.highlights-desktop,
.main-grid,
.feed-area {
    contain: layout style;
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* ===================================================================
   14. FALLBACKS PARA NAVEGADORES ANTIGOS
   =================================================================== */

/* Se position: sticky não for suportado */
@supports not (position: sticky) {
    @media (min-width: 1024px) {
        .pj-newspaper-sidebar-native .td-ss-main-sidebar {
            position: fixed !important;
            top: 120px !important;
            width: 320px !important;
            right: calc((100vw - 1350px) / 2 + 20px) !important;
        }
    }
}

/* Fallback para navegadores muito antigos */
@media (min-width: 1024px) {
    .pj-newspaper-sidebar-native .td-ss-main-sidebar {
        /* Fallback CSS grid para flexbox */
        -webkit-box-flex: 0;
        -ms-flex: 0 0 360px;
        flex: 0 0 360px;
        
        /* Fallback position sticky */
        position: -webkit-sticky;
        position: -moz-sticky;
        position: -o-sticky;
        position: sticky;
    }
}

/* ===================================================================
   PJ • AdSense robusto (safe init) — acrescentar ao FINAL do arquivo
   =================================================================== */

/* Garante que o <ins> não colapse antes do push() */
ins.adsbygoogle {
  display: block !important;
  width: 100% !important;
  min-height: 250px; /* ajuste se sua unidade for diferente */
  background: transparent;
}

/* Wrappers genéricos (caso use esses nomes em HTML/AJAX) */
.ad-slot,
.ad-slot--infeed,
.ad-slot--display {
  display: block !important;
  width: 100% !important;
  min-height: 250px;
}

/* Cards de anúncio no feed — assegura linha cheia e não-colapso */
.feed-ad,
.card--ad,
.ad-infinite-feed {
  display: block;
  width: 100%;
  min-height: 250px;
}

/* Se houver alguma animação/lazy que esconda o card na entrada,
   evite iniciar com display:none/opacity:0 + width:0 */
.feed-ad.is-hidden,
.card--ad.is-hidden {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}



/* Fim do CSS - v4.5.0 - Todas as correções finais aplicadas */