/*
Theme Name: Portal Cnews
Theme URI: https://csites.com.br/
Author: Csites
Author URI: https://csites.com.br/
Description: Tema profissional para portais de notícias com suporte completo ao Gutenberg, otimizado para PageSpeed, Core Web Vitals e SEO
Version: 2.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cnews-theme
Tags: news, blog, two-columns, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready, block-styles, wide-blocks, accessibility-ready
*/

/* ==========================================================================
   VARIÁVEIS CSS
   ========================================================================== */
:root {
    --primary-bg: #0a0a0a;
    --primary-dark: #1a1a1a;
    --secondary-dark: #222;
    --text-light: #fff;
    --text-gray: #999;
    --text-dark: #333;
    --blue-dark: #304660;
    --blue-medium: #0055aa;
    --blue-light: #0066cc;
    --accent-gradient: linear-gradient(135deg, #003366 0%, #0055aa 100%);
    --overlay-dark: rgba(0, 0, 0, 0.92);
    --overlay-blur: rgba(0, 0, 0, 0.75);
    --border-color: #2a2a2a;
    --border-light: rgba(255, 255, 255, 0.1);
    --border-gray: #e6e6e6;
    --transition-normal: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-fast: 0.15s ease-out;
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.15);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.2);
    --font-title: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-content: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 2rem;
    --spacing-lg: 3rem;
    --spacing-xl: 4rem;
    --bp-mobile: 768px;
    --bp-tablet: 991px;
    --bp-desktop: 1024px;
}

/* ==========================================================================
   RESET 
   ========================================================================== */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
dl, dd, ol, ul,
figure, hr,
fieldset, legend {
    margin: 0;
    padding: 0;
}

ol, ul {
    list-style: none;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
    font-weight: 700;
}

a {
    text-decoration: none;
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
    height: auto;
}

/* ==========================================================================
   PERFORMANCE — DOM / PAINT OPTIMIZATION
   content-visibility: auto → o browser pula render de seções off-screen.
   contain: layout style  → isola recálculos de estilo nos componentes.
   will-change aplicado APENAS em elementos que realmente animam (sticky-nav,
   mobile-navigation, menu-overlay) — nunca globalmente.
   ========================================================================== */

/* Componentes below-fold: render lazy pelo browser */
.sidebar-area,
.related-posts-section,
.mais-lidas,
.more-news-section,
.ad-in-content,
.footer-widgets,
.site-footer {
    content-visibility: auto;
    contain-intrinsic-size: auto 300px; /* estimativa de altura para evitar CLS */
}

/* Isolar recálculos de layout em cards de notícia */
.archive-post-item,
.relacionada-item,
.mais-lidas-item,
.more-news-item {
    contain: layout style;
}

/* Promover elementos animados para compositor — só eles precisam de will-change */
.sticky-nav {
    will-change: transform;
}
.mobile-navigation {
    will-change: transform;
}
.menu-overlay {
    will-change: opacity;
}

input,
button,
textarea,
select {
    font: inherit;
}

button,
input[type="submit"],
input[type="button"] {
    cursor: pointer;
    border: none;
    background: none;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* ==========================================================================
   TIPOGRAFIA BASE
   ========================================================================== */
html {
    scroll-behavior: smooth;
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    overflow-x: clip; /* evita scroll horizontal sem quebrar position:sticky */
}

body {
    font-family: var(--font-content);
    background: #ffffff;
    color: #1a1a1a;
    font-size: 1.6rem;
    line-height: 1.6;
    overflow-x: clip; /* 'clip' não cria scroll container, não quebra sticky */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body.no-scroll,
body.search-open,
body.menu-open {
    overflow: hidden !important;
    height: 100vh;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-title);
    font-weight: 700;
    line-height: 1.2;
    color: #111;
}

p {
    margin-bottom: 1.5rem;
    line-height: 1.8;
}

a {
    color: var(--blue-dark);
    text-decoration: none;
    transition: color var(--transition-normal);
}

a:hover,
a:focus {
    color: var(--blue-medium);
}

ul, ol {
    margin: 1.5rem 0;
    padding-left: 2rem;
}

li {
    margin-bottom: 0.5rem;
}

blockquote {
    margin: 2rem 0;
    padding: 2rem 3rem;
    background: #f8f9fa;
    border-left: 5px solid var(--blue-dark);
    font-size: 1.8rem;
    font-style: italic;
    color: #555;
    line-height: 1.7;
}

code,
pre {
    font-family: 'Courier New', monospace;
    font-size: 1.4rem;
    background: #f5f5f5;
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
}

pre {
    padding: 1.5rem;
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin: 2rem 0;
}

th,
td {
    padding: 1rem;
    border: 1px solid #e6e6e6;
    text-align: left;
}

th {
    background: #f8f9fa;
    font-weight: 600;
}

/* ==========================================================================
   LAYOUT E GRID
   ========================================================================== */
.container {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

.layout-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 3rem;
    margin-top: 3rem;
}

.content-area {
    min-width: 0;
    max-width: 100%;
}

.content-post {
    min-width: 0;
    max-width: 90%;
}

.sidebar-area {
    width: 100%;
}

.single-layout {
    margin-top: 3rem;
    margin-bottom: 4rem;
}

.single-layout.layout-grid {
    grid-template-columns: 1fr 340px;
    gap: 3rem;
}

/* ==========================================================================
   NOTÍCIAS RELACIONADAS
   ========================================================================== */
.noticias-relacionadas {
    display: block;
    margin: 40px 0;
    border-top: 1px solid #e6e6e6;
    font-family: var(--font-content);
    clear: both;
    width: 100%;
    box-sizing: border-box;
}

.noticias-relacionadas .titulo-relacionadas {
    display: block;
    font-family: var(--font-title);
    font-size: 2.4rem!important;
    font-weight: 700;
    margin-bottom: 2rem;
    line-height: 1;
    color: #111;
    padding-bottom: 1.5rem;
    border: none;
    background: none;
}

.noticias-relacionadas .relacionadas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    margin: 0;
    padding: 0;
}

.noticias-relacionadas .relacionadas-grid-vertical {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
}

.noticias-relacionadas .relacionada-item {
    display: flex;
    gap: 20px;
    text-decoration: none !important;
    margin: 0;
    padding: 0;
    padding-bottom: 20px;
    padding-right: 20px;
    border: none;
    background: none;
    transition: color 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
}

.noticias-relacionadas .relacionada-thumb {
    flex: 0 0 125px;
    width: 125px;
    height: 90px;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    background: #eee;
}

.noticias-relacionadas .relacionada-thumb::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #00427a;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
    pointer-events: none;
}

.noticias-relacionadas .relacionada-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
    padding: 0;
    border-radius: 0;
    display: block;
    transition: transform 0.3s ease;
}

.noticias-relacionadas .relacionada-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    padding: 0;
}

.noticias-relacionadas .relacionada-chapeu {
    font-size: 1.1rem;
    font-weight: 700;
    color: #c40000;
    text-transform: uppercase;
    margin: 0 0 4px 0;
    line-height: 1.2;
}

.noticias-relacionadas .relacionada-title {
    font-family: var(--font-title);
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.3;
    color: #111;
    margin: 0;
    transition: color 0.3s ease;
}

.noticias-relacionadas .relacionada-item:hover .relacionada-thumb::before {
    opacity: 0.25;
}

.noticias-relacionadas .relacionada-item:hover .relacionada-title {
    color: #00427a;
}

.noticias-relacionadas a,
.noticias-relacionadas a:hover,
.noticias-relacionadas a:visited {
    text-decoration: none !important;
    color: inherit;
    border: none !important;
    box-shadow: none !important;
}

