/* --- TEMA HUBSIMPLES v2.3 --- */

/* 1. VARIÁVEIS E ESTILOS GLOBAIS */
:root {
    --primary-color: #ae0000; /* Vermelho principal */
    --dark-color: #212529;
    --light-gray-color: #f8f9fa;
    --border-color: #dee2e6;
    --body-font: 'Roboto', sans-serif;
    --heading-font: 'Montserrat', sans-serif;
}

body {
    font-family: var(--body-font);
    background-color: #fff;
    color: var(--dark-color);
}

a {
    color: var(--primary-color);
    text-decoration: none;
}
a:hover {
    color: #810000; /* Vermelho mais escuro para hover */
    text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--heading-font);
    font-weight: 700;
}

/* 2. CABEÇALHO E NAVEGAÇÃO */
.site-header .top-bar {
    background-color: var(--primary-color); 
    border-bottom: 1px solid rgba(0,0,0,0.2);
}
.site-header .logo-link { color: #fff; text-decoration: none; }
.site-header .logo-link img { max-height: none; height: auto; max-width: 450px; }
.main-nav { background-color: var(--primary-color) !important; border-top: 1px solid rgba(255,255,255,0.2); }
.main-nav .nav-link { color: rgba(255,255,255,.8); font-weight: 500; text-transform: uppercase; font-size: 0.9rem; padding: 0.75rem 1rem; }
.main-nav .nav-link:hover, .main-nav .nav-link.active { color: #fff; background-color: rgba(0,0,0,0.1); }
.navbar-toggler { border-color: rgba(255,255,255,0.5); }
.navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
.main-nav .form-control-sm { background-color: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); color: #fff; }
.main-nav .form-control-sm::placeholder { color: rgba(255,255,255,0.7); }
.main-nav .btn-outline-light { color: #fff; border-color: #fff; }
.main-nav .btn-outline-light:hover { background-color: #fff; color: var(--primary-color); }


/* 3. GRADE DE DESTAQUES (HOME) */
.featured-grid-section { margin-bottom: 2rem; }
/* CORREÇÃO: Força as colunas a terem a mesma altura */
.featured-grid-section .row { align-items: stretch; }
.featured-post { position: relative; overflow: hidden; border-radius: 12px; display: block; color: #fff; background-color: #333; }
.featured-post:hover img { transform: scale(1.05); }
.featured-post img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.featured-post::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 60%); z-index: 1;}
.featured-post-content { position: absolute; bottom: 0; left: 0; width: 100%; padding: 1.5rem; z-index: 2; }
.featured-post-content .category-badge { background-color: var(--primary-color); color: #fff; padding: 0.3rem 0.8rem; font-size: 0.75rem; font-weight: 700; border-radius: 5px; text-transform: uppercase; }
.featured-post-content .post-title { color: #fff; font-size: 1.8rem; margin-top: 0.5rem; line-height: 1.3; text-shadow: 1px 1px 3px rgba(0,0,0,0.7); }
.featured-post-small .post-title { font-size: 1.1rem; }
.featured-grid-right-col { display: flex; flex-direction: column; gap: 1.5rem; height: 100%; }
.featured-grid-right-col .featured-post { flex-grow: 1; }


/* 4. CARDS DE NOTÍCIA (HOME, CATEGORIA, BUSCA) */
.post-card { border: 1px solid var(--border-color); border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); transition: transform 0.2s ease, box-shadow 0.2s ease; background-color: #fff; display: flex; flex-direction: column; }
.post-card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,0,0,0.1); }
.post-card .card-img-top { border-top-left-radius: 8px; border-top-right-radius: 8px; height: 200px; object-fit: cover; }
.post-card .card-body { flex-grow: 1; display: flex; flex-direction: column; }
.post-card .post-category a { font-size: 0.8rem; font-weight: 700; color: var(--primary-color); text-transform: uppercase; text-decoration: none; }
.post-card .post-title { font-size: 1.1rem; font-weight: 600; line-height: 1.4; flex-grow: 1; margin-bottom: 1rem; }
.post-card .post-title a { color: var(--dark-color); text-decoration: none; }
.post-card .post-title a:hover { color: var(--primary-color); }


/* 5. PÁGINA DE NOTÍCIA ÚNICA (single.php) */
.single-post-title { font-size: 1.00rem; font-weight: 700; line-height: 1.2; }
.single-post-meta { font-size: 0.9rem; color: #6c757d; margin-bottom: 1.5rem; }
.single-post-content { font-size: 1.1rem; line-height: 1.8; }
.single-post-content img { max-width: 100%; height: auto; border-radius: 8px; margin: 1.5rem 0; }
.social-share-section { padding: 1rem 0; margin: 1.5rem 0; border-top: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color); }
.social-share-buttons { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.social-share-buttons .share-label { font-weight: 700; margin-right: 10px; font-family: var(--heading-font); }
.social-share-buttons .share-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: #fff !important; padding: 8px 15px; border-radius: 5px; text-decoration: none; font-size: 0.9rem; font-weight: 500; transition: opacity 0.2s ease; }
.social-share-buttons .share-btn:hover { opacity: 0.85; text-decoration: none; }
.share-btn.whatsapp { background-color: #25D366; }
.share-btn.facebook { background-color: #1877F2; }
.share-btn.pinterest { background-color: #E60023; }
.share-btn.twitter-x { background-color: #000000; }


/* 6. SIDEBAR */
.sidebar-widgets .widget-box { background-color: #fff; padding: 1.5rem; border-radius: 8px; margin-bottom: 1.5rem; border: 1px solid var(--border-color); }
.sidebar-widgets .widget-title { font-size: 1.25rem; margin-bottom: 1rem; padding-bottom: 0.75rem; border-bottom: 2px solid var(--primary-color); }
.sidebar-widgets ul { list-style: none; padding: 0; margin: 0; }
.sidebar-widgets ul li { padding: 0.5rem 0; border-bottom: 1px solid #f0f0f0; }
.sidebar-widgets ul li:last-child { border-bottom: none; }
.sidebar-widgets ul li a { color: #333; font-weight: 500; }
.sidebar-widgets ul li a:hover { color: var(--primary-color); }


/* 7. RODAPÉ */
.site-footer { background-color: var(--primary-color); color: rgba(255,255,255,0.8); padding: 3rem 0 1.5rem 0; margin-top: 3rem; }
.site-footer h5 { color: #fff; font-weight: 700; text-transform: uppercase; font-size: 1rem; margin-bottom: 1.5rem; }
.site-footer p, .site-footer ul li { font-size: 0.9rem; }
.site-footer a { color: rgba(255,255,255,0.8); }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.2); padding-top: 1.5rem; margin-top: 1.5rem; }
.footer-bottom .developer-logo { height: 22px; max-width: 120px; width: auto; vertical-align: middle; margin-left: 5px; }
/* ==========================================================================
   10. BANNER DE CONSENTIMENTO DE COOKIES (LGPD)
   ========================================================================== */

.cookie-consent-banner {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    max-width: 450px; /* Largura máxima em telas grandes */
    background-color: #fff;
    color: var(--dark-color);
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
    z-index: 1050; /* Garante que fique acima da maioria dos elementos */
    display: none; /* Começa escondido */
    font-size: 0.95rem;
    line-height: 1.6;
}

.cookie-consent-banner.show {
    display: block;
    animation: slide-up 0.5s ease-out;
}

.cookie-consent-banner p {
    margin: 0 0 15px 0;
}

.cookie-consent-banner a {
    color: var(--primary-color);
    font-weight: 500;
    text-decoration: underline;
}

.cookie-consent-banner .btn-accept {
    background-color: var(--primary-color);
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
    font-weight: 700;
}
.cookie-consent-banner .btn-accept:hover {
    opacity: 0.9;
}

@keyframes slide-up {
    from {
        transform: translateY(30px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
/* ==========================================================================
   11. AJUSTES DE RESPONSIVIDADE
   ========================================================================== */

@media (max-width: 767.98px) { /* Aplica estes estilos para celulares */
    
    /* Reduz o tamanho do título principal na página da notícia */
    .single-post-title {
        font-size: 2rem; /* Tamanho original era 2.8rem */
        line-height: 1.3;
    }

    /* Ajusta o tamanho dos títulos na grade de destaques */
    .featured-post-content .post-title {
        font-size: 1.4rem;
    }
    .featured-post-small .post-title {
        font-size: 1rem;
    }

    /* Outros ajustes para melhorar a leitura em telas pequenas */
    .main-content {
        padding: 15px;
    }
}