/* ============================================================
   MRX News · extra.css
   Complementos do tema sobre o CSS portado do protótipo:
   - kicker consome a cor da editoria (--mrx-cor-editoria, definida pelo plugin);
   - resultados do overlay de busca;
   - utilidades de reserva de anúncio e in-article.
   ============================================================ */

/* A cor da editoria (definida inline pelo plugin no archive/single/blocos) tinge os kickers. */
.fn-kicker { color: var(--mrx-cor-editoria, var(--fn-azul-norte)); }
.fn-editoria-head__kicker { color: var(--mrx-cor-editoria, var(--fn-azul-norte)); }
.fn-editoria-head { border-bottom-color: var(--mrx-cor-editoria, var(--fn-line-ink)); }

/* Resultados da busca */
.fn-search__results { display: grid; gap: 2px; margin-top: var(--fn-gap); }
.fn-search__result {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 12px;
	border-top: 1px solid var(--fn-line);
}
.fn-search__result:hover { background: var(--fn-paper-2); }
.fn-search__result-ed {
	font-family: var(--fn-font-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--fn-azul-norte);
}
.fn-search__result-title { font-family: var(--fn-font-display); font-stretch: 85%; font-weight: 700; color: var(--fn-ink); }
.fn-search__empty { padding: 12px; color: var(--fn-muted); }

/* Slot de anúncio: reserva de espaço e rótulo (CLS zero). */
.fn-ad[data-mrx-reserva] {
	display: flex;
	width: 100%;
	max-width: var(--mrx-w, 100%);
	margin-inline: auto;
}
.fn-ad__slot { width: 100%; display: flex; align-items: center; justify-content: center; }
.fn-ad__slot img { margin-inline: auto; }
/* Reserva pela proporção, não por altura fixa: o banner encolhe junto com a
   largura e nunca estica. No celular vale a proporção da imagem mobile. */
.fn-ad[data-mrx-reserva] > .fn-ad__slot { aspect-ratio: var(--mrx-ar, auto); }
@media (max-width: 767px) {
	.fn-ad[data-mrx-reserva] > .fn-ad__slot { aspect-ratio: var(--mrx-ar-m, var(--mrx-ar, auto)); }
}
/* Banner de imagem: sem moldura nem fundo da peça de casa. */
.fn-ad.fn-ad--imagem { min-height: 0; background: none; border: 0; }
.fn-ad--imagem .fn-ad__picture { display: block; width: 100%; }
.fn-ad--imagem .fn-ad__slot img {
	display: block;
	width: 100%;
	height: auto;
	max-width: var(--mrx-w, 100%);
}
/* Sidebar: bloco sem anúncio (posição opcional vazia) não ocupa espaço. */
.fn-sidebar__block:not(:has(*)) { display: none; }
.fn-ad--in-article { margin: var(--fn-section) auto; max-width: var(--fn-maxw-read); }
.fn-ad--rodape-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	margin: 0;
	background: var(--fn-paper);
	border-top: 1px solid var(--fn-line);
	box-shadow: 0 -2px 12px rgba(13, 22, 38, 0.12);
}
.fn-ad__close {
	position: absolute;
	top: 4px;
	right: 6px;
	width: 28px;
	height: 28px;
	border: 0;
	background: transparent;
	color: var(--fn-muted);
	font-size: 18px;
	line-height: 1;
}

/* ---------- Layouts extras de notícia ---------- */

/* Leitura centrada e full width: artigo sem sidebar, centrado na coluna de leitura. */
.fn-single--full .fn-article,
.fn-single--leitura .fn-article { max-width: var(--fn-maxw-read); margin-inline: auto; }

/* Imagem full width no topo. */
.fn-figure--full { max-width: none; width: 100%; margin: 0 0 var(--fn-gap-2); }
.fn-figure--full img { width: 100%; max-height: 72vh; object-fit: cover; }
.fn-figure--full figcaption { max-width: var(--fn-maxw); margin-inline: auto; padding-inline: var(--fn-pad); }
/* Respiro entre a legenda da foto e o breadcrumb no modelo full. */
.fn-single--full .fn-figure--full { margin-bottom: clamp(28px, 4vw, 48px); }
.fn-single--full .fn-article { padding-top: 8px; }

/* Vídeo/galeria: fundo escuro. */
.fn-single--video { background: var(--fn-noite); color: #eef2f8; }
.fn-single--video .fn-article__title,
.fn-single--video .fn-article__dek,
.fn-single--video .fn-prose,
.fn-single--video .fn-prose p,
.fn-single--video .fn-byline__author { color: #eef2f8; }
.fn-single--video .fn-breadcrumb,
.fn-single--video .fn-byline__date { color: #9fb0c6; }
.fn-single--video .fn-source { background: rgba(255,255,255,0.06); }
.fn-single--video .fn-article__kicker { color: var(--fn-azul-claro); }
.fn-single--video .fn-embed,
.fn-single--video .wp-block-embed { margin-bottom: var(--fn-gap-2); }

/* Caixa 404 */
.fn-404 { text-align: center; padding-block: var(--fn-section); }
.fn-404__code { font-family: var(--fn-font-display); font-stretch: 70%; font-weight: 900; font-size: clamp(4rem, 10vw, 8rem); color: var(--fn-azul); line-height: 1; }
/* Link da fonte sobre o fundo cinza: Azul Fator garante 4.5:1 no claro. */
html:not([data-theme="escuro"]) .fn-source .fn-link { color: var(--fn-azul); }

/* Celular sem rolagem lateral: links e URLs longas quebram em qualquer ponto
   no texto da matéria e na nota de fonte. clip na raiz impede que a página
   (e o fundo fixo do menu lateral) fique mais larga que a tela. */
html { overflow-x: clip; }
.fn-prose,
.fn-prose .entry-content,
.fn-prose p,
.fn-prose li,
.fn-prose a,
.entry-content a,
p.fn-fonte-demo,
p.fn-fonte-demo a,
.fn-article__header,
.fn-dek,
.fn-article h1,
.fn-article h2,
.fn-article h3,
.fn-article figcaption,
.fn-article blockquote { overflow-wrap: anywhere; }
.fn-drawer-overlay { inset: 0; width: 100%; max-width: 100vw; }