@media (max-width: 480px) {
    .noticias-relacionadas .relacionada-item {
        flex-direction: row;
        gap: 12px;
    }
    .noticias-relacionadas .relacionada-thumb {
        flex: 0 0 100px;
        width: 100px;
        height: 72px;
    }
    .noticias-relacionadas .relacionada-title {
        font-size: 1.4rem;
    }
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header {
    background: #ffffff;
    color: #333333;
    width: 100%;
    z-index: 9998;
    padding: 18px 0;
    border: none;
}

.divisor-menu {
	background-color: #e6e6e6;
	height: 1px;
	width: 100%;
	display: block;
	border: none;
	margin: 0;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.header-top-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 2rem;
    padding: 0;
}

.header-left {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 2rem;
}

.header-date {
    font-size: 1.4rem;
    font-weight: 500;
    color: #333333;
    white-space: nowrap;
}

.header-weather {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.header-logo {
    display: flex;
    justify-content: center;
    align-items: center;
}

.header-search {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.5rem;
}

.site-logo img {
    max-height: 80px;
    width: auto;
    display: block;
}

.logo-text {
    font-family: var(--font-title);
    font-size: 2.8rem;
    font-weight: 900;
    color: #333333;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: opacity var(--transition-normal);
}

.logo-text:hover {
    opacity: 0.85;
}

.header-title {
    font-size: 1.6rem;
    padding: 0 4rem 0 0.8rem;
    font-family: var(--font-content);
    font-weight: 700;
}

.banner-topo {
    margin-top: 1rem;
}

.link-contato {
    display: inline-flex;
    align-items: center;
}

.link-contato .icone-contato {
    margin-left: 60px; /* espaço garantido */
    display: inline-flex;
}

/* ==========================================================================
   NAVEGAÇÃO
   ========================================================================== */
.navigation-bar {
    background: #f8f9fa;
    width: 100%;
    border-bottom: 1px solid #e6e6e6;
}

.navigation-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.navigation-menu .nav-menu-list {
    justify-content: center;
}

.nav-menu-list {
    display: flex;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.nav-menu-list li {
    margin: 0;
}

.nav-menu-list a {
    color: #333333;
    font-weight: 600;
    font-size: 1.4rem;
    text-transform: uppercase;
    text-decoration: none;
    transition: color var(--transition-normal), background-color var(--transition-normal), opacity var(--transition-normal), box-shadow var(--transition-normal);
    padding: 1.8rem 2.5rem;
    display: block;
    position: relative;
}

.mobile-only {
    display: none;
}

.desktop-only {
    display: block;
}

/* ==========================================================================
   NAVEGAÇÃO STICKY
   ========================================================================== */
.sticky-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(10, 10, 10, 0.98);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: var(--shadow-md);
    z-index: 99999;
    /* Usar transform em vez de top para aproveitar GPU layer (melhor performance) */
    transform: translateY(-110%);
    transition: transform var(--transition-normal);
    border-bottom: 1px solid var(--border-light);
    will-change: transform;
}

.sticky-nav.visible {
    transform: translateY(0);
}

.sticky-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
    gap: 2rem;
}

.sticky-logo {
    display: flex;
    align-items: center;
    order: 1;
}

.sticky-logo img {
    max-height: 50px;
    width: auto;
}

.sticky-menu {
    display: flex;
    align-items: center;
    order: 2;
}

.sticky-menu-list {
    display: flex;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sticky-menu-list li {
    margin: 0;
}

.sticky-menu-list a {
    color: var(--text-light);
    font-weight: 600;
    font-size: 1.2rem;
    text-transform: uppercase;
    text-decoration: none;
    transition: color var(--transition-normal), background-color var(--transition-normal), opacity var(--transition-normal), box-shadow var(--transition-normal);
    padding: 2.3rem 2rem;
    display: block;
}

/* ==========================================================================
   MENU LATERAL MOBILE
   ========================================================================== */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    z-index: 100000;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-normal), visibility var(--transition-normal);
    pointer-events: none;
}

body.menu-open .menu-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.mobile-navigation {
    position: fixed;
    top: 0;
    left: -100%;
    width: 85%;
    max-width: 320px;
    height: 100vh;
    background: #0a274f;
    z-index: 100001;
    transition: left var(--transition-slow);
    overflow-y: auto;
    box-shadow: var(--shadow-lg);
    border-radius: 0 12px 12px 0;
    will-change: transform;
}

body.menu-open .mobile-navigation {
    left: 0;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2rem 2.5rem;
    border-bottom: none;
    background: transparent;
}

.mobile-menu-header .logo-menu {
    max-width: 140px;
    height: auto;
    display: flex;
    align-items: center;
}

.mobile-menu-header .logo-menu img {
    width: auto;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    display: block;
}

.close-menu {
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: #ffffff;
    cursor: pointer;
    padding: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.4rem;
    line-height: 1;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    transition: color var(--transition-normal), background-color var(--transition-normal), opacity var(--transition-normal), box-shadow var(--transition-normal);
}

.close-menu svg {
    width: 22px;
    height: 22px;
}

.close-menu:hover {
    background: rgba(255, 255, 255, 0.2);
}

.mobile-menu-list {
    list-style: none;
    padding: 1rem 0;
    margin: 0;
}

.mobile-menu-list li {
    margin: 0;
    border-bottom: none;
}


.mobile-menu-list li a {
    display: flex;
    align-items: center;
    padding: 1.6rem 2.5rem;
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 500;
    font-size: 1.6rem;
    transition: color var(--transition-normal), background-color var(--transition-normal), opacity var(--transition-normal), box-shadow var(--transition-normal);
    position: relative;
    border-radius: 0;
}

.mobile-menu-list li a:hover {
    color: #f1f1f1 !important;
}

/* ==========================================================================
   OVERLAY DE BUSCA
   ========================================================================== */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}

input[type="search"]::-ms-clear,
input[type="search"]::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}

.mobile-search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--overlay-blur);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 100002;
    transition: color var(--transition-normal), background-color var(--transition-normal), opacity var(--transition-normal), box-shadow var(--transition-normal);
}

body.search-open .mobile-search-overlay {
    display: flex;
}

