/*!
 * Fort Notícias — camada visual do tema
 * Desenvolvido por Reinaldo Fernandes · Kanafiste Tecnologia
 * Contato: kanafistetecnologia@gmail.com
 *
 * Este arquivo carrega depois do CSS do tema e do CSS do Personalizar,
 * por isso as regras aqui prevalecem. Para ajustar cores, mude as
 * variáveis --fn-* logo abaixo.
 */

/* ==========================================================================
   1. Fontes locais (sem depender do Google Fonts)
   ========================================================================== */
@font-face{font-family:"Archivo";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/fort-noticias/archivo-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/fort-noticias/archivo-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/fort-noticias/archivo-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/fort-noticias/archivo-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/fort-noticias/source-sans-3-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/fort-noticias/source-sans-3-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/fort-noticias/source-sans-3-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/fort-noticias/source-sans-3-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/fort-noticias/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

/* ==========================================================================
   2. Tokens
   ========================================================================== */
:root{
	--fn-navy:#0A2A5C;
	--fn-navy-2:#061A3A;
	--fn-blue:#1F6FEB;
	--fn-live:#E0263C;
	--fn-ink:#0E1726;
	--fn-gray:#5A6577;
	--fn-line:#E3E8EF;
	--fn-paper:#F1F4F8;
	--fn-overlay:linear-gradient(180deg,rgba(6,16,33,0) 0%,rgba(6,16,33,.55) 45%,rgba(6,16,33,.93) 100%);
	--fn-f-display:"Archivo","Arial Narrow",Arial,sans-serif;
	--fn-f-body:"Source Sans 3","Segoe UI",Arial,sans-serif;
	--fn-f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}

/* ==========================================================================
   3. Tipografia
   ========================================================================== */
body,
button,input,select,textarea,
.cm-entry-summary,
.cm-content{
	font-family:var(--fn-f-body);
}
body{
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6,
.cm-entry-title,
.cm-widget-title,
.cm-primary-nav a,
.cm-post-categories a,
.breaking-news-latest,
.elementor .tg-module-title{
	font-family:var(--fn-f-display) !important;
	letter-spacing:-.005em;
}
.cm-entry-title{
	text-wrap:balance;
}
.single .cm-entry-header .cm-entry-title{
	font-weight:800;
	letter-spacing:-.015em;
	line-height:1.15;
}
.single .cm-entry-summary{
	font-size:18px;
	line-height:1.7;
}
.single .cm-entry-summary p{
	margin-bottom:1.15em;
}
.cm-below-entry-meta,
.cm-post-date,
.cm-post-date a,
.cm-author a,
.cm-reading-time,
.cm-comments-link,
.fn-meta-strip{
	font-family:var(--fn-f-mono);
	font-size:12px;
	letter-spacing:.01em;
}

/* ==========================================================================
   4. CORREÇÃO: títulos do slider e dos destaques sempre brancos
   ========================================================================== */
.cm-slider-area-rotate .cm-slide-content .cm-entry-title,
.cm-slider-area-rotate .cm-slide-content .cm-entry-title a,
.cm-featured-category-slider .cm-slide-content .cm-entry-title,
.cm-featured-category-slider .cm-slide-content .cm-entry-title a,
.cm-highlighted-posts .cm-post-content .cm-entry-title,
.cm-highlighted-posts .cm-post-content .cm-entry-title a,
.elementor .tg-module-grid .tg-module-info .tg-module-title,
.elementor .tg-module-grid .tg-module-info .tg-module-title a{
	color:#fff !important;
	opacity:1 !important;
	text-shadow:0 1px 3px rgba(0,0,0,.55);
	-webkit-text-fill-color:#fff;
}
.cm-slider-area-rotate .cm-slide-content .cm-entry-title a:hover,
.cm-highlighted-posts .cm-post-content .cm-entry-title a:hover,
.elementor .tg-module-grid .tg-module-info .tg-module-title a:hover{
	color:#fff !important;
	opacity:.85 !important;
	text-decoration:underline;
	text-decoration-thickness:2px;
	text-underline-offset:4px;
}
.cm-slider-area-rotate .cm-slide-content,
.cm-featured-category-slider .cm-slide-content,
.cm-highlighted-posts .cm-post-content{
	background:var(--fn-overlay) !important;
	padding-top:64px;
}
.cm-slider-area-rotate .cm-slide-content .cm-entry-title{
	font-weight:800;
	font-size:clamp(22px,2.4vw,32px);
	line-height:1.18;
	letter-spacing:-.01em;
}
.cm-highlighted-posts .cm-post-content .cm-entry-title{
	font-weight:700;
	font-size:16px;
	line-height:1.25;
}
/* Data e autor dentro do slider em branco suave */
.cm-slider-area-rotate .cm-slide-content .cm-below-entry-meta,
.cm-slider-area-rotate .cm-slide-content .cm-below-entry-meta a,
.cm-slider-area-rotate .cm-slide-content .cm-below-entry-meta span,
.cm-highlighted-posts .cm-post-content .cm-below-entry-meta,
.cm-highlighted-posts .cm-post-content .cm-below-entry-meta a,
.cm-highlighted-posts .cm-post-content .cm-below-entry-meta span{
	color:#D5DEEA !important;
	opacity:1 !important;
}
.cm-slider-area-rotate .cm-slide-content svg,
.cm-highlighted-posts .cm-post-content svg{
	fill:#D5DEEA !important;
}
.cm-slider-area-rotate .cm-single-slide,
.cm-highlighted-posts .cm-post{
	border-radius:6px;
}
.cm-slider-area-rotate .cm-single-slide img,
.cm-highlighted-posts .cm-post img{
	transition:transform .5s ease;
}
.cm-slider-area-rotate .cm-single-slide:hover img,
.cm-highlighted-posts .cm-post:hover img{
	transform:scale(1.03);
}
/* setas do slider */
.cm-slider-area-rotate .bx-controls-direction a,
.cm-slider-area .bx-controls-direction a{
	background:rgba(6,26,58,.75) !important;
	border-radius:4px;
	backdrop-filter:blur(4px);
}

/* ==========================================================================
   5. Etiquetas de editoria
   ========================================================================== */
.cm-post-categories a{
	font-weight:700 !important;
	font-size:10.5px !important;
	letter-spacing:.09em !important;
	text-transform:uppercase;
	border-radius:3px !important;
	padding:5px 8px !important;
	line-height:1 !important;
}

/* ==========================================================================
   6. Cabeçalho, menu e faixa "Última hora"
   ========================================================================== */
.cm-top-bar,
.cm-header-builder .cm-top-row{
	background:var(--fn-navy-2) !important;
	font-family:var(--fn-f-mono);
	font-size:12px;
}
.cm-top-bar,
.cm-top-bar a,
.cm-header-builder .cm-top-row,
.cm-header-builder .cm-top-row a{
	color:#C9D6EA !important;
}
.cm-primary-nav,
.cm-header-builder .cm-primary-nav{
	background-color:var(--fn-navy);
}
.cm-primary-nav a{
	font-weight:700 !important;
	font-size:13px !important;
	letter-spacing:.06em !important;
	text-transform:uppercase;
}
.cm-primary-nav > ul > li,
.cm-primary-nav .menu > li{
	border-bottom:3px solid transparent;
	transition:border-color .2s ease,background-color .2s ease;
}
.cm-primary-nav > ul > li:hover,
.cm-primary-nav .menu > li:hover,
.cm-primary-nav ul li.current-menu-item,
.cm-primary-nav ul li.current-menu-ancestor{
	border-bottom-color:var(--fn-blue);
	background-color:rgba(255,255,255,.06) !important;
}
.cm-primary-nav .sub-menu,
.cm-primary-nav .children{
	border-top:3px solid var(--fn-blue);
	box-shadow:0 12px 28px rgba(6,26,58,.25);
}

.breaking-news{
	display:flex;
	align-items:center;
	gap:12px;
	overflow:hidden;
}
.breaking-news-latest{
	display:inline-flex !important;
	align-items:center;
	gap:7px;
	background:var(--fn-live) !important;
	color:#fff !important;
	font-size:11px !important;
	font-weight:700 !important;
	letter-spacing:.1em !important;
	text-transform:uppercase;
	padding:6px 10px !important;
	border-radius:3px;
	white-space:nowrap;
	flex:none;
}
.breaking-news-latest::before{
	content:"";
	width:6px;
	height:6px;
	border-radius:50%;
	background:#fff;
	animation:fn-pulse 1.4s infinite;
}
.breaking-news .newsticker a{
	font-family:var(--fn-f-body);
	font-weight:600;
}
@keyframes fn-pulse{50%{opacity:.25}}

/* ==========================================================================
   6b. Faixa "Última hora" do Fort Notícias (abaixo do menu)
   ========================================================================== */
.fn-breaking{
	background:#fff;
	border-bottom:1px solid var(--fn-line);
	box-shadow:0 1px 0 rgba(6,26,58,.03);
}
.fn-breaking-inner{
	display:flex;
	align-items:center;
	gap:14px;
	min-height:46px;
	padding-top:6px;
	padding-bottom:6px;
}
.fn-breaking-label{
	flex:none;
	display:inline-flex;
	align-items:center;
	gap:7px;
	background:var(--fn-live);
	color:#fff;
	font:700 11px/1 var(--fn-f-display);
	letter-spacing:.1em;
	text-transform:uppercase;
	padding:7px 10px;
	border-radius:3px;
	white-space:nowrap;
}
.fn-breaking-label::before{
	content:"";
	width:6px;
	height:6px;
	border-radius:50%;
	background:#fff;
	animation:fn-pulse 1.4s infinite;
}
.fn-breaking-list{
	position:relative;
	flex:1;
	min-width:0;
	height:24px;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
	overflow:hidden;
}
.fn-breaking-item{
	position:absolute;
	inset:0;
	margin:0 !important;
	padding:0 !important;
	opacity:0;
	transform:translateY(8px);
	visibility:hidden;
	transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s;
}
.fn-breaking-item.is-active{
	opacity:1;
	transform:none;
	visibility:visible;
	transition:opacity .35s ease,transform .35s ease;
}
.fn-breaking-item a{
	display:flex;
	align-items:baseline;
	gap:10px;
	color:var(--fn-ink) !important;
	text-decoration:none !important;
	line-height:24px;
	white-space:nowrap;
	overflow:hidden;
}
.fn-breaking-item a:hover .fn-breaking-title{
	color:var(--fn-blue);
	text-decoration:underline;
	text-underline-offset:3px;
}
.fn-breaking-item time{
	flex:none;
	font:500 12px/24px var(--fn-f-mono);
	color:var(--fn-live);
}
.fn-breaking-title{
	font:600 15px/24px var(--fn-f-body);
	overflow:hidden;
	text-overflow:ellipsis;
	min-width:0;
}
.fn-breaking-nav{
	flex:none;
	display:flex;
	gap:4px;
}
.fn-breaking-nav button{
	width:28px;
	height:28px;
	display:grid;
	place-items:center;
	padding:0;
	border:1px solid var(--fn-line);
	border-radius:4px;
	background:#fff;
	color:var(--fn-navy);
	cursor:pointer;
	transition:background-color .15s ease,border-color .15s ease;
}
.fn-breaking-nav button:hover{
	background:var(--fn-paper);
	border-color:#C3CCD8;
}
.fn-breaking-nav svg{
	width:18px;
	height:18px;
	fill:currentColor;
}
@media (max-width:600px){
	.fn-breaking-inner{gap:10px}
	.fn-breaking-label{font-size:10px;padding:6px 8px}
	.fn-breaking-title{font-size:14px}
	.fn-breaking-nav{display:none}
}

/* ==========================================================================
   7. Títulos de seção (POLÍTICA, CIDADES...) sem caixa pesada
   ========================================================================== */
.cm-featured-posts .cm-widget-title,
.cm-slider-area .cm-widget-title,
.cm-beside-slider-widget .cm-widget-title,
.cm-secondary .cm-widget-title,
.elementor .tg-module-wrapper .module-title{
	border-bottom:0 !important;
	display:flex;
	align-items:center;
	gap:12px;
	margin-bottom:18px;
}
.cm-featured-posts .cm-widget-title::after,
.cm-slider-area .cm-widget-title::after,
.cm-beside-slider-widget .cm-widget-title::after,
.cm-secondary .cm-widget-title::after{
	content:"";
	flex:1;
	height:2px;
	background:linear-gradient(90deg,var(--fn-navy),rgba(10,42,92,0));
}
.cm-featured-posts .cm-widget-title span,
.cm-slider-area .cm-widget-title span,
.cm-beside-slider-widget .cm-widget-title span,
.cm-secondary .cm-widget-title span{
	background:transparent !important;
	color:var(--fn-navy) !important;
	padding:0 !important;
	font-weight:800;
	font-size:17px;
	letter-spacing:.04em;
	text-transform:uppercase;
	display:inline-flex !important;
	align-items:center;
	gap:10px;
}
.cm-featured-posts .cm-widget-title span::before,
.cm-slider-area .cm-widget-title span::before,
.cm-beside-slider-widget .cm-widget-title span::before,
.cm-secondary .cm-widget-title span::before{
	content:"";
	width:10px;
	height:10px;
	border-radius:2px;
	background:var(--fn-blue);
}

/* ==========================================================================
   8. Cartões e listas de notícias
   ========================================================================== */
.cm-featured-posts .cm-post,
.cm-posts .cm-post{
	transition:transform .2s ease;
}
.cm-featured-posts .cm-featured-image img,
.cm-posts .cm-featured-image img{
	border-radius:5px;
}
.cm-featured-posts .cm-entry-title a,
.cm-posts .cm-entry-title a{
	transition:color .15s ease;
}
/* Títulos em fundo branco: preto (o slider e os destaques continuam brancos,
   porque as regras deles são mais específicas) */
.cm-featured-posts .cm-entry-title,
.cm-featured-posts .cm-entry-title a,
.cm-posts .cm-entry-title,
.cm-posts .cm-entry-title a,
.cm-secondary .cm-entry-title a,
.single .cm-entry-header .cm-entry-title,
.elementor .tg-module-title,
.elementor .tg-module-title a{
	color:var(--fn-ink) !important;
	opacity:1 !important;
	-webkit-text-fill-color:currentColor;
}
/* Resumo e texto da matéria mais escuros */
.cm-entry-summary,
.cm-entry-summary p,
.elementor .tg-expert,
.elementor .tg-module-excerpt{
	color:#1F2733 !important;
}
/* Data, autor e tempo de leitura em cinza escuro, legível */
.cm-below-entry-meta,
.cm-below-entry-meta a,
.cm-below-entry-meta span,
.elementor .tg-module-meta,
.elementor .tg-module-meta a{
	color:#3D4655 !important;
}
.cm-below-entry-meta svg{
	fill:#3D4655 !important;
}
.cm-featured-posts .cm-entry-title a:hover,
.cm-posts .cm-entry-title a:hover{
	color:var(--fn-blue) !important;
}

/* Espaço reservado para anúncios (evita a página "pular") */
.advertisement_728x90 .cm-advertisement-content{
	min-height:90px;
}
.advertisement_300x250 .cm-advertisement-content{
	min-height:250px;
}
.cm-advertisement-content img{
	display:block;
	margin-inline:auto;
	height:auto;
}

/* ==========================================================================
   9. Matéria: faixa de dados, barra de leitura, compartilhar
   ========================================================================== */
.fn-progress{
	position:fixed;
	top:0;
	left:0;
	right:0;
	height:3px;
	z-index:99999;
	background:transparent;
	pointer-events:none;
}
.admin-bar .fn-progress{top:32px}
@media (max-width:782px){.admin-bar .fn-progress{top:46px}}
.fn-progress span{
	display:block;
	height:100%;
	width:100%;
	transform-origin:0 50%;
	transform:scaleX(0);
	background:linear-gradient(90deg,var(--fn-blue),#5B9BFF);
}

.fn-meta-strip{
	display:flex;
	flex-wrap:wrap;
	gap:6px 18px;
	padding:10px 0;
	margin:0 0 22px;
	border-top:1px solid var(--fn-line);
	border-bottom:1px solid var(--fn-line);
	color:var(--fn-gray);
}
.fn-meta-strip span{display:inline-flex;align-items:center;gap:6px}
.fn-meta-strip .fn-updated{color:var(--fn-live)}
.fn-meta-strip .fn-updated::before{
	content:"";
	width:6px;
	height:6px;
	border-radius:50%;
	background:var(--fn-live);
}

.fn-share{
	margin:32px 0 8px;
	padding:18px 20px;
	border:1px solid var(--fn-line);
	border-radius:8px;
	background:var(--fn-paper);
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px 16px;
}
.fn-share-label{
	font-family:var(--fn-f-display);
	font-weight:800;
	font-size:15px;
	color:var(--fn-ink);
	margin-right:auto;
}
.fn-share a{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:10px 14px;
	border-radius:6px;
	font-family:var(--fn-f-display);
	font-weight:700;
	font-size:13px;
	text-decoration:none !important;
	color:#fff !important;
	line-height:1;
	transition:filter .15s ease,transform .15s ease;
}
.fn-share a:hover{filter:brightness(1.08);transform:translateY(-1px)}
.fn-share a:focus-visible{outline:3px solid var(--fn-blue);outline-offset:2px}
.fn-share svg{width:16px;height:16px;fill:currentColor}
.fn-share .fn-wa{background:#1FA855;font-size:14px;padding:12px 18px}
.fn-share .fn-fb{background:#1877F2}
.fn-share .fn-x{background:#0F1419}
.fn-share .fn-tg{background:#229ED9}

/* Caixa do autor */
.author-box{
	border:1px solid var(--fn-line) !important;
	border-radius:8px;
	background:var(--fn-paper) !important;
}
.author-box .author-name,
.author-box h4{
	font-family:var(--fn-f-display);
	font-weight:800;
}

/* ==========================================================================
   10. Botão flutuante de WhatsApp mais discreto no celular
       (cobre os plugins mais comuns: WP WhatsApp, Click to Chat, Joinchat)
   ========================================================================== */
@media (max-width:768px){
	.wa__btn_popup_txt,
	.ht-ctc .ctc_cta,
	.ht_ctc_chat_greetings_box,
	.joinchat__tooltip,
	.joinchat__button__sendtext{
		display:none !important;
	}
}

/* ==========================================================================
   11. Rodapé
   ========================================================================== */
.cm-footer-bar,
.cm-footer-builder .cm-footer-bottom-row{
	background:var(--fn-navy-2) !important;
}
.cm-footer-bar,
.cm-footer-bar a,
.cm-footer-builder .cm-footer-bottom-row,
.cm-footer-builder .cm-footer-bottom-row a{
	color:#C9D6EA !important;
	font-size:13px;
}

/* ==========================================================================
   12. Acessibilidade e movimento
   ========================================================================== */
a:focus-visible,
button:focus-visible{
	outline:3px solid var(--fn-blue);
	outline-offset:2px;
}
@media (prefers-reduced-motion:reduce){
	.breaking-news-latest::before,
	.fn-breaking-label::before{animation:none}
	.fn-breaking-item{transition:none}
	.cm-slider-area-rotate .cm-single-slide img,
	.cm-highlighted-posts .cm-post img,
	.fn-share a{transition:none}
	.cm-slider-area-rotate .cm-single-slide:hover img,
	.cm-highlighted-posts .cm-post:hover img{transform:none}
}