.search-wrap-inner {
    width: 90%;
    max-width: 700px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.close-search-overlay {
    position: absolute;
    top: -80px;
    right: 0;
    background: none;
    border: none;
    color: var(--text-light);
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 1.8rem;
    font-weight: 600;
}

.close-search-overlay svg {
    border: 2px solid var(--text-light);
    border-radius: 50%;
    padding: 0.2rem;
    transition: transform var(--transition-normal);
}

.close-search-overlay:hover svg {
    transform: scale(1.1);
}

.search-pill-box {
    width: 100%;
    background: var(--text-light);
    border-radius: 0.8rem;
    padding: 0.8rem;
    box-shadow: var(--shadow-lg);
}

.search-pill-form {
    display: flex;
    align-items: center;
    width: 100%;
}

.search-pill-input {
    flex: 1;
    border: none;
    padding: 10px 20px;
    font-size: 1.8rem;
    color: #333;
    outline: none;
    background: transparent;
}

.search-pill-submit {
    background: none;
    border: none;
    padding: 0 20px;
    cursor: pointer;
    display: flex;
    color: var(--blue-dark);
    transition: opacity var(--transition-normal);
}

.search-pill-submit:hover {
    opacity: 0.7;
}

/* ==========================================================================
   BOTÕES E ÍCONES
   ========================================================================== */
.menu-toggle,
.search-toggle {
    background: none;
    border: none;
    color: #333333;
    cursor: pointer;
    transition: opacity var(--transition-normal);
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu-toggle:hover,
.search-toggle:hover {
    opacity: 0.8;
}

.menu-toggle svg {
    width: 22px;
    height: 22px;
}

.search-toggle svg {
    width: 22px;
    height: 22px;
}

/* ==========================================================================
   OTIMIZAÇÕES DE PERFORMANCE
   ========================================================================== */
.mobile-navigation,
.mobile-search-overlay,
.site-header {
    transform: translateZ(0);
    backface-visibility: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.post-thumbnail img,
.more-news-thumbnail img,
.thumb-destaque img,
.relacionada-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumb-destaque,
.more-news-thumbnail,
.post-thumbnail {
    transform: translateZ(0);
}

/* ==========================================================================
   BANNER SINGLE
   ========================================================================== */
.banner-single {
    position: sticky;
    top: 100px;
    align-self: flex-start;
    z-index: 10;
}

.sidebar,
.coluna-lateral {
    display: flex;
    flex-direction: column;
}

/* ==========================================================================
   SIDEBAR WIDGETS
   ========================================================================== */
.widget-area {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.widget {
    padding: 0;
    top: 2rem;
}

.widget-title {
    font-family: var(--font-title);
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 2rem;
    line-height: 1;
    color: #111;
    padding-bottom: 1.5rem;
    border-bottom: 3px solid var(--blue-dark);
}

.widget_search .search-form {
    display: flex;
    gap: 0.5rem;
}

.widget_search .search-field {
    flex: 1;
    padding: 1rem 1.5rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1.4rem;
}

.widget_search .search-submit {
    padding: 1rem 2rem;
    background: var(--blue-dark);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition-normal);
}

.widget_search .search-submit:hover {
    background: #002244;
}

.widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget ul li {
    padding: 1rem 0;
    border-bottom: 1px solid #e6e6e6;
}

.widget ul li:last-child {
    border-bottom: none;
}

.widget ul li a {
    color: #333;
    text-decoration: none;
    font-size: 1.4rem;
    transition: color var(--transition-normal);
    display: block;
}

.widget ul li a:hover {
    color: var(--blue-dark);
}

.widget .post-date {
    display: block;
    font-size: 1.2rem;
    color: #999;
    margin-top: 0.5rem;
}

.widget ul li .count {
    float: right;
    color: #999;
    font-size: 1.2rem;
}

.tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.tagcloud a {
    display: inline-block;
    padding: 0.6rem 1.2rem;
    background: #fff;
    color: #333;
    text-decoration: none;
    border-radius: 4px;
    font-size: 1.3rem;
    transition: color var(--transition-normal), background-color var(--transition-normal), opacity var(--transition-normal), box-shadow var(--transition-normal);
    border: 1px solid #e6e6e6;
}

.tagcloud a:hover {
    background: var(--blue-dark);
    color: #fff;
    border-color: var(--blue-dark);
}

/* ==========================================================================
   MAIS LIDAS
   ========================================================================== */

.mais-lidas-titulo {
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 2rem;
    color: #1f3c5b; 
    line-height: 1.2;
    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e5e5e5; 
}

.mais-lidas-titulo::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 60px; 
    height: 4px;
    background-color: #0a4a8a; 
}

/* =========================
   DESTAQUE (POST 1)
   ========================= */

.mais-lidas-destaque {
    margin-bottom: 1.125rem;
}

.mais-lidas-destaque a {
    text-decoration: none;
    display: block;
}

.thumb-destaque {
    position: relative;
    border-radius: 0.8rem; /* 8px */
    overflow: hidden;
    margin-bottom: 0.625rem;
}

.thumb-destaque::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--blue-dark);
    opacity: 0;
    transition: opacity var(--transition-normal);
    z-index: 1;
    pointer-events: none;
}

.mais-lidas-destaque a:hover .thumb-destaque::before {
    opacity: 0.2;
}

.thumb-destaque img {
    width: 100%;
    height: 190px;
    display: block;
    object-fit: cover;
}

.numero-destaque {
    position: absolute;
    bottom: -0.8rem;
    left: 1.5rem;
    font-size: 8rem; /* 80px */
    font-weight: 900;
    color: #ffffff;
    line-height: 1;
    text-shadow: 2px 2px 10px rgba(0,0,0,0.3); /* Melhora legibilidade */
}

.titulo-destaque {
    font-size: 1.8rem; /* 28px */
    font-weight: 700;
    line-height: 1.1;
    margin: 0;
}

/* =========================
   LISTA DE ITENS
   ========================= */

.mais-lidas-lista {
    margin: 2rem 0 4rem 0;
    display: flex;
    flex-direction: column;
    gap: 1.6rem; 
}

.mais-lidas-item {
    display: grid;
    grid-template-columns: 10.1rem 1fr;
    gap: 1.6rem;
    align-items: start;
}

.mais-lidas-conteudo {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.relacionada-chapeu {
    font-size: 1.4rem;
    font-weight: 700;
    color: #304660;
    text-transform: normal;
}

.mais-lidas-link {
    font-size: 1.4rem; 
    font-weight: 700;
    text-decoration: none;
    line-height: 1.1;
    transition: color 0.2s ease;
}

/* MINIATURA DA LISTA */
.thumb-mini {
    position: relative;
    border-radius: 0.8rem;
    overflow: hidden;
    flex-shrink: 0;
}

.thumb-mini::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--blue-dark);
    opacity: 0;
    transition: opacity var(--transition-normal);
    z-index: 1;
    pointer-events: none;
}

.mais-lidas-item:hover .thumb-mini::before {
    opacity: 0.2;
}

.mais-lidas-item:hover .mais-lidas-link {
    color: var(--blue-dark);
}

.thumb-mini img {
    width: 100%;
    max-width: 10.1rem;
    height: 8rem;
    object-fit: cover;
    border-radius: 0;
    display: block;
}

/* =========================
   MOBILE RESPONSIVO
   ========================= */

@media (max-width: 48rem) { /* 768px */

    .mais-lidas-item {
        display: flex;
        align-items: flex-start;
        gap: 1.2rem;
        text-decoration: none;
        width: 100%;
        margin-bottom: 1rem;
    }
	
	.titulo-destaque {
		font-size: 2rem; 
		font-weight: 700;
		line-height: 1.2;
		margin: 0;
	}

    /* MINIATURA DA LISTA */
	.thumb-mini img {
		width: 14rem;
		height: 11rem;
		object-fit: cover;
		border-radius: 0;
		display: block;
	}

    /* Conteúdo */
    .mais-lidas-conteudo {
        display: flex;
		font-size: 2.8rem;
        flex-direction: column;        
    }

    /* Chapéu (categoria) */
    .mais-lidas-chapeu {
        font-size: 1.2rem;
        line-height: 1.2;
        margin-bottom: 0.125rem;
    }
	
	.mais-lidas-link {
		font-size: 1.6rem; 
		font-weight: 700;
		line-height: 1.2;
		margin: 0;
	}

    /* Título */
    .mais-lidas-titulo {
        font-size: 2.4rem;
        line-height: 1.1;
        font-weight: 600;        
    }

}

/* ==========================================================================
   PÁGINA DE BUSCA
   ========================================================================== */
.page-header {
    margin: 4rem 0 6rem 0;
    padding-bottom: 2rem;
    font-size: 2.6rem;
    border-bottom: 1px solid #e6e6e6;
}

.page-title {
    font-family: var(--font-title);
    font-size: clamp(2.8rem, 4vw, 3.6rem);
    line-height: 1;
    margin-bottom: 1rem;
}

.page-title span {
    color: var(--blue-dark);
}

.archive-description {
    color: #666;
    font-size: 1.6rem;
    line-height: 1.6;
    margin-top: 1.5rem;
}

.search-filters-bar {
    background: #f6f7f7;
    font-family: var(--font-content);
    padding: 12px;
    border-radius: .5rem;
    margin-bottom: 24px;
}

.breadcrumb,
.breadcrumb span,
.results-count {
    font-size: 16px;	
}

.breadcrumb span {
    font-weight: 600;
}

.results-count {
    font-weight: 400;	
}

.filter-row,
.scroll-mobile {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.filter-item input,
.filter-item select {
    height: 40px;
    padding: 0 12px;
    border-radius: .5rem;
    border: 1px solid #e6e6e6;
    background-color: #fff;
    font-size: 14px;
    font-family: inherit;
}

.search-input input {
    min-width: 280px;
}

.filter-item select {
    appearance: none;
}

.date-filter input {
    width: 160px;
    cursor: pointer;
}

.filter-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.clear-filters {
    font-size: 13px;
    color: #50575e);
    text-decoration: none;
}

.clear-filters:hover {
    text-decoration: underline;
}

.btn-buscar {
    background: var(--blue-dark, #2271b1);
    color: #fff;
    border: none;
    padding: 0 16px;
    height: 40px;
    border-radius: .5rem;
    cursor: pointer;
    font-weight: 500;
}

.btn-buscar:hover {
    background: #135e96;
}

@media (max-width: 768px) {
    /* Impede overflow horizontal na página causado pelo formulário de busca */
    .search-filter-form,
    .filter-row {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        box-sizing: border-box;
    }

    .filter-row {
        flex-direction: column;
        align-items: stretch;
    }

    .scroll-mobile {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 5px;
        -ms-overflow-style: none;
        scrollbar-width: none;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .scroll-mobile::-webkit-scrollbar {
        display: none;
    }

    .scroll-mobile .filter-item {
        flex: 0 0 auto;
        min-width: auto;
    }

    .scroll-mobile input,
    .scroll-mobile select {
        
        white-space: nowrap;
    }

    .search-input,
    .search-input input {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .filter-actions {
        width: 100%;
        margin-left: 0;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
    }

    .btn-buscar {
        min-width: 120px;
        text-align: center;
    }

    .clear-filters {
        text-align: center;
    }
}

.search-results-list {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.search-result-item {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 2rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid #e6e6e6;
}

.search-result-item:last-child {
    border-bottom: none;
}

.search-thumbnail {
    overflow: hidden;
    border-radius: 8px;
}

.search-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.search-content .entry-category {
    display: inline-block;
    padding: 0.4rem 1rem;
    background: var(--blue-dark);
    color: #fff;
    font-size: 1.2rem;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 3px;
    margin-bottom: 1rem;
}

.search-content .entry-title {
    font-family: var(--font-title);
    font-size: 2.2rem;
    line-height: 1.2;
    margin-bottom: 0.8rem;
}

.search-content .entry-title a {
    color: #111;
    text-decoration: none;
    transition: color var(--transition-normal);
}

.search-content .entry-title a:hover {
    color: var(--blue-dark);
}

.search-content .entry-subtitle {
    font-size: 1.6rem;
    color: #666;
    line-height: 1.4;
    margin-bottom: 1rem;
}

.search-content .entry-meta {
    font-size: 1.3rem;
    color: #999;
    margin-bottom: 1rem;
}

.search-content .separator {
    margin: 0 0.5rem;
}

.search-content .entry-excerpt {
    font-size: 1.5rem;
    line-height: 1.6;
    color: #555;
    margin-bottom: 1.5rem;
}

.search-content .read-more {
    display: inline-block;
    color: var(--blue-dark);
    font-weight: 600;
    text-decoration: none;
    transition: color var(--transition-normal);
}

.search-content .read-more:hover {
    color: #002244;
}

.no-results {
    text-align: center;
    padding: 6rem 2rem;
}

.no-results h2 {
    font-size: 2.8rem;
    margin-bottom: 1.5rem;
    line-height: 1;
}

.no-results p {
    font-size: 1.6rem;
    color: #666;
    margin-bottom: 3rem;
}

.search-form-wrapper {
    max-width: 600px;
    margin: 0 auto;
}

/* ==========================================================================
   PÁGINA DE ARQUIVO
   ========================================================================== */
.archive-posts-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
}

.archive-post-item {
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 2.5rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid #e8e8e8;
}

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

.post-thumbnail {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    height: 220px;
}

.post-thumbnail a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.post-thumbnail::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--blue-dark);
    opacity: 0;
    transition: opacity var(--transition-normal);
    z-index: 1;
    pointer-events: none;
}

.post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.archive-post-item:hover .post-thumbnail::before {
    opacity: 0.2;
}

.archive-post-item:hover .entry-title a {
    color: var(--blue-dark);
}

.post-content .entry-category {
    display: inline-block;
    padding: 0.6rem 1.4rem;
    background: var(--accent-gradient);
    color: #fff;
    font-size: 1.2rem;
    text-transform: uppercase;
    font-weight: 700;
    border-radius: 20px;
    margin-bottom: 1.2rem;
    transition: color var(--transition-normal), background-color var(--transition-normal), opacity var(--transition-normal), box-shadow var(--transition-normal);
}

.post-content .entry-category:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.post-content .entry-title {
    font-family: var(--font-title);
    font-size: 2.2rem;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.post-content .entry-title a {
    color: #111;
    text-decoration: none;
    transition: color var(--transition-normal);
}

.post-content .entry-title a:hover {
    color: var(--blue-dark);
}

.post-content .entry-subtitle {
    font-size: 1.7rem;
    color: #666;
    line-height: 1.4;
    margin-bottom: 1.5rem;
}

.post-content .entry-meta {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.3rem;
    color: #999;
    margin-bottom: 1.5rem;
}

.post-content .entry-meta svg {
    vertical-align: middle;
}

.post-content .entry-excerpt {
    font-size: 1.5rem;
    line-height: 1.6;
    color: #555;
    margin-bottom: 1.5rem;
}

.post-content .read-more {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    color: var(--blue-dark);
    font-weight: 700;
    font-size: 1.5rem;
    text-decoration: none;
    transition: gap var(--transition-normal);
}

.post-content .read-more:hover {
    gap: 1.2rem;
}

.post-content .read-more svg {
    width: 16px;
    height: 16px;
}

.no-posts {
    text-align: center;
    padding: 6rem 2rem;
}

.no-posts h2 {
    font-size: 2.8rem;
    margin-bottom: 1.5rem;
    line-height: 1;
}

.no-posts p {
    font-size: 1.6rem;
    color: #666;
}

/* ==========================================================================
   PAGINAÇÃO
   ========================================================================== */
.pagination {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 5rem;
    padding-top: 3rem;
    border-top: 2px solid #e6e6e6;
}

.pagination .nav-links {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.pagination a,
.pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 45px;
    height: 45px;
    padding: 0 1.5rem;
    background: #fff;
    border: 2px solid #e8e8e8;
    border-radius: 8px;
    color: #333;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.4rem;
    transition: color var(--transition-normal), background-color var(--transition-normal), opacity var(--transition-normal), box-shadow var(--transition-normal);
}

.pagination a:hover {
    background: var(--blue-dark);
    color: #fff;
    border-color: var(--blue-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.pagination .current {
    background: var(--accent-gradient);
    color: #fff;
    border-color: var(--blue-dark);
    box-shadow: var(--shadow-md);
}

.pagination .dots {
    border: none;
    background: none;
}

/* ==========================================================================
   GUTENBERG / BLOCOS - LARGURA AMPLA E TOTAL
   ========================================================================== */

/* Largura padrão do conteúdo */
.wp-block {
    max-width: 800px;
}

/* Largura Ampla (Wide) - 1320px */
.alignwide,
.wp-block.alignwide,
.wp-block[data-align="wide"] {
    max-width: 1320px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Largura Total (Full) - 100% da tela */
.alignfull,
.wp-block.alignfull,
.wp-block[data-align="full"] {
    max-width: none;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* Grupos com fundo em largura total */
.wp-block-group.alignfull,
.wp-block-cover.alignfull {
    padding-left: max(1.25rem, env(safe-area-inset-left));
    padding-right: max(1.25rem, env(safe-area-inset-right));
}

.wp-block-group.alignfull > .wp-block-group__inner-container,
.wp-block-cover.alignfull > .wp-block-cover__inner-container {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 4%;
    padding-right: 4%;
}

/* Colunas com suporte a largura ampla e total */
.wp-block-columns.alignwide,
.wp-block-columns.alignfull {
    width: 100%;
}

/* Espaçamento entre blocos */
.wp-block-group,
.wp-block-columns {
    gap: 1.2rem !important;
}

/* Imagens com largura ampla e total */
.wp-block-image.alignwide img,
.wp-block-image.alignfull img {
    width: 100%;
    height: auto;
}

/* Gallery com largura ampla e total */
.wp-block-gallery.alignwide,
.wp-block-gallery.alignfull {
    width: 100%;
}

/* Tabelas com largura ampla */
.wp-block-table.alignwide {
    width: 100%;
}

.wp-block-table.alignfull table {
    width: 100%;
}

/* Cover block com largura total */
.wp-block-cover.alignfull {
    width: 100vw;
}

/* Espaçadores */
.wp-block-spacer {
    clear: both;
}

/* Responsividade para mobile */
@media (max-width: 768px) {
    .alignwide,
    .alignfull {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    .wp-block-group.alignfull > .wp-block-group__inner-container,
    .wp-block-cover.alignfull > .wp-block-cover__inner-container {
        padding-left: 5%;
        padding-right: 5%;
    }
}

/* ==========================================================================
   SINGLE POST - LAYOUT CLÁSSICO
   ========================================================================== */
.single-post-article {
    margin-top: 3rem;
}

.classic-entry-header {
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #e6e6e6;
}

.classic-category {
    margin-bottom: 1.5rem;
}

.classic-category a {
    display: inline-block;
    padding: 0.2rem 1.4rem;
    background: var(--blue-dark);
    color: #fff;
    font-size: 1.3rem;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 4px;
    text-decoration: none;
    transition: color var(--transition-normal), background-color var(--transition-normal), opacity var(--transition-normal), box-shadow var(--transition-normal);
}

.classic-category a:hover {
    background: #002244;
}

.classic-entry-title {
    font-family: var(--font-title);
    font-size: clamp(3rem, 5vw, 4.5rem);
    line-height: 1.2;
    color: #111;
    margin-bottom: 1.5rem;
    font-weight: 800;
}

.classic-subtitle {
    font-size: clamp(1.8rem, 2.5vw, 2.2rem);
    line-height: 1.5;
    color: #555;
    margin-bottom: 2.5rem;
    font-weight: 400;
}

.classic-entry-meta {
    margin: 1.5rem 0 2rem 0;
    padding: 0;
}

.meta-author-source {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.meta-author-source .author-name,
.meta-author-source .fonte-name {
    font-size: 1.6rem;
    color: #464646;
    font-weight: 700;
    margin: 0;
    padding: 0;
}

.meta-author-source .separator-author-fonte {
    font-size: 1.4rem;
    color: #333;
    margin: 0;
    padding: 0;
}

.meta-info-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: -0.4rem;
    gap: 0.8rem;
    font-size: 1.4rem;
    color: #666;
    padding-bottom: 2rem;
}

.meta-info-line .entry-date {
    font-size: 1.4rem;
    color: #666;
}

.meta-info-line .separator {
    color: #464646;
    font-weight: 300;
}

.meta-info-line .updated-time {
    display: inline-flex;
    align-items: center;
    font-size: 1.4rem;
    color: #666;
}

.meta-info-line .reading-time {
    font-size: 1.4rem;
    color: #666;
}

.classic-featured-image {
    margin-bottom: 3rem;
    overflow: hidden;
}

.classic-featured-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}

.classic-featured-image .photo-credit {
    font-size: 1.4rem;
    color: #999;
    margin-top: 1rem;
}

.classic-content {
    font-size: 1.8rem;
    line-height: 1.8;
    color: #333;
}

.classic-content p {
    margin-bottom: 2rem;
	text-align: justify;
}

.classic-content h2 {
    font-family: var(--font-title);
    font-size: 3rem;
    line-height: 1.3;
    margin: 3.5rem 0 2rem;
    font-weight: 700;
    color: #111;
}

.classic-content h3 {
    font-family: var(--font-title);
    font-size: 2.4rem;
    line-height: 1.3;
    margin: 3rem 0 1.5rem;
    font-weight: 700;
    color: #111;
}

.classic-content h4 {
    font-family: var(--font-title);
    font-size: 2rem;
    line-height: 1.4;
    margin: 2.5rem 0 1.5rem;
    font-weight: 600;
    color: #222;
}

.classic-content ul,
.classic-content ol {
    margin: 2rem 0;
    padding-left: 3rem;
}

.classic-content li {
    margin-bottom: 1rem;
    line-height: 1.8;
}

.classic-content blockquote {
    margin: 3rem 0;
    padding: 2.5rem 3rem;
    background: #f8f9fa;
    border-left: 5px solid var(--blue-dark);
    font-size: 2rem;
    font-style: italic;
    color: #555;
    line-height: 1.7;
}

.classic-content a {
    color: var(--blue-dark);
    text-decoration: underline;
    transition: color var(--transition-normal);
}

.classic-content a:hover {
    color: #002244;
}

.classic-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 2.5rem 0;
}

.classic-content figure {
    margin: 2.5rem 0;
}

.classic-content figcaption {
    font-size: 1.4rem;
    color: #999;
    font-style: italic;
    margin-top: 1rem;
    text-align: center;
}

/* ==========================================================================
   MAIS NOTÍCIAS
   ========================================================================== */
.more-news-section {
    margin-top: 4rem;
    padding-top: 4rem;
    border-top: 1px solid #e6e6e6;
}

.more-news-title {
    font-family: var(--font-title);
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 2rem;
    line-height: 1;
    color: #111;
    padding-bottom: 1.5rem;
}

.more-news-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
}

.more-news-item {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 2.5rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid #e8e8e8;
}

.more-news-item:last-child {
    border-bottom: none;
}

.more-news-thumbnail {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    height: 180px;
}

.more-news-thumbnail a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.more-news-thumbnail::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--blue-dark);
    opacity: 0;
    transition: opacity var(--transition-normal);
    z-index: 1;
    pointer-events: none;
}

.more-news-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.more-news-item:hover .more-news-thumbnail::before {
    opacity: 0.2;
}

.more-news-item:hover .more-news-item-title a {
    color: var(--blue-dark);
}

.more-news-content .entry-header {
    margin-bottom: 1.5rem;
}

.more-news-content .more-news-chapeu {
    font-size: 1.4rem;
    color: #666;
    line-height: 1.4;
    margin-bottom: 0.8rem;
}

.more-news-content .more-news-item-title {
    font-family: var(--font-title);
    font-size: 2.2rem;
    line-height: 1.2;
    margin: 0 0 1rem 0;
}

.more-news-content .more-news-item-title a {
    color: #111;
    text-decoration: none;
    transition: color var(--transition-normal);
}

.more-news-content .more-news-item-title a:hover {
    color: var(--blue-dark);
}

.more-news-content .more-news-subtitle {
    font-size: 1.7rem;
    color: #666;
    line-height: 1.4;
    margin-bottom: 1.5rem;
}

.more-news-content .more-news-meta {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.3rem;
    color: #999;
    margin: 0;
}

.more-news-content .more-news-meta .entry-date {
    font-size: 1.3rem;
}

.more-news-content .more-news-meta .updated-time {
    font-size: 1.3rem;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer {
    background: var(--primary-bg);
    color: var(--text-light);
    padding: 6rem 0 2rem;
    margin-top: 8rem;
}

.footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4rem;
    padding-bottom: 4rem;
}

.footer-logo {
    max-height: 60px;
    width: auto;
    display: block;
}

.footer-menu {
    display: flex;
    align-items: center;
}

.footer-menu-list {
    display: flex;
    gap: 3rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-menu-list li {
    margin: 0;
}

.footer-menu-list a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 1.4rem;
    font-weight: 400;
    transition: color var(--transition-normal);
}

.footer-menu-list a:hover {
    color: #fff;
}

.footer-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.15);
    margin: 0 0 2rem 0;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-copyright {
    font-size: 1.3rem;
    font-weight: 300;
    margin: 0;
    color: rgba(255, 255, 255, 0.7);
}

.footer-developed {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.3rem;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.7);
}

.footer-developed .csites-logo {
    max-width: 50px;
    height: auto;
    opacity: 0.85;
    transition: opacity var(--transition-normal);
    vertical-align: middle;
    margin-top: -2px;
}

.footer-developed:hover .csites-logo {
    opacity: 1;
}

.footer-logo-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
}

.footer-social-icons {
    display: flex;
    gap: 1.5rem;
    align-items: center;
}

.footer-social-icons a {
    color: rgba(255, 255, 255, 0.8);
    transition: color var(--transition-normal), background-color var(--transition-normal), opacity var(--transition-normal), box-shadow var(--transition-normal);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
}

.footer-social-icons a:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.15);
    transform: translateY(-3px);
}

.footer-social-icons svg {
    width: 24px;
    height: 24px;
}

/* ==========================================================================
   HEADER TOP BAR - ESTRUTURA GERAL
   ========================================================================== */
.header-top-bar {
    background: var(--primary-bg);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0.8rem 0;
    display: flex;
    align-items: center;
}

.header-top-bar-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.header-date-topbar {
    font-size: 1.3rem;
    font-weight: 500;
    display: flex;
    align-items: center;
}

.header-date-topbar span {
    text-transform: lowercase;
}

.header-date-topbar span::first-letter {
    text-transform: uppercase;
}

.top-bar-right {
    display: flex;
    align-items: center;
    gap: 6rem; 
}

.topo-contato {
    display: flex;
    align-items: center;
}

.contato-text {
	font-size: 1.3rem;
}

.contato-link {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #333;
    text-decoration: none;
    font-weight: 500;
}

.contato-link .icon-email {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.header-social-icons {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
}

.header-social-icons a {
    color: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;    
}

.header-social-icons a:hover {
    color: #fff;      
}

.header-social-icons svg {
    width: 20px;
    height: 20px;
}

/* ==========================================================================
   RESPONSIVE - TABLET & MOBILE
   ========================================================================== */

@media (min-width: 768px) and (max-width: 991px) {
    .top-bar-right {
        gap: 4rem;
    }
}

@media (max-width: 991px) {
    .header-top-bar-content {
        flex-direction: row; 
        justify-content: space-between;
        flex-wrap: nowrap; 
    }

    .header-date-topbar {
        order: 2; 
        font-size: 1.2rem;        
    }

    .top-bar-right {
        order: 1;
        width: auto;
        gap: 1.5rem;
    }

    .header-social-icons {
        justify-content: flex-start;
        gap: 1rem;
    }

    .contato-text {
        display: none;
    }

    .contato-link {
        width: 32px;
        height: 32px;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .header-date-topbar {
        font-size: 1.2rem;
    }

    .header-social-icons {
        gap: 0.8rem;
    }

    .header-social-icons a {
        width: 28px;
        height: 28px;
    }

    .header-social-icons svg,
    .contato-link .icon-email {
        width: 16px;
        height: 16px;
    }
}

/* ==========================================================================
   SINGLE POST - HERO
   ========================================================================== */
.single-hero {
    margin-top: 0;
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: linear-gradient(135deg, #1e1e1e 0%, #333 100%);
}

.single-featured-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.single-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.4;
}

.single-header-overlay {
    position: relative;
    z-index: 2;
    width: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.7) 60%, transparent 100%);
    padding: 4rem 0 3rem;
}

.single-meta-top {
    margin-bottom: 1.5rem;
}

.single-category {
    display: inline-block;
    padding: 0.6rem 1.5rem;
    background: var(--blue-dark);
    color: #fff;
    font-size: 1.3rem;
    text-transform: uppercase;
    font-weight: 700;
    border-radius: 4px;
}

.single-title {
    font-family: var(--font-title);
    font-size: clamp(3rem, 5vw, 5rem);
    line-height: 1.1;
    color: #fff;
    margin-bottom: 1.5rem;
    font-weight: 800;
}

.single-subtitle {
    font-size: clamp(1.8rem, 2.5vw, 2.4rem);
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 2.5rem;
    font-weight: 400;
}

.single-meta-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap;
}

.meta-author {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.meta-author img {
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.3);
}

.author-details {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.post-date {
    font-size: 1.3rem;
    color: rgba(255, 255, 255, 0.7);
}

.meta-stats {
    display: flex;
    gap: 2rem;
}

.reading-time {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 1.4rem;
    color: rgba(255, 255, 255, 0.8);
}

.reading-time svg {
    opacity: 0.8;
}

.photo-credit {
    font-size: 1.2rem;
    color: #999;
    margin-bottom: 3rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #eee;
}

.entry-content {
    font-size: 1.8rem;
    color: #333;
}

.entry-content p {
    margin-bottom: 2rem;
}

.entry-content h2 {
    font-family: var(--font-title);
    font-size: 3rem;
    line-height: 1.3;
    margin: 3rem 0 2rem;
    font-weight: 700;
    color: #111;
}

.entry-content h3 {
    font-family: var(--font-title);
    font-size: 2.4rem;
    line-height: 1.3;
    margin: 2.5rem 0 1.5rem;
    font-weight: 700;
    color: #111;
}

.entry-content ul,
.entry-content ol {
    margin: 2rem 0;
    padding-left: 3rem;
}

.entry-content li {
    margin-bottom: 1rem;
    line-height: 1.7;
}

.entry-content blockquote {
    margin: 3rem 0;
    padding: 2rem 3rem;
    background: #f8f9fa;
    border-left: 5px solid var(--blue-dark);
    font-size: 2rem;
    font-style: italic;
    color: #555;
}

.entry-footer {
    margin-top: 5rem;
    padding-top: 3rem;
    border-top: 1px solid #e6e6e6;
}

.entry-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-bottom: 2.5rem;
}

.entry-tags strong {
    font-size: 1.5rem;
    color: #333;
}

.tag-link {
    display: inline-block;
    padding: 0.6rem 1.4rem;
    background: #e7e7ea;
    color: #666;
    text-decoration: none;
    border-radius: 3px;
    font-size: 1.1rem;
    transition: color var(--transition-normal), background-color var(--transition-normal), opacity var(--transition-normal), box-shadow var(--transition-normal);
    text-transform: uppercase;
}

.tag-link:hover {
    background: var(--blue-dark);
    color: #fff;
    border-color: var(--blue-dark);
}

.share-buttons,
.share-buttons-top {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}

.share-buttons-top {
    margin-top: 2rem;
}

.share-buttons strong,
.share-buttons-top strong {
    font-size: 1.5rem;
    color: #333;
}

.share-button-main {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.8rem 1.6rem;
    background: transparent;
    border: 1.5px solid #333;
    border-radius: 25px;
    font-size: 1.4rem;
    font-family: var(--font-title);
    font-weight: 600;
    color: #333;
    cursor: pointer;
    transition: color var(--transition-normal), background-color var(--transition-normal), opacity var(--transition-normal), box-shadow var(--transition-normal);
}

.share-button-main svg {
    width: 20px;
    height: 20px;
}

.share-button-main:hover {
    background: #f5f5f5;
    border-color: #000;
}

.share-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    text-decoration: none;
    transition: color var(--transition-normal), background-color var(--transition-normal), opacity var(--transition-normal), box-shadow var(--transition-normal);
    color: #666;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
}

.share-icon svg {
    width: 20px;
    height: 20px;
}

.share-icon:hover {
    transform: scale(1.1);
}

.share-icon.facebook:hover {
    color: #1877f2;
}

.share-icon.threads:hover {
    color: #000;
}

.share-icon.telegram:hover {
    color: #0088cc;
}

.share-icon.linkedin:hover {
    color: #0077b5;
}

/* ==========================================================================
   BANNER FLUTUANTE
   ========================================================================== */
.banner-csites {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100px;
    background: #f9fafb;
    border-top: 1px solid #f7f7f7;
    z-index: 9999;
    transition: transform .2s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4px 1rem;
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}

body::after {
    content: "";
    display: block;
    height: 0;
    transition: height .2s cubic-bezier(.4, 0, .2, 1);
}

body:has(.banner-csites)::after {
    height: 100px;
}

body:has(.banner-csites--hidden)::after {
    height: 0;
}

.banner-csites--hidden {
    transform: translateY(100%);
}

.banner-csites__button {
    position: absolute;
    top: -26px;
    left: 0;
    background: #f9fafb;
    color: #111827;
    border: 1px solid #f7f7f7;
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    padding: 4px 22px;
    cursor: pointer;
    display: flex;
    align-items: center;
    box-shadow: 0 -4px 5px rgba(0, 0, 0, .1);
    transition: background .2s ease;
    z-index: 1;
}

.banner-csites__button:focus-visible {
    outline: 2px solid #000;
    outline-offset: 2px;
}

.banner-csites__icon {
    width: 22px;
    height: 22px;
    transition: transform .2s ease;
}

.banner-csites--hidden .banner-csites__icon {
    transform: rotate(180deg);
}

.banner-csites__content {
    max-height: 100%;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.banner-csites__content img {
    max-height: 100%;
    max-width: 100%;
    height: auto;
    width: auto;
    display: block;
}

/* Estilos de cookies removidos. */

/* ==========================================================================
   RESPONSIVIDADE - TABLETS
   ========================================================================== */
@media (max-width: 1024px) {
    /* Tablet: sidebar abaixo do conteúdo */
    .layout-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .single-layout.layout-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .content-area,
    .content-post {
        order: 1;
        max-width: 100%;
        width: 100%;
    }

    .sidebar-area {
        order: 2;
        width: 100%;
        max-width: 100%;
    }

    .archive-post-item {
        grid-template-columns: 320px 1fr;
        gap: 2rem;
    }

    .post-thumbnail {
        height: 220px;
    }

    .more-news-item {
        grid-template-columns: 320px 1fr;
        gap: 2rem;
    }

    .more-news-thumbnail {
        height: 220px;
    }
}

/* ==========================================================================
   RESPONSIVIDADE - MOBILE 991PX
   ========================================================================== */
@media (max-width: 991px) {
    .desktop-only {
        display: none !important;
    }

    .mobile-only {
        display: block !important;
    }

    .header-title {
        display: none !important;
    }

    .sticky-nav,
    .navigation-bar {
        display: none !important;
    }

    .header-top-row {
        grid-template-columns: auto 1fr auto;
        padding: 0;
    }

    .header-left {
        order: 1;
        gap: 1rem;
    }

    .header-logo {
        order: 2;
    }

    .header-search {
        order: 3;
    }

    .site-logo img {
        max-height: 60px;
    }

    .logo-text {
        font-size: 2rem;
    }

    .header-widget {
        font-size: 1.2rem;
    }

    .footer-top {
        flex-direction: column;
        gap: 2rem;
        text-align: left;
    }

    .footer-menu {
        width: 100%;
        justify-content: left;
		margin: 3.6rem 0 0 0;
    }

    .footer-menu-list {
        flex-direction: column;
        gap: 1.5rem;
    }
	
	.footer-menu-list a {
		font-size: 1.6rem;
		font-weight: 400;    
	}

    .footer-bottom {
        flex-direction: column;
        gap: 1.5rem;
        text-align: center;
    }
    
    .widget-padding {
		padding: 0 2.6rem 0 2.6rem!important;
	}
}

/* ==========================================================================
   RESPONSIVIDADE - MOBILE 768PX
   ========================================================================== */
@media (max-width: 768px) {
    .layout-grid {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .single-layout.layout-grid {
        grid-template-columns: 1fr;
    }

    .single-layout {
        margin-top: 0.4rem !important;
    }

    .header-main-row {
        height: 66px;
    }

    .header-title {
        display: none !important;
    }

    .sidebar-area {
        width: 100%;
        position: static;
    }

    .widget {
        position: static;
        padding: 2rem;
    }

    .search-result-item {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .search-thumbnail {
        width: 100%;
        max-height: 200px;
    }

    .archive-post-item {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        max-width: 100%;
        overflow: hidden;
    }

    .post-thumbnail {
        width: 100%;
        height: 200px;
    }

    .pagination a,
    .pagination span {
        min-width: 40px;
        height: 40px;
        padding: 0 1rem;
        font-size: 1.3rem;
    }

    .classic-entry-title {
        font-size: 2.8rem;
    }

    .classic-subtitle {
        font-size: 1.7rem;
    }

    .meta-info-line {
        font-size: 1.3rem;
        gap: 0.6rem;
    }
	
    .meta-info-line .author-name,
    .meta-info-line .entry-date,
    .meta-info-line .updated-time,
    .meta-info-line .reading-time {
        font-size: 1.3rem;
    }

    .classic-content {
        font-size: 1.7rem;
    }

    .classic-content h2 {
        font-size: 2.4rem;
    }

    .classic-content h3 {
        font-size: 2rem;
    }

    .classic-content blockquote {
        padding: 1.5rem 2rem;
        font-size: 1.8rem;
    }

    .more-news-section {
        margin-top: 3rem;
        padding-top: 2rem;
    }

    .more-news-title {
        font-size: 1.6rem;
        margin-bottom: 1.5rem;
        padding-bottom: 1rem;
    }

    .more-news-grid {
        gap: 2rem;
    }

    .more-news-item {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding-bottom: 2rem;
    }

    .more-news-thumbnail {
        width: 100%;
        height: 200px;
    }

    .more-news-content .more-news-item-title {
        font-size: 1.8rem;
    }

    .more-news-content .more-news-subtitle {
        font-size: 1.5rem;
    }

    .more-news-content .more-news-chapeu {
        font-size: 1.3rem;
    }

    .site-footer {
        padding: 2.5rem 0 1.5rem;
    }

    .footer-logo {
        max-width: 140px;
    }

    .footer-copyright,
    .footer-developed {
        font-size: 1.2rem;
    }

    .footer-developed .csites-logo {
        max-width: 60px;
    }

    .header-top-bar {
        padding: 1rem 0;
    }

    .header-top-bar-content {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
    }

    .header-date-topbar {
        font-size: 1.2rem;
        text-align: left;
        flex: 0 0 auto;
        order: 1;
    }

    .header-social-icons {
        justify-content: flex-end;
        flex: 0 0 auto;
        order: 2;
        gap: 1.2rem;
    }

    .header-social-icons a {
        width: 32px;
        height: 32px;
    }

    .header-social-icons svg {
        width: 18px;
        height: 18px;
    }

    .footer-logo-section {
        align-items: center;
    }

    .footer-social-icons a {
        width: 36px;
        height: 36px;
    }

    .single-hero {
        min-height: 400px;
    }

    .single-header-overlay {
        padding: 3rem 0 2rem;
    }

    .content-post {
        min-width: 0;
        max-width: 100%;
    }

    .single-title {
        font-size: 2.8rem;
    }

    .single-subtitle {
        font-size: 1.7rem;
    }

    .single-meta-info {
        flex-direction: column;
        align-items: flex-start;
    }

    .entry-content {
        font-size: 1.7rem;
    }

    .entry-content h2 {
        font-size: 2.4rem;
    }

    .entry-content h3 {
        font-size: 2rem;
    }

    .entry-content blockquote {
        padding: 1.5rem 2rem;
        font-size: 1.8rem;
    }

    .share-buttons-top {
        gap: 0.8rem;
        width: 100%;
        justify-content: space-between;
    }

    .share-button-main {
        font-size: 1.5rem;
        padding: 0.7rem 1.4rem;
        flex: 1;
        justify-content: center;
    }

    .share-icon {
        width: 36px;
        height: 36px;
    }

    .share-icon svg {
        width: 20px;
        height: 20px;
    }

    .banner-csites {
        padding: 0 1.4em;
        height: 80px;
    }

    .banner-csites__button {
        left: 0;
        padding: 2px 16px;
    }
}

.post-video {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
	margin: 0 0 40px 0;
}

.post-video iframe,
.post-video video {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

@media (min-width: 782px) {
    .fixar-coluna {
        position: -webkit-sticky;
        position: sticky;
        top: 8rem;
        align-self: start; /* 'start' funciona tanto em flex quanto em grid */
        max-height: calc(100vh - 80px);
        overflow-y: auto;
    }
	
	.espaco-coluna {
		padding: 0 2rem 0 0!important;
	}
}

/* ==========================================================================
   RESPONSIVIDADE - MOBILE 480PX (Smartphones menores)
   ========================================================================== */
@media (max-width: 480px) {
    html {
        font-size: 58%;
    }

    .site-content {
        margin: 0px -24px 0px -24px;
        padding: 0;
    }
    
    .container,
	.classic-category,
	.classic-entry-title {
		width:100%;	
		padding-left: 2.6rem;
		padding-right: 2.6rem;
	}
	
	.classic-entry-header,
	.sidebar-area {
		width:100%;	
		padding-left: 2.6rem;
		padding-right: 2.6rem;
		margin: 0 auto;
	}
	
	.classic-featured-image {
        padding-bottom: 0 !important; 
        height: 228px !important;  
    }
	
	.classic-featured-image img {
		border-radius: 0px;
		position: absolute;
        height: 100% !important;
        object-fit: cover;
	}

    .site-header {
        padding: 12px 0;
    }

    .site-logo img {
        max-height: 50px;
    }

    .logo-text {
        font-size: 1.8rem;
    }

    .menu-toggle svg,
    .search-toggle svg {
        width: 24px;
        height: 24px;
    }

    .header-top-bar {
        padding: 0.8rem 0;
    }

    .header-date-topbar {
        font-size: 1.2rem;
    }

    .header-social-icons {
        gap: 1rem;
    }

    .header-social-icons a {
        width: 28px;
        height: 28px;
    }

    .header-social-icons svg {
        width: 16px;
        height: 16px;
    }

    .page-title {
        font-size: 2.4rem;
    }

    .archive-description {
        font-size: 1.5rem;
    }

    .archive-post-item,
    .more-news-item,
    .search-result-item {
        gap: 1.2rem;
        padding-bottom: 2rem;
    }

    .post-thumbnail,
    .more-news-thumbnail {
        height: 180px;
        border-radius: 6px;
    }

    .post-content .entry-title,
    .more-news-content .more-news-item-title {
        font-size: 1.9rem;
        line-height: 1.25;
    }

    .post-content .entry-subtitle,
    .more-news-content .more-news-subtitle {
        font-size: 1.5rem;
    }

    .post-content .entry-meta,
    .more-news-content .more-news-meta {
        font-size: 1.2rem;
    }

    .post-content .read-more {
        font-size: 1.4rem;
    }

    .single-hero {
        min-height: 350px;
    }

    .single-header-overlay {
        padding: 2.5rem 0 1.8rem;
    }

    .single-title {
        font-size: 2.4rem;
        margin-bottom: 1.2rem;
    }

    .single-subtitle {
        font-size: 1.6rem;
        margin-bottom: 2rem;
    }

    .classic-entry-title {
        font-size: 2.4rem;
    }

    .classic-subtitle {
        font-size: 1.6rem;
    }

    .meta-author-source .author-name,
    .meta-author-source .fonte-name {
        font-size: 1.5rem;
    }

    .meta-info-line,
    .meta-info-line .entry-date,
    .meta-info-line .updated-time,
    .meta-info-line .reading-time {
        font-size: 1.2rem;
    }

    .classic-content,
    .entry-content {
        font-size: 1.6rem;
        line-height: 1.75;
    }

    .classic-content h2,
    .entry-content h2 {
        font-size: 2.2rem;
        margin: 2.5rem 0 1.5rem;
    }

    .classic-content h3,
    .entry-content h3 {
        font-size: 1.9rem;
        margin: 2rem 0 1.2rem;
    }

    .classic-content h4 {
        font-size: 1.7rem;
    }

    .classic-content blockquote,
    .entry-content blockquote {
        padding: 1.2rem 1.5rem;
        font-size: 1.7rem;
        margin: 2rem 0;
    }

    .classic-content ul,
    .classic-content ol,
    .entry-content ul,
    .entry-content ol {
        padding-left: 2.5rem;
    }

    .more-news-title,
    .widget-title {
        font-size: 1.8rem;
        margin-bottom: 1.5rem;
        padding-bottom: 1.2rem;
    }

    .share-buttons-top {
        flex-wrap: wrap;
		margin-bottom: 1.4rem;
    }

    .share-button-main {
        font-size: 1.5rem;
        padding: 0.6rem 1.2rem;
    }

    .share-icon {
        width: 34px;
        height: 34px;
    }

    .share-icon svg {
        width: 20px;
        height: 20px;
    }

    .pagination a,
    .pagination span {
        min-width: 38px;
        height: 38px;
        padding: 0 0.8rem;
        font-size: 1.2rem;
    }

    .footer-logo {
        max-width: 140px;
    }

    .footer-copyright,
    .footer-developed {
        font-size: 1.1rem;
    }

    .footer-social-icons a {
        width: 34px;
        height: 34px;
    }

    .footer-social-icons svg {
        width: 20px;
        height: 20px;
    }

    .mobile-navigation {
        width: 90%;
        max-width: 300px;
    }

    .mobile-menu-header {
        padding: 1.8rem 2rem;
    }

    .mobile-menu-list li a {
        padding: 1.4rem 2rem;
        font-size: 1.5rem;
    }

    .banner-csites {
        height: 70px;
        padding: 0 1rem;
    }

    body:has(.banner-csites)::after {
        height: 70px;
    }

    .banner-csites__button {
        padding: 2px 14px;
        top: -24px;
    }

    .banner-csites__icon {
        width: 20px;
        height: 20px;
    }
}
/* ==========================================================================
   MOBILE — ADSENSE & CONTEÚDO 100% LARGURA (AJUSTADO)
   ========================================================================== */
@media (max-width: 768px) {
    .layout-grid, .single-layout, .content-area, .content-post, 
    .sidebar-area, .widget-area, .widget, .container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .ad-slot-inline,
    .ad-slot-sidebar,
    .ad-slot-leaderboard,
    .banner-topo,
    .banner-single {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 100px !important; 
        display: flex !important;
        justify-content: center;
        align-items: center;
        overflow: hidden !important;
        box-sizing: border-box !important;
        position: static !important;
        background-color: #f8f8f8; 
    }

   ins.adsbygoogle {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 100px !important; 
        display: block !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    /* iframe interno do AdSense */
    ins.adsbygoogle iframe {
        width: 100% !important;
        max-width: 100% !important;
    }
}