/*
Theme Name: Caririensi 2026
Theme URI: https://caririensi.com.br
Author: fooba.studio
Author URI: https://fooba.studio
Description: Tema de blocos (FSE) do Caririensi — notícias de Juazeiro do Norte, Crato, Barbalha e de todo o Cariri.
Version: 1.0.2
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: Proprietária
Text Domain: caririensi-2026
*/

/* Visual do design system Caririensi (docs/design-system): cores, fontes, espaços e raios vêm de
   assets/css/tokens.css (Claro no :root, Noite em .tema-noite e no modo escuro do plugin de
   Acessibilidade); os componentes .cr-* de assets/css/caririensi-ds.css. Aqui ficam só os ajustes
   dos blocos do WordPress. Regra da marca: cambuí conduz, mangaba acende.
   Identidade própria do Caririensi (não repetir os layouts do Replay e do PortalM1): logo central,
   faixa de editorias com o sinal colorido, gaveta clara, capa de jornal, Pelo Cariri. */

/* ---------- Acessibilidade ---------- */
.skip-link.screen-reader-text:focus {
	background: var(--superficie);
	color: var(--marca-texto);
	clip: auto;
	clip-path: none;
	height: auto;
	width: auto;
	padding: 0.75rem 1rem;
	z-index: 100000;
	font-weight: 700;
}
:where(a, button, input, summary):focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }

/* =================================================================================================
   CABEÇALHO: barra fina (data e Central) · marca (menu e busca | logo central | Assista) · faixa de
   editorias. Ao rolar (html.cr-rolou), a barra fina some e a marca encolhe.
   ================================================================================================= */
/* Fixo no topo: o sticky vai no <header> da parte (o grupo .cr-topo ocupa o header inteiro). */
.wp-site-blocks > header:has(.cr-topo) { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header:has(.cr-topo) { top: var(--wp-admin--admin-bar--height, 0px); }
.cr-topo > *, .cr-topo__marca > *, .cr-topo__editorias > *, .cr-topo__grade > * { margin-block: 0 !important; }
.cr-topo__dir { align-items: center; height: 100%; }
.cr-topo__dir .wp-block-button { margin: 0; }
.cr-topo a { text-decoration: none; }

.cr-topo__fina { background: var(--cambui-950); color: var(--cambui-100); font: var(--tipo-meta); }
.cr-topo__fina > .alignwide { min-height: 32px; align-items: center; }
.cr-topo__fina p { margin: 0; }
.cr-topo__data::first-letter { text-transform: uppercase; }
.cr-topo__central a { color: var(--mangaba-300); font-weight: 700; }
.cr-topo__central a::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 6px;
	border-radius: 50%;
	background: var(--mangaba-300);
	vertical-align: 1px;
}

.cr-topo__marca { background: var(--superficie-marca); color: var(--on-marca); }
.cr-topo__grade {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--espaco-4);
	min-height: 84px;
	transition: min-height .2s ease;
}
.cr-topo__esq { gap: var(--espaco-1); }
.cr-topo__dir { justify-content: flex-end; }
.cr-topo__logo { justify-self: center; margin: 0; }
.cr-topo__logo img { display: block; width: 230px; height: auto; transition: width .2s ease; }

/* Rolou a página: cabeçalho compacto. */
html.cr-rolou .cr-topo__fina { display: none; }
html.cr-rolou .cr-topo__grade { min-height: 58px; }
html.cr-rolou .cr-topo__logo img { width: 160px; }

/* Botões redondos do menu, da busca e do claro/escuro. */
.cr-topo .wp-block-search { margin: 0; }
.cr-topo .wp-block-search__button,
.cr-topo .cr-tema-btn,
.cr-topo .wp-block-navigation__responsive-container-open {
	display: grid;
	place-items: center;
	width: var(--alvo-toque);
	height: var(--alvo-toque);
	padding: 0;
	border: 0;
	border-radius: var(--raio-pill);
	background: transparent;
	color: var(--on-marca);
}
.cr-topo .wp-block-search__button:hover,
.cr-topo .cr-tema-btn:hover,
.cr-topo .wp-block-navigation__responsive-container-open:hover { background: rgba(255, 255, 255, 0.1); }
/* Claro/escuro: lua no claro, sol no escuro (o estado é o do plugin Acessibilidade; ver caririensi.js). */
.cr-tema-btn { cursor: pointer; }
.cr-tema-btn:focus-visible { outline: 2px solid var(--mangaba-300); outline-offset: 2px; }
.cr-tema-btn svg { display: block; }
.cr-tema-btn__sol, .cr-tema-btn[aria-pressed="true"] .cr-tema-btn__lua { display: none !important; }
.cr-tema-btn[aria-pressed="true"] .cr-tema-btn__sol { display: block !important; color: var(--mangaba-300); }
.cr-topo .wp-block-search__button svg { fill: currentColor; width: 24px; height: 24px; }
.cr-topo .wp-block-search__input {
	border-radius: var(--raio-pill);
	border: 1px solid var(--cambui-300);
	background: var(--superficie);
	color: var(--texto);
	padding: 0.5rem 1rem;
}

/* "Assista": mangaba com texto bacupari e o play. */
.cr-btn-assista .wp-block-button__link,
.cr-btn-whats .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: var(--espaco-2);
	min-height: 42px;
	padding: 0.5rem 1.15rem;
	border-radius: var(--raio-pill);
	font: var(--tipo-botao);
	background: var(--destaque) !important;
	color: var(--on-destaque) !important;
}
.cr-btn-assista .wp-block-button__link::before {
	content: "";
	width: 0;
	height: 0;
	border-left: 9px solid currentColor;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
}
.cr-btn-assista .wp-block-button__link:hover,
.cr-btn-whats .wp-block-button__link:hover { background: var(--mangaba-300) !important; }

/* Faixa de editorias: fundo claro, cada editoria com o sinal na sua cor. Rola de lado no celular. */
.cr-topo__editorias { background: var(--superficie); border-bottom: 1px solid var(--linha); box-shadow: 0 1px 0 var(--linha); }
.cr-faixa-editorias { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.cr-faixa-editorias::-webkit-scrollbar { display: none; }
.cr-faixa-editorias, .cr-faixa-editorias .wp-block-navigation__container { justify-content: safe center !important; }
.cr-faixa-editorias .wp-block-navigation__container { gap: var(--espaco-6); flex-wrap: nowrap; padding: 0 var(--espaco-2); }
.cr-faixa-editorias .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	gap: var(--espaco-2);
	min-height: 46px;
	color: var(--texto);
	font: var(--tipo-rotulo);
	white-space: nowrap;
	border-bottom: 3px solid transparent;
	padding-top: 3px;
}
.cr-faixa-editorias .wp-block-navigation-item__content::before {
	content: "";
	width: 5px;
	height: 11px;
	border-radius: 0 999px 999px 0;
	background: var(--cr-ed, var(--marca-texto));
	box-shadow: 7px 2px 0 -2px var(--cr-ed, var(--marca-texto));
	margin-right: 6px;
}
.cr-faixa-editorias .wp-block-navigation-item__content:hover,
.cr-faixa-editorias .current-menu-item > .wp-block-navigation-item__content { border-bottom-color: var(--cr-ed, var(--marca-texto)); }
.cr-faixa-editorias__tv .wp-block-navigation-item__content::before { background: var(--destaque); box-shadow: 7px 2px 0 -2px var(--destaque); }
@media (max-width: 900px) {
	.cr-faixa-editorias { justify-content: flex-start !important; }
	.cr-faixa-editorias .wp-block-navigation__container { gap: var(--espaco-5); }
}
@media (max-width: 781px) {
	.cr-topo__fina { display: none; }
	.cr-topo__grade { min-height: 60px; grid-template-columns: auto 1fr auto; }
	.cr-topo__logo { justify-self: start; }
	.cr-topo__logo img, html.cr-rolou .cr-topo__logo img { width: 140px; }
	.cr-topo__dir { display: none !important; }
	.cr-topo__esq { order: 0; }
	.cr-busca-topo { order: 3; }
	.cr-topo .cr-tema-btn { order: 4; }
}

/* =================================================================================================
   GAVETA DO MENU: painel claro à esquerda (não tela cheia), com busca, editorias, Pelo Cariri e a
   Central Caririensi.
   ================================================================================================= */
.cr-gaveta .wp-block-navigation__responsive-container.is-menu-open {
	inset: 0 auto 0 0 !important;
	width: min(420px, 100vw);
	box-sizing: border-box; /* com o padding, a gaveta passava 48px da tela no celular */
	padding: var(--espaco-6) var(--espaco-6) var(--espaco-10) !important;
	background: var(--superficie) !important;
	color: var(--texto) !important;
	box-shadow: 0 0 0 100vmax rgba(0, 33, 28, 0.55); /* escurece o resto da página, cabeçalho incluído */
	overflow-y: auto;
	animation: cr-gaveta-entra .22s ease-out;
}
@keyframes cr-gaveta-entra { from { transform: translateX(-24px); opacity: 0; } to { transform: none; opacity: 1; } }
.wp-site-blocks > header:has(.cr-gaveta .is-menu-open) { z-index: 100001; }
.cr-gaveta .is-menu-open .wp-block-navigation__responsive-close { max-width: none; }
.cr-gaveta .is-menu-open .wp-block-navigation__responsive-container-close {
	color: var(--texto);
	top: 17px; /* metade da altura do logo da gaveta (34px): o fechar se posiciona dentro do miolo, que começa junto com o logo */
	right: var(--espaco-6);
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	width: var(--alvo-toque);
	height: var(--alvo-toque);
	margin-right: -10px;
	border-radius: var(--raio-pill);
}
.cr-gaveta .is-menu-open .wp-block-navigation__responsive-container-close:hover { background: var(--fundo-alt); }
.cr-gaveta__topo { display: flex; align-items: center; min-height: 34px; padding-right: var(--alvo-toque); }
.cr-gaveta .is-menu-open .wp-block-navigation__responsive-container-content {
	display: flex !important;
	flex-direction: column;
	align-items: stretch !important;
	gap: var(--espaco-4) !important;
	padding-top: 0 !important;
}
.cr-gaveta__topo img { display: block; height: 34px; width: auto; }
.cr-gaveta__busca { display: flex; gap: var(--espaco-2); }
.cr-gaveta__busca input {
	flex: 1;
	min-width: 0;
	min-height: 44px;
	padding: 0 var(--espaco-4);
	border: 1px solid var(--linha-forte);
	border-radius: var(--raio-pill);
	background: var(--fundo);
	color: var(--texto);
	font: var(--tipo-corpo);
}
.cr-gaveta__busca button {
	min-height: 44px;
	padding: 0 var(--espaco-4);
	border: 0;
	border-radius: var(--raio-pill);
	background: var(--marca);
	color: var(--on-marca);
	font: var(--tipo-botao);
	cursor: pointer;
}
.cr-gaveta__titulo { margin: var(--espaco-2) 0 0; font: var(--tipo-kicker); letter-spacing: 0.08em; text-transform: uppercase; color: var(--texto-suave); }
.cr-gaveta .is-menu-open .wp-block-navigation__container {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 0 var(--espaco-4) !important;
	width: 100%;
}
.cr-gaveta .is-menu-open .cr-gaveta-editoria > a {
	display: flex !important;
	align-items: center;
	gap: var(--espaco-2);
	padding: var(--espaco-2) 0 !important;
	border-bottom: 1px solid var(--linha);
	color: var(--texto) !important;
	font: 700 17px/24px var(--font-sans);
}
.cr-gaveta .is-menu-open .cr-gaveta-editoria > a::before {
	content: "";
	width: 5px;
	height: 12px;
	border-radius: 0 999px 999px 0;
	background: var(--cr-ed, var(--marca-texto));
	box-shadow: 7px 2px 0 -2px var(--cr-ed, var(--marca-texto));
	margin-right: 8px;
}
.cr-gaveta .is-menu-open .cr-gaveta-editoria > a:hover { color: var(--cr-ed, var(--marca-texto)) !important; }
.cr-gaveta .is-menu-open .cr-gaveta-inst { order: 2; }
.cr-gaveta .is-menu-open .cr-gaveta-inst > a { padding: var(--espaco-1) 0 !important; color: var(--texto-suave) !important; font: var(--tipo-rotulo); }
.cr-gaveta .is-menu-open .cr-gaveta-inst > a:hover { color: var(--marca-texto) !important; text-decoration: underline; }
.cr-gaveta .is-menu-open :is(.cr-gaveta-inst:nth-child(10), .cr-gaveta-inst:nth-child(11)) { margin-top: var(--espaco-3); }
.cr-gaveta .is-menu-open .cr-gaveta-inst:nth-child(10) { grid-column-start: 1; }
.wp-block-navigation__responsive-container:not(.is-menu-open) :is(.cr-gaveta__topo, .cr-gaveta__busca, .cr-gaveta__titulo, .cr-gaveta__extras) { display: none; }
.cr-gaveta__extras { display: grid; gap: var(--espaco-5); }
.cr-gaveta__grupo { display: grid; gap: var(--espaco-3); }
.cr-gaveta__central {
	display: flex;
	align-items: center;
	gap: var(--espaco-3);
	padding: var(--espaco-4);
	border-radius: var(--raio-lg);
	background: var(--superficie-marca);
	color: var(--on-marca) !important;
	text-decoration: none;
	font: var(--tipo-corpo-sm);
}
.cr-gaveta__central strong { display: block; font: 800 16px/22px var(--font-sans); color: var(--on-marca); }
.cr-gaveta__central span { color: var(--cambui-100); }
.cr-gaveta__central img { flex: none; width: 40px; height: auto; }

/* Atalhos das cidades (gaveta, capa e rodapé). */
.cr-cidades { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--espaco-2); }
.cr-cidades a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 var(--espaco-3);
	border: 1px solid var(--linha-forte);
	border-radius: var(--raio-pill);
	background: var(--superficie);
	color: var(--texto);
	font: var(--tipo-meta);
	font-weight: 700;
	text-decoration: none;
}
.cr-cidades a:hover { border-color: var(--marca-texto); color: var(--marca-texto); background: var(--marca-suave); }

/* =================================================================================================
   CHAPÉU, CABEÇA DE SEÇÃO E CARDS
   ================================================================================================= */
.wp-block-post-terms.taxonomy-category .wp-block-post-terms__separator { display: none; }
.wp-block-post-terms.taxonomy-category a + a { display: none; }
.wp-block-post-terms .cr-editoria { color: var(--cr-ed, var(--marca-texto)); }
.wp-block-post-terms .cr-editoria:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Post Grid (blocos-fooba-studio): chapéu e meta no padrão do sistema. */
.wp-block-bq-fooba-post-grid .fooba-pg-meta-categoria {
	background: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
	color: var(--marca-texto) !important;
	font: var(--tipo-kicker) !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
}
.wp-block-bq-fooba-post-grid .fooba-pg-card__title a { color: var(--texto) !important; font-family: var(--font-sans); font-weight: 700; text-decoration: none; }
.wp-block-bq-fooba-post-grid .fooba-pg-card:hover .fooba-pg-card__title a { color: var(--marca-texto) !important; text-decoration: underline; text-underline-offset: 3px; }
.wp-block-bq-fooba-post-grid :is(.fooba-pg-meta-top, .fooba-pg-meta-bot) { color: var(--texto-suave) !important; }
.wp-block-bq-fooba-post-grid .fooba-pg-card__img { border-radius: var(--raio-md); }
/* Anúncio entre os cards ocupa a linha inteira; os cards encolhem sem estourar a coluna. */
.fooba-pg-grid > * { min-width: 0; }
.fooba-pg-grid > :not(.fooba-pg-card) { grid-column: 1 / -1; }
.wp-block-bq-fooba-post-grid .fooba-pg-meta-resumo {
	font: var(--tipo-corpo-sm) !important;
	color: var(--texto-suave) !important;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Cabeça de seção: sinal + fio na cor da editoria (sem editoria, marca-texto). */
.cr-cabeca-secao {
	padding-bottom: var(--espaco-3);
	border-bottom: 2px solid var(--cr-ed, var(--marca-texto));
	margin-bottom: var(--espaco-5);
	align-items: center;
	display: flex;
	justify-content: space-between;
	gap: var(--espaco-4);
}
.cr-titulo-secao { display: flex; align-items: center; gap: var(--espaco-3); margin: 0; font-weight: 800; letter-spacing: -0.01em; }
.cr-titulo-secao::before {
	content: "";
	flex: none;
	width: 7px;
	height: 16px;
	border-radius: 0 999px 999px 0;
	background: var(--cr-ed, var(--marca-texto));
	box-shadow: 9px 3px 0 -3px var(--cr-ed, var(--marca-texto));
	margin-right: 6px;
}
.cr-titulo-secao a { color: inherit; text-decoration: none; }
.cr-titulo-secao a:hover { color: var(--cr-ed, var(--marca-texto)); }
.cr-ver-todas { margin: 0; font: var(--tipo-rotulo); white-space: nowrap; }
.cr-ver-todas a { color: var(--marca-texto); text-decoration: none; }
.cr-ver-todas a:hover { text-decoration: underline; }

.cr-secao-capa { margin-top: var(--espaco-12); }
.cr-capa__tres .cr-secao-capa, .cr-capa__duas .cr-secao-capa, .cr-capa__tres-listas .cr-secao-capa, .cr-materia-colunas .cr-secao-capa { margin-top: 0; }
.cr-capa__tres, .cr-capa__duas, .cr-capa__tres-listas { margin-top: var(--espaco-12) !important; }

.cr-cards .wp-block-post-featured-image img, .cr-mosaico .wp-block-post-featured-image img { border-radius: var(--raio-md); }
.cr-cards .wp-block-post-featured-image:not(:has(img)),
.cr-mosaico .wp-block-post-featured-image:not(:has(img)),
.cr-item-foto .wp-block-post-featured-image:not(:has(img)),
.cr-manchetinha .wp-block-post-featured-image:not(:has(img)) { display: none; }
:is(.cr-cards, .cr-lista, .cr-mosaico, .cr-capa-jornal, .cr-linha-tempo, .cr-opiniao) .wp-block-post-title a:hover {
	color: var(--marca-texto);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* =================================================================================================
   CAPA
   ================================================================================================= */
/* Capa de jornal: título à esquerda, foto à direita com o sinal, três manchetinhas com fios. */
.cr-capa-jornal__texto .wp-block-post-title { font-weight: 800; letter-spacing: -0.02em; line-height: 1.08; text-wrap: balance; }
.cr-capa-jornal__resumo { margin: var(--espaco-4) 0 0; color: var(--texto-suave); font: var(--tipo-linha-fina); }
.cr-capa-jornal__meta { margin-top: var(--espaco-4); }
.cr-capa-jornal__foto .wp-block-post-featured-image { position: relative; margin: 0; }
.cr-capa-jornal__foto .wp-block-post-featured-image img { border-radius: var(--raio-lg); }
.cr-capa-jornal__foto .wp-block-post-featured-image::after {
	content: "";
	position: absolute;
	left: -18px;
	bottom: 28px;
	width: 22px;
	height: 56px;
	border-radius: 0 999px 999px 0;
	background: var(--destaque);
	box-shadow: 30px 9px 0 -9px var(--destaque);
	pointer-events: none;
}
.cr-capa-jornal__manchetinhas { margin-top: var(--espaco-8); padding-top: var(--espaco-6); border-top: 3px solid var(--texto); }
/* Fios verticais entre as três (tela larga); abaixo disso, a grade quebra e os fios ficam horizontais. */
.cr-capa-jornal__manchetinhas .wp-block-post-template { gap: var(--espaco-5) var(--espaco-6) !important; }
@media (min-width: 1000px) {
	.cr-capa-jornal__manchetinhas .wp-block-post-template { gap: 0 !important; }
	.cr-capa-jornal__manchetinhas .wp-block-post-template > li { padding: 0 var(--espaco-6); border-left: 1px solid var(--linha); }
	.cr-capa-jornal__manchetinhas .wp-block-post-template > li:first-child { padding-left: 0; border-left: 0; }
}
.cr-manchetinha { gap: var(--espaco-4) !important; }
.cr-manchetinha .wp-block-post-title { margin: 0; font-weight: 700; line-height: 1.3; }
.cr-manchetinha .wp-block-post-featured-image { flex: none; margin: 0; }
.cr-manchetinha .wp-block-post-featured-image img { border-radius: var(--raio-md); }
@media (max-width: 781px) {
	.cr-capa-jornal__foto { order: -1; }
	.cr-capa-jornal__foto .wp-block-post-featured-image::after { left: auto; right: 16px; bottom: -14px; }
}

/* Últimas: linha do tempo do plantão (hora | trilho com marcas | chapéu e título). */
.cr-linha-tempo .wp-block-post-template { margin: 0; }
.cr-linha-tempo .wp-block-post-template > li {
	position: relative;
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: var(--espaco-4);
	padding-bottom: var(--espaco-5);
}
.cr-linha-tempo .wp-block-post-template > li::before {
	content: "";
	position: absolute;
	left: 56px;
	top: 6px;
	bottom: 0;
	width: 1px;
	background: var(--linha);
}
.cr-linha-tempo .wp-block-post-template > li:last-child::before { display: none; }
.cr-linha-tempo__hora { margin: 0; font: 700 13px/20px var(--font-sans) !important; color: var(--destaque-texto) !important; font-variant-numeric: tabular-nums; }
.cr-linha-tempo__corpo { position: relative; padding-left: var(--espaco-3); }
.cr-linha-tempo__corpo::before {
	content: "";
	position: absolute;
	left: -11px;
	top: 5px;
	width: 5px;
	height: 10px;
	border-radius: 0 999px 999px 0;
	background: var(--destaque);
}
.cr-linha-tempo .wp-block-post-title { margin: 0; font-weight: 700; line-height: 1.35; }
.cr-linha-tempo .wp-block-post-terms { font-size: 11px; }
@media (max-width: 781px) { .cr-linha-tempo .wp-block-post-template > li:nth-child(n+6) { display: none; } }

/* Três colunas da capa em tela média (tablet, notebook pequeno): Últimas e Cariri lado a lado,
   Mais lidas embaixo em largura total. */
@media (min-width: 782px) and (max-width: 1099px) {
	.cr-capa__tres { flex-wrap: wrap !important; }
	.cr-capa__tres > .wp-block-column:nth-child(1) { flex-basis: 38% !important; }
	.cr-capa__tres > .wp-block-column:nth-child(2) { flex-basis: calc(62% - var(--wp--preset--spacing--40)) !important; }
	.cr-capa__tres > .wp-block-column:nth-child(3) { flex-basis: 100% !important; margin-left: 0 !important; }
}

/* Mosaico: a primeira matéria em largura total, as outras duas lado a lado. */
.cr-mosaico .wp-block-post-template > li:first-child { grid-column: 1 / -1; }
.cr-mosaico .wp-block-post-template > li:first-child .wp-block-post-featured-image { aspect-ratio: 16 / 9 !important; }
.cr-mosaico .wp-block-post-template > li:first-child .wp-block-post-featured-image img { aspect-ratio: 16 / 9 !important; border-radius: var(--raio-lg); }
.cr-mosaico .wp-block-post-template > li:first-child .wp-block-post-title { font-size: var(--wp--preset--font-size--x-large) !important; font-weight: 800; }

/* Mais lidas (shortcode) e listas. */
.cr-secao-capa--mais-lidas .cr-mais-lidas { margin-bottom: var(--espaco-8); gap: var(--espaco-6); }
.cr-materia-colunas__lado .cr-mais-lidas a { font-size: 15px; line-height: 21px; }
.cr-lado-fixo { gap: var(--espaco-12) !important; }
.cr-materia-colunas__lado .cr-secao-capa--mais-lidas .cr-cabeca-secao { margin-bottom: var(--espaco-6); }
.cr-lista .wp-block-post-template { margin: 0; }
.cr-lista .wp-block-post-template > li { padding: var(--espaco-3) 0; border-bottom: 1px solid var(--linha); }
.cr-lista .wp-block-post-template > li:last-child { border-bottom: 0; }
.cr-lista .wp-block-post-title { margin: 0 0 var(--espaco-1); font-weight: 700; line-height: 1.35; }
.cr-item-foto { gap: var(--espaco-4) !important; }
.cr-item-foto .wp-block-post-featured-image { flex: none; margin: 0; }
.cr-item-foto .wp-block-post-featured-image img { border-radius: var(--raio-md); }

/* Cartaz (Entretenimento e destaque de Esportes): foto vertical com título sobre degradê bacupari. */
.cr-cartaz { border-radius: var(--raio-lg); overflow: hidden; padding: var(--espaco-5) !important; }
.cr-cartaz::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 33, 28, 0) 35%, rgba(0, 33, 28, 0.88) 100%);
	pointer-events: none;
}
.cr-cartaz .wp-block-cover__inner-container { position: relative; z-index: 2; }
.cr-cartaz .wp-block-post-title { margin: 0; color: var(--on-marca); font-weight: 800; line-height: 1.2; }
.cr-cartaz .wp-block-post-title a { color: inherit; text-decoration: none; }
.cr-cartaz .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; } /* cartaz inteiro clicável */
.cr-cartaz .wp-block-post-date { color: var(--cambui-100); }
.cr-cartaz:hover .wp-block-cover__image-background { transform: scale(1.03); }
.cr-cartaz .wp-block-cover__image-background { transition: transform .4s ease; }
.cr-cartazes .cr-cartaz { min-height: 380px !important; }
.cr-destaque-foto .cr-cartaz { min-height: 300px !important; }
.cr-destaque-foto + .cr-lista { margin-top: var(--espaco-3); }

/* Opinião: cartões verde-bacupari, aspas e data em mangaba clara, título em Merriweather branco. */
.cr-opiniao .wp-block-post-template > li {
	position: relative;
	padding: var(--espaco-12) var(--espaco-6) var(--espaco-6);
	border-radius: var(--raio-lg);
	background: var(--superficie-marca);
	color: var(--on-marca);
}
.cr-opiniao .wp-block-post-template > li::before {
	content: "“";
	position: absolute;
	top: 6px;
	left: var(--espaco-6);
	font: 700 72px/1 var(--font-serif);
	color: var(--mangaba-300);
}
.cr-opiniao__titulo { margin: 0; color: var(--on-marca) !important; font-family: var(--font-serif) !important; font-weight: 700 !important; line-height: 1.35 !important; }
.cr-opiniao .cr-opiniao__titulo a { color: var(--on-marca); text-decoration: none; }
.cr-opiniao .cr-opiniao__titulo a:hover { color: var(--mangaba-300); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cr-opiniao__resumo { margin: var(--espaco-3) 0; color: var(--cambui-100); font: var(--tipo-corpo-sm); }
.cr-opiniao .wp-block-post-date { color: var(--mangaba-300); font-weight: 700; }

/* Pelo Cariri: faixa gesso com o ladrilho e as cidades. */
.cr-pelo-cariri {
	margin-top: var(--espaco-12);
	padding: var(--espaco-8);
	border-radius: var(--raio-lg);
	background: var(--fundo-alt);
	gap: var(--espaco-6);
	overflow: hidden;
}
.cr-pelo-cariri__titulo { margin: 0; font-weight: 800; }
.cr-pelo-cariri__titulo::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 18px;
	margin-right: 14px;
	border-radius: 0 999px 999px 0;
	background: var(--ed-cariri);
	box-shadow: 10px 3px 0 -3px var(--ed-cariri);
}
.cr-pelo-cariri__texto { margin: 0; color: var(--texto-suave); }
.cr-pelo-cariri .cr-cidades { max-width: 760px; position: relative; z-index: 1; }

/* Faixa Central Caririensi. */
.cr-faixa-central { overflow: hidden; gap: var(--espaco-6); }
.cr-faixa-central .cr-simbolo { width: 56px; height: auto; display: block; }
.cr-faixa-central__titulo { margin: 0; color: var(--on-marca) !important; }
.cr-faixa-central__info { margin: 0; color: var(--cambui-100); }
.cr-faixa-central__info strong { color: var(--mangaba-300); }
.cr-faixa-central__rotulo { font: var(--tipo-kicker); letter-spacing: 0.08em; text-transform: uppercase; color: var(--mangaba-300); }
@media (max-width: 600px) { .cr-faixa-central .cr-simbolo { display: none; } }

/* Espaços de anúncio. Na prévia, a reserva mostra o tamanho (cr-anuncio--reserva). */
.cr-espaco-anuncio { margin-top: var(--espaco-10); margin-bottom: 0; text-align: center; }
.cr-materia-colunas .cr-espaco-anuncio { margin-top: var(--espaco-12); }
.cr-espaco-anuncio:not(:has(*)) { display: none; }
.cr-anuncio--reserva { margin: 0 auto; max-width: 100%; }
.cr-anuncio--reserva .cr-anuncio__espaco {
	max-width: 100% !important;
	height: auto;
	text-align: center;
	line-height: 1.4;
	background: repeating-linear-gradient(135deg, var(--fundo-alt) 0 12px, var(--superficie) 12px 24px);
	border: 1px dashed var(--linha-forte);
}
.cr-materia-colunas__lado .cr-anuncio--reserva { margin-bottom: var(--espaco-8); }

/* =================================================================================================
   MATÉRIA: abertura em gesso com o ladrilho, texto + coluna lateral fixa, barra de leitura.
   ================================================================================================= */
.cr-progresso {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	height: 3px;
	width: 100%;
	transform-origin: 0 50%;
	transform: scaleX(0);
	background: var(--destaque);
}
.admin-bar .cr-progresso { top: var(--wp-admin--admin-bar--height, 0px); }

.cr-abertura { background: var(--fundo-alt); padding-top: var(--espaco-8); padding-bottom: var(--espaco-8); }
.cr-abertura__miolo { display: grid; gap: var(--espaco-4); max-width: 920px !important; margin-left: auto; margin-right: auto; position: relative; z-index: 1; }
.cr-abertura .wp-block-post-terms { margin-top: var(--espaco-2); }
.cr-abertura__titulo { margin: 0; font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; text-wrap: balance; }
/* trilha dos Blocos Foobá: a cor vem fixa no atributo do bloco; aqui segue o token (Claro, Noite e contrastes) */
.cr-abertura [id^="fooba-bc-"] { color: var(--texto-suave) !important; }
/* rótulo "publicidade" do Fooba Ads (cinza fixo no plugin): segue o token, legível também no Noite */
body .ad_kariris .fooba-ads-label { color: var(--texto-suave); }
.cr-linha-fina { font: var(--tipo-linha-fina); color: var(--texto-suave); margin: 0; }
.cr-assinatura { margin-top: var(--espaco-2); padding-top: var(--espaco-4); border-top: 1px solid var(--linha-forte); gap: var(--espaco-3); }
.cr-assinatura__autor .wp-block-avatar img { border-radius: 999px; display: block; }
.cr-assinatura .wp-block-post-author-name { font-weight: 700; }
.cr-data-materia, .cr-tempo-leitura { font: var(--tipo-meta); color: var(--texto-suave); }
.cr-tempo-leitura::before { content: "· "; }

.cr-compartilhar button {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: var(--raio-pill);
	border: 1px solid var(--linha-forte);
	background: transparent;
	color: var(--texto);
	cursor: pointer;
}
.cr-compartilhar button:hover { background: var(--marca-suave); border-color: var(--marca-texto); color: var(--marca-texto); }
.cr-compartilhar button.is-copiado { background: var(--destaque); border-color: var(--destaque); color: var(--on-destaque); }

.cr-materia-colunas { max-width: 1120px !important; margin-left: auto !important; margin-right: auto !important; }
.cr-lado-fixo { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 130px); display: grid; gap: var(--espaco-8); }
.cr-materia-colunas > .wp-block-column { min-width: 0; }
@media (max-width: 999px) {
	.cr-materia-colunas__lado { display: none; }
	.cr-materia-colunas > .wp-block-column:first-child { flex-basis: 100% !important; }
}

/* Texto da matéria em Merriweather (theme.json); intertítulos e legendas em Merriweather Sans. */
.cr-texto-materia :is(h2, h3, h4) { font-family: var(--font-sans); margin-top: var(--espaco-10); }
.cr-texto-materia a { color: var(--marca-texto); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cr-texto-materia figcaption,
.wp-block-bq-fooba-post-thumbnail figcaption { font: var(--tipo-legenda); color: var(--texto-suave); }
.cr-texto-materia img { height: auto; border-radius: var(--raio-md); }
.cr-texto-materia > p:first-of-type::first-letter {
	float: left;
	margin: 6px 10px 0 0;
	font: 800 3.4em/0.8 var(--font-sans);
	color: var(--marca-texto);
}
/* Matérias antigas (importadas do Blogger) trazem fonte, cor e largura fixas no HTML. */
.cr-texto-materia [style*="font-family"] { font-family: inherit !important; }
.cr-texto-materia [style*="font-size"] { font-size: inherit !important; }
.cr-texto-materia [style*="color"]:not(.has-text-color) { color: inherit !important; }
.cr-texto-materia :is(table, iframe, video) { max-width: 100%; }
.cr-texto-materia table { display: block; overflow-x: auto; }
@media (max-width: 600px) { .cr-texto-materia { font-size: 1.125rem !important; line-height: 1.67 !important; } }

.cr-tags { margin-top: var(--espaco-10) !important; }
.cr-tags a {
	display: inline-block;
	margin: 0 var(--espaco-2) var(--espaco-2) 0;
	padding: 4px var(--espaco-3);
	border-radius: var(--raio-pill);
	border: 1px solid var(--linha-forte);
	color: var(--texto);
	font: var(--tipo-meta);
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
}
.cr-tags a:hover { border-color: var(--marca-texto); color: var(--marca-texto); }
.cr-tags .wp-block-post-terms__separator { display: none; }

/* Assinatura no fim da matéria: fio mangaba, avatar e uma linha "Por Redação Caririensi" (política da redação). */
.cr-autor-faixa { display: flex; align-items: center; gap: var(--espaco-3); margin-top: var(--espaco-12); padding-top: var(--espaco-5); border-top: 3px solid var(--destaque); }
.cr-autor-faixa .wp-block-post-author__avatar { margin: 0; line-height: 0; }
.cr-autor-faixa .wp-block-post-author__avatar img { border-radius: 999px; display: block; }
.cr-autor-faixa .wp-block-post-author__content { display: flex; flex: 1 1 auto; min-width: 0; flex-wrap: wrap; align-items: baseline; gap: 0.3em; }
.cr-autor-faixa .wp-block-post-author__byline,
.cr-autor-faixa .wp-block-post-author__name { margin: 0; font-family: var(--wp--preset--font-family--merriweather-sans); font-size: var(--wp--preset--font-size--medium); line-height: 1.3; color: var(--texto); }
.cr-autor-faixa .wp-block-post-author__byline { width: auto; text-transform: none; color: var(--texto-suave); } /* o bloco põe a linha "Por" sozinha em cima (width 100%) */
.cr-autor-faixa .wp-block-post-author__name { font-weight: 800; }

.cr-mais-em { margin-top: var(--espaco-16) !important; padding-top: var(--espaco-10); border-top: 1px solid var(--linha); }
.cr-mais-em .cr-cabeca-secao { margin-bottom: var(--espaco-8); }
.cr-mais-em .cr-cabeca-secao h2 { font-size: var(--wp--preset--font-size--x-large); }
.cr-mais-em + .cr-faixa-central, .cr-mais-em ~ .cr-faixa-central { margin-top: var(--espaco-16) !important; }
.cr-autor-faixa a, .cr-assinatura a { text-decoration: none; color: inherit; }
.cr-autor-faixa a:hover, .cr-assinatura a:hover { color: var(--marca-texto); }

/* =================================================================================================
   EXPEDIENTE (página /expediente, conteúdo em docs/paginas/expediente.html)
   Ficha técnica como no expediente impresso: rótulo à esquerda, nomes à direita, fio mangaba no topo.
   ================================================================================================= */
.cr-expediente { margin-top: var(--espaco-4); }
.cr-expediente__kicker { margin: 0 0 var(--espaco-3); font: var(--tipo-kicker); letter-spacing: 0.08em; text-transform: uppercase; color: var(--destaque-texto); }
.cr-expediente__lead { margin: 0; font: var(--tipo-linha-fina); font-style: normal; color: var(--texto-suave); max-width: 62ch; }

.cr-ficha { margin-top: var(--espaco-10) !important; padding: var(--espaco-8) var(--espaco-8) var(--espaco-4); background: var(--fundo-alt); border-top: 4px solid var(--destaque); border-radius: 0 0 var(--raio-lg) var(--raio-lg); }
.cr-ficha__titulo { margin: 0 0 var(--espaco-4) !important; font: var(--tipo-rotulo); letter-spacing: 0.08em; text-transform: uppercase; color: var(--texto-suave); }
.cr-ficha__linha { display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); gap: var(--espaco-2) var(--espaco-6); align-items: baseline; margin: 0 !important; padding: var(--espaco-4) 0; border-top: 1px solid var(--linha); }
.cr-ficha__titulo + .cr-ficha__linha { border-top: 0; }
.cr-ficha__rotulo { margin: 0; font: var(--tipo-kicker); letter-spacing: 0.08em; text-transform: uppercase; color: var(--marca-texto); }
.cr-ficha__valor { margin: 0; font-family: var(--font-sans); font-size: var(--wp--preset--font-size--large); line-height: 1.4; color: var(--texto); }
.cr-ficha__valor a { color: var(--marca-texto); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cr-ficha__nomes { display: flex; flex-wrap: wrap; gap: var(--espaco-2) var(--espaco-6); padding: 0; list-style: none; font-weight: 700; }
.cr-ficha__nomes li { margin: 0; display: inline-flex; align-items: center; gap: var(--espaco-2); }
.cr-ficha__nomes li::before { content: ""; width: 6px; height: 14px; border-radius: 0 999px 999px 0; background: var(--verde-mangaba); }

.cr-expediente__cartoes { margin-top: var(--espaco-8) !important; gap: var(--espaco-6) !important; }
.cr-expediente__cartao { padding: var(--espaco-6); border: 1px solid var(--linha); border-radius: var(--raio-lg); background: var(--superficie); }
.cr-expediente__cartao h3 { margin-top: 0; font-size: var(--wp--preset--font-size--x-large); }
.cr-expediente__cartao p { font-family: var(--font-sans); font-size: var(--wp--preset--font-size--medium); line-height: 1.6; color: var(--texto); }
.cr-expediente__cartao--contato { background: var(--marca-suave); border-color: transparent; }
.cr-expediente__redes-rotulo { margin: var(--espaco-6) 0 var(--espaco-2) !important; font: var(--tipo-kicker) !important; letter-spacing: 0.08em; text-transform: uppercase; color: var(--texto-suave) !important; }
.cr-expediente__redes .wp-social-link svg { fill: var(--marca-texto); }

@media (max-width: 640px) {
	.cr-ficha { padding: var(--espaco-6) var(--espaco-5) var(--espaco-2); }
	.cr-ficha__linha { grid-template-columns: minmax(0, 1fr); }
	.cr-ficha__valor { font-size: var(--wp--preset--font-size--medium); }
}

/* =================================================================================================
   INSTITUCIONAL (template page-institucional; conteúdo em docs/paginas/*.html)
   Abertura em gesso com ladrilho (a mesma da matéria) + componentes .cr-inst-*: números, cartões,
   canais, faixa de chamada, passos, princípios numerados, formatos de anúncio em escala, política com
   índice fixo e o "Mais sobre o Caririensi" no fim. Tudo por tokens (segue Noite e altos contrastes).
   ================================================================================================= */
.cr-inst-abertura { padding-top: var(--espaco-10); padding-bottom: var(--espaco-12); }
.cr-inst-abertura__kicker { display: flex; align-items: center; gap: var(--espaco-3); margin: var(--espaco-2) 0 0; font: var(--tipo-kicker); letter-spacing: 0.08em; text-transform: uppercase; color: var(--destaque-texto); }
.cr-inst-abertura__kicker::before { content: ""; width: 5px; height: 12px; border-radius: 0 999px 999px 0; background: var(--verde-mangaba); box-shadow: 7px 2px 0 -2px var(--verde-mangaba); margin-right: 6px; }
.cr-inst-abertura .cr-linha-fina { max-width: 60ch; }

.cr-inst-corpo { padding-top: var(--espaco-10); padding-bottom: var(--espaco-8); }
.cr-inst-corpo > p:not([class]), .cr-inst-corpo .cr-inst-texto p:not([class]), .cr-inst-corpo .cr-inst-texto li { font: 400 18px/30px var(--font-serif); color: var(--texto); }
.cr-inst-corpo h2 { margin-top: var(--espaco-16); margin-bottom: var(--espaco-4); font: 800 30px/36px var(--font-sans); letter-spacing: -0.01em; text-wrap: balance; }
.cr-inst-corpo > h2:first-child, .cr-inst-corpo > .cr-inst-kicker:first-child + h2 { margin-top: 0; }
.cr-inst-corpo h3 { margin: 0 0 var(--espaco-2); font: var(--tipo-titulo-3); }
.cr-inst-corpo .cr-ficha__titulo { margin: 0 0 var(--espaco-4) !important; font: var(--tipo-rotulo); } /* Expediente */
.cr-inst-corpo > .cr-expediente:first-child, .cr-inst-corpo > .cr-expediente:first-child > .cr-ficha:first-child { margin-top: 0 !important; }
.cr-inst-corpo :is(h2, h3)[id] { scroll-margin-top: 150px; }
.cr-inst-kicker { margin-top: var(--espaco-16) !important; margin-bottom: calc(var(--espaco-4) * -1) !important; font: var(--tipo-kicker); letter-spacing: 0.08em; text-transform: uppercase; color: var(--marca-texto); }
.cr-inst-kicker:first-child { margin-top: 0 !important; }
.cr-inst-kicker + h2 { margin-top: var(--espaco-5) !important; }
.cr-inst-destaque { font: 700 22px/32px var(--font-sans) !important; color: var(--texto); text-wrap: pretty; }

/* números */
.cr-inst-numeros { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--espaco-6); margin-top: var(--espaco-10) !important; }
.cr-inst-numeros > * { margin: 0 !important; }
.cr-inst-numero { padding-top: var(--espaco-4); border-top: 4px solid var(--verde-mangaba); font: var(--tipo-corpo-sm); color: var(--texto-suave); }
.cr-inst-numero strong { display: block; margin-bottom: var(--espaco-1); font: 800 36px/40px var(--font-sans); letter-spacing: -0.02em; color: var(--texto); }

/* cartões */
.cr-inst-cartoes { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--espaco-5); margin-top: var(--espaco-6) !important; }
.cr-inst-cartoes > * { margin: 0 !important; }
.cr-inst-cartao { --cr-ed: var(--marca-texto); padding: var(--espaco-6); border: 1px solid var(--linha); border-radius: var(--raio-lg); background: var(--superficie); }
.cr-inst-cartao > * + * { margin-top: var(--espaco-2) !important; }
.cr-inst-cartao h3 { display: flex; align-items: center; gap: var(--espaco-3); }
.cr-inst-cartao h3::before { content: ""; flex: none; width: 5px; height: 14px; border-radius: 0 999px 999px 0; background: var(--cr-ed); box-shadow: 7px 2px 0 -2px var(--cr-ed); margin-right: 6px; }
.cr-inst-cartao p { margin: 0; font: var(--tipo-corpo); color: var(--texto-suave); }
.cr-inst-cartao a { color: var(--marca-texto); }
.cr-inst-cartao--marca { --cr-ed: var(--verde-mangaba); background: var(--superficie-marca); border-color: transparent; }
.cr-inst-cartao--marca h3 { color: var(--on-marca); }
.cr-inst-cartao--marca p { color: var(--cambui-100); }
.cr-inst-cartao--marca a { color: var(--mangaba-300); }

/* canais de contato: o valor é o destaque */
.cr-inst-canal__rotulo { margin: 0 !important; font: var(--tipo-kicker); letter-spacing: 0.08em; text-transform: uppercase; color: var(--texto-suave); }
.cr-inst-canal__valor { margin-top: var(--espaco-2) !important; font: 800 22px/28px var(--font-sans) !important; color: var(--texto) !important; overflow-wrap: anywhere; }
.cr-inst-canal__valor a { color: inherit; text-decoration: none; }
.cr-inst-canal__valor a:hover { color: var(--marca-texto); text-decoration: underline; }
.cr-inst-cartao--marca .cr-inst-canal__rotulo { color: var(--mangaba-300); }
.cr-inst-cartao--marca .cr-inst-canal__valor { color: var(--on-marca) !important; }

/* faixa de chamada (bacupari com ladrilho) */
.cr-inst-faixa { margin-top: var(--espaco-16) !important; padding: var(--espaco-10) var(--espaco-10) !important; border-radius: var(--raio-lg); background: var(--superficie-marca); color: var(--on-marca); overflow: hidden; }
.cr-inst-faixa h2 { margin: 0 0 var(--espaco-3) !important; color: var(--on-marca); max-width: 22ch; }
.cr-inst-faixa p { margin: 0; max-width: 52ch; font: var(--tipo-corpo); font-size: 17px; color: var(--cambui-100); }
.cr-inst-faixa .wp-block-buttons { margin-top: var(--espaco-6) !important; gap: var(--espaco-3); }
.cr-inst-faixa .wp-block-button__link { min-height: var(--alvo-toque); padding: 10px var(--espaco-6); border: 2px solid var(--destaque); border-radius: var(--raio-pill); background: var(--destaque); color: var(--on-destaque); font: var(--tipo-botao); }
.cr-inst-faixa .wp-block-button__link:hover { background: var(--mangaba-300); border-color: var(--mangaba-300); }
.cr-inst-faixa .is-style-outline .wp-block-button__link { background: transparent; border-color: rgba(255, 255, 255, 0.8); color: var(--on-marca); }
.cr-inst-faixa .is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.12); border-color: var(--on-marca); }

/* passos (1 → 2 → 3 → 4) */
.cr-inst-passos { counter-reset: passo; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: var(--espaco-5); margin-top: var(--espaco-6) !important; margin-bottom: 0 !important; padding: 0 !important; list-style: none; }
.cr-inst-passos li { counter-increment: passo; position: relative; margin: 0; padding: var(--espaco-5); border-radius: var(--raio-lg); background: var(--fundo-alt); font: var(--tipo-corpo) !important; color: var(--texto-suave) !important; }
.cr-inst-passos li::before { content: counter(passo); display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: var(--espaco-3); border-radius: 50%; background: var(--destaque); color: var(--on-destaque); font: 800 17px/1 var(--font-sans); }
.cr-inst-passos li strong { display: block; margin-bottom: var(--espaco-1); color: var(--texto); font-family: var(--font-sans); }

/* princípios numerados (01, 02…) */
.cr-inst-principios { counter-reset: principio; margin-top: var(--espaco-6) !important; margin-bottom: 0 !important; padding: 0 !important; list-style: none; }
.cr-inst-principios > li { counter-increment: principio; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: var(--espaco-4); margin: 0; padding: var(--espaco-5) 0; border-top: 1px solid var(--linha); font: 400 18px/30px var(--font-serif) !important; color: var(--texto) !important; }
.cr-inst-principios > li::before { content: counter(principio, decimal-leading-zero); font: 800 28px/30px var(--font-sans); color: var(--marca-texto); }
.cr-inst-principios > li strong { font-family: var(--font-sans); }

/* nota (aviso, versão, data) */
.cr-inst-nota { margin-top: var(--espaco-8) !important; padding: var(--espaco-5) var(--espaco-6) !important; border-left: 4px solid var(--destaque); border-radius: 0 var(--raio-md) var(--raio-md) 0; background: var(--fundo-alt); }
.cr-inst-nota p { margin: 0; font: var(--tipo-corpo) !important; color: var(--texto) !important; }
.cr-inst-nota p + p { margin-top: var(--espaco-2); }

/* formatos de anúncio desenhados em escala (600 px = largura cheia) */
.cr-inst-formatos { display: grid !important; grid-template-columns: 2fr 1fr 1fr; gap: var(--espaco-6); align-items: end; margin-top: var(--espaco-8) !important; }
.cr-inst-formatos > * { margin: 0 !important; }
.cr-inst-formato__arte { display: grid !important; place-items: center; margin: 0 0 var(--espaco-4) !important; border: 2px dashed var(--verde-mangaba); border-radius: var(--raio-md); background: var(--superficie-marca); color: var(--on-marca) !important; font: 800 15px/1.2 var(--font-sans) !important; letter-spacing: 0.02em; position: relative; isolation: isolate; overflow: hidden; }
.cr-inst-formato__arte::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .35; background: url("assets/img/ladrilho-cambui.svg") 0 0 / 120px 120px repeat; }
.cr-inst-formato__arte--horizontal { aspect-ratio: 600 / 315; }
.cr-inst-formato__arte--celular { aspect-ratio: 300 / 250; }
.cr-inst-formato__arte--quadrado { aspect-ratio: 1; }
.cr-inst-formato h3 { margin-bottom: var(--espaco-1); }
.cr-inst-formato p:not(.cr-inst-formato__arte) { margin: 0; font: var(--tipo-corpo-sm); color: var(--texto-suave); }

/* política: índice fixo à esquerda, texto à direita */
.cr-inst-politica { margin-top: 0 !important; gap: var(--espaco-12) !important; }
.cr-inst-politica > .wp-block-column { min-width: 0; }
@media (min-width: 782px) { .cr-inst-politica { display: flex; flex-wrap: nowrap !important; } }
.cr-inst-indice { position: sticky; top: 130px; align-self: flex-start; padding: var(--espaco-5); border-radius: var(--raio-lg); background: var(--fundo-alt); }
.cr-inst-indice__titulo { margin: 0 0 var(--espaco-3) !important; font: var(--tipo-kicker) !important; letter-spacing: 0.08em; text-transform: uppercase; color: var(--texto-suave) !important; }
.cr-inst-indice ol { counter-reset: indice; margin: 0 !important; padding: 0 !important; list-style: none; display: grid; gap: 2px; }
.cr-inst-indice li { counter-increment: indice; margin: 0; font: var(--tipo-corpo-sm) !important; }
.cr-inst-indice a { display: flex; gap: var(--espaco-2); padding: 6px var(--espaco-2); border-radius: var(--raio-sm); color: var(--texto); text-decoration: none; }
.cr-inst-indice a::before { content: counter(indice, decimal-leading-zero); flex: none; font-weight: 800; color: var(--marca-texto); }
.cr-inst-indice a:hover { background: var(--marca-suave); color: var(--marca-texto); }
.cr-inst-texto h2 { margin-top: var(--espaco-12) !important; font-size: 26px; line-height: 32px; }
.cr-inst-texto > h2:first-child { margin-top: 0 !important; }
.cr-inst-texto ul, .cr-inst-texto ol:not(.cr-inst-principios):not(.cr-inst-passos) { padding-left: 1.2em; }
.cr-inst-texto li + li { margin-top: var(--espaco-2); }
.cr-inst-texto a { color: var(--marca-texto); text-underline-offset: 3px; }

/* tabelas da Privacidade Foobá ([fooba_cookies], [fooba_dados], [fooba_encarregado]) na política de privacidade */
.cr-inst-texto .fooba-doc { margin-top: var(--espaco-4); overflow-x: auto; }
.cr-inst-texto .fooba-doc h3 { margin: var(--espaco-8) 0 var(--espaco-2); font: var(--tipo-titulo-4); color: var(--texto); }
.cr-inst-texto .fooba-doc p { margin: 0 0 var(--espaco-3); font: var(--tipo-corpo-sm) !important; color: var(--texto-suave) !important; }
.cr-inst-texto .fooba-doc__tabela { width: 100%; min-width: 560px; margin: 0 0 var(--espaco-4); border-collapse: collapse; font: var(--tipo-corpo-sm); }
.cr-inst-texto .fooba-doc__tabela th { padding: 10px 12px; border-bottom: 2px solid var(--linha-forte); background: var(--fundo-alt); color: var(--texto); font-weight: 800; text-align: left; white-space: nowrap; }
.cr-inst-texto .fooba-doc__tabela td { padding: 10px 12px; border-bottom: 1px solid var(--linha); color: var(--texto); vertical-align: top; overflow-wrap: normal; word-break: normal; hyphens: none; }
.cr-inst-texto .fooba-doc--cookies .fooba-doc__tabela td:nth-child(2) { white-space: nowrap; }
.cr-inst-texto .fooba-doc__tabela code { padding: 1px 4px; border-radius: var(--raio-sm); background: var(--fundo-alt); color: var(--texto); font-size: 12px; word-break: break-all; }
.cr-inst-texto .fooba-doc__enc { margin: var(--espaco-4) 0 0; padding: var(--espaco-4) var(--espaco-5); border-radius: var(--raio-lg); background: var(--marca-suave); font: var(--tipo-corpo) !important; color: var(--texto) !important; }
.cr-inst-texto .fooba-doc a, .cr-inst-texto .fooba-doc__enc a { color: var(--marca-texto); }

/* "Mais sobre o Caririensi" no fim de cada página institucional */
.cr-inst-mais { margin-top: var(--espaco-12) !important; padding-top: var(--espaco-8); padding-bottom: var(--espaco-12); border-top: 1px solid var(--linha); }
.cr-inst-mais__titulo { margin: 0 0 var(--espaco-5); font: var(--tipo-kicker); letter-spacing: 0.08em; text-transform: uppercase; color: var(--texto-suave); }
.cr-inst-mais ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--espaco-3); margin: 0; padding: 0; list-style: none; }
.cr-inst-mais li { display: flex; margin: 0; }
.cr-inst-mais a { flex: 1; box-sizing: border-box; display: grid; align-content: start; gap: 2px; padding: var(--espaco-4) var(--espaco-5); border: 1px solid var(--linha); border-radius: var(--raio-lg); color: var(--texto); text-decoration: none; transition: border-color .15s ease, background-color .15s ease; }
.cr-inst-mais a:hover { border-color: var(--marca-texto); background: var(--marca-suave); }
.cr-inst-mais__nome { font: 800 17px/22px var(--font-sans); }
.cr-inst-mais__sobre { font: var(--tipo-corpo-sm); color: var(--texto-suave); }

@media (max-width: 900px) {
	.cr-inst-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cr-inst-formatos { grid-template-columns: 1fr 1fr; }
	.cr-inst-formatos > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 781px) {
	.cr-inst-indice { position: static; }
	.cr-inst-faixa { padding: var(--espaco-8) var(--espaco-6) !important; }
	.cr-inst-corpo h2 { font-size: 26px; line-height: 32px; }
	.cr-inst-numero strong { font-size: 30px; line-height: 34px; }
	.cr-inst-principios > li { grid-template-columns: 40px minmax(0, 1fr); font-size: 17px !important; line-height: 28px !important; }
	.cr-inst-principios > li::before { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) { .cr-inst-mais a { transition: none; } }

/* =================================================================================================
   EDITORIA, TAG E AUTOR
   ================================================================================================= */
.cr-arquivo__abertura { padding-top: var(--espaco-8); padding-bottom: var(--espaco-10); }
.cr-arquivo__titulo { position: relative; z-index: 1; margin-top: var(--espaco-4); }
.cr-arquivo__titulo h1 { display: flex; align-items: center; gap: var(--espaco-4); margin: 0; color: var(--on-marca); font-weight: 800; letter-spacing: -0.02em; }
.cr-arquivo__titulo h1::before {
	content: "";
	flex: none;
	width: 12px;
	height: 28px;
	border-radius: 0 999px 999px 0;
	background: var(--verde-mangaba);
	box-shadow: 15px 5px 0 -5px var(--verde-mangaba);
	margin-right: 10px;
}
.cr-arquivo__rotulo { margin: 0 0 var(--espaco-2); font: var(--tipo-kicker); letter-spacing: 0.08em; text-transform: uppercase; color: var(--mangaba-300); }
.cr-arquivo__descricao { margin: var(--espaco-3) 0 0; max-width: 62ch; color: var(--cambui-100); }

/* ---------- Busca e 404 ---------- */
.cr-busca-grande .wp-block-search__input {
	min-height: 48px;
	padding: 0 1rem;
	border: 1px solid var(--linha-forte);
	border-radius: var(--raio-pill);
	font-size: 1rem;
}
.cr-busca-grande .wp-block-search__button { border-radius: var(--raio-pill); }

/* ---------- TV: vídeos do canal, player só no clique ---------- */
.cr-programa { display: grid; gap: var(--espaco-6); grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
@media (max-width: 782px) { .cr-programa { grid-template-columns: 1fr; } }
.cr-yt {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	padding: 0;
	border: 0;
	border-radius: var(--raio-lg);
	overflow: hidden;
	background: var(--superficie-marca);
	cursor: pointer;
}
.cr-yt img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cr-yt iframe { width: 100%; height: 100%; border: 0; }
.cr-yt__play {
	position: absolute;
	inset: 50% auto auto 50%;
	width: 72px;
	height: 72px;
	transform: translate(-50%, -50%);
	border-radius: var(--raio-pill);
	background: var(--destaque);
}
.cr-yt__play::after {
	content: "";
	position: absolute;
	left: 29px;
	top: 22px;
	border-left: 22px solid var(--on-destaque);
	border-top: 14px solid transparent;
	border-bottom: 14px solid transparent;
}
.cr-yt__aviso { position: absolute; inset: 0; display: grid; place-content: center; gap: 1rem; padding: 1.5rem; text-align: center; background: rgba(0, 33, 28, 0.88); color: var(--on-marca); }
.cr-yt__aviso button { font: var(--tipo-botao); padding: 0.6rem 1.2rem; border: 0; border-radius: var(--raio-pill); background: var(--destaque); color: var(--on-destaque); cursor: pointer; }
.cr-yt__aviso a { color: var(--on-marca); }
.cr-programa__titulo { margin: var(--espaco-3) 0 0; font: var(--tipo-titulo-2); }
.cr-programa__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--espaco-4); }
.cr-programa__lista a { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: var(--espaco-3); color: var(--texto); text-decoration: none; font: var(--tipo-titulo-4); }
.cr-programa__lista img { width: 128px; height: auto; border-radius: var(--raio-md); }
.cr-programa__lista a:hover span { color: var(--marca-texto); text-decoration: underline; }

/* =================================================================================================
   RODAPÉ: chamada do WhatsApp da redação, marca central com o ladrilho, editorias e cidades em
   linha, base institucional.
   ================================================================================================= */
.cr-rodape-site { padding-top: 0; padding-bottom: 0; overflow: hidden; }

/* Assinatura da fooba.studio no pé do rodapé: preta e apagada, inteira no hover; o símbolo é cortado pela borda
   de baixo da página. Os desenhos entram por máscara (cor = color do link), para seguir os altos contrastes. */
.cr-rodape-site .cr-feito-por {
	display: flex; align-items: flex-start; justify-content: center; gap: var(--espaco-6);
	max-width: none !important; height: 176px; margin: var(--espaco-10) auto 0;
	color: #000; opacity: .3; text-decoration: none !important;
	transition: opacity .2s ease;
}
.cr-rodape-site .cr-feito-por:hover, .cr-rodape-site .cr-feito-por:focus-visible { opacity: 1; }
.cr-rodape-site .cr-feito-por:focus-visible { outline: 2px solid var(--mangaba-300); outline-offset: 4px; }
.cr-feito-por__texto { display: flex; flex-direction: column; gap: var(--espaco-1); margin-top: 72px; }
.cr-feito-por__rotulo { font: 700 11px/14px var(--font-sans); letter-spacing: .02em; }
.cr-feito-por__nome, .cr-feito-por__simbolo { display: block; flex: none; background: currentColor; }
.cr-feito-por__nome {
	width: 222px; aspect-ratio: 801.5 / 136;
	-webkit-mask: url("assets/img/fooba-studio-nome.svg") center / contain no-repeat; mask: url("assets/img/fooba-studio-nome.svg") center / contain no-repeat;
}
.cr-feito-por__simbolo {
	width: 272px; aspect-ratio: 1;
	-webkit-mask: url("assets/img/fooba-studio-simbolo.svg") center / contain no-repeat; mask: url("assets/img/fooba-studio-simbolo.svg") center / contain no-repeat;
}
@media (max-width: 600px) {
	.cr-rodape-site .cr-feito-por { height: 120px; gap: var(--espaco-4); margin-top: var(--espaco-8); }
	.cr-feito-por__texto { margin-top: 48px; }
	.cr-feito-por__rotulo { font-size: 10px; line-height: 12px; }
	.cr-feito-por__nome { width: 150px; }
	.cr-feito-por__simbolo { width: 184px; }
}
@media (prefers-reduced-motion: reduce) { .cr-rodape-site .cr-feito-por { transition: none; } }
/* links do rodapé na cor do texto da faixa: em páginas fora do editor de blocos (catálogo /tv) o WordPress
   não imprime o estilo "has-link-color" do grupo e eles ficavam cambuí sobre bacupari */
.cr-rodape-site a { color: inherit; text-decoration: none; }
.cr-rodape-site a:hover { text-decoration: underline; }
.cr-rodape-site__whats { background: var(--verde-cambui); padding-top: var(--espaco-5); padding-bottom: var(--espaco-5); }
.cr-rodape-site__chamada { margin: 0; font: var(--tipo-corpo); color: var(--on-marca); }
.cr-rodape-site__chamada strong { font-weight: 800; }
.cr-rodape-site__marca { padding: var(--espaco-12) 0 var(--espaco-8); gap: var(--espaco-3) !important; position: relative; }
.cr-rodape-site__marca .cr-logo-site img { width: 260px; }
.cr-rodape-site__tagline { margin: 0; font: italic 400 18px/26px var(--font-sans); color: var(--mangaba-300); }
.cr-rodape-site__linhas { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--espaco-4) var(--espaco-8); align-items: start; padding: var(--espaco-6) 0; border-top: 1px solid rgba(255, 255, 255, 0.14); }
.cr-rodape-site__rotulo { margin: 6px 0 0; font: var(--tipo-kicker); letter-spacing: 0.08em; text-transform: uppercase; color: var(--mangaba-300); }
.cr-rodape-site__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--espaco-2) var(--espaco-6); font: var(--tipo-rotulo); }
.cr-rodape-site .cr-cidades a { background: transparent; border-color: rgba(255, 255, 255, 0.25); color: var(--on-marca); }
.cr-rodape-site .cr-cidades a:hover { border-color: var(--mangaba-300); color: var(--mangaba-300); background: transparent; }
.cr-rodape-base { padding-top: var(--espaco-5); border-top: 1px solid rgba(255, 255, 255, 0.14); color: var(--cambui-100); gap: var(--espaco-3); }
.cr-rodape-base p { margin: 0; }
.cr-rodape-base__inst { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--espaco-2) var(--espaco-5); font: var(--tipo-meta); }
@media (max-width: 600px) { .cr-rodape-site__linhas { grid-template-columns: 1fr; } }

/* Catálogo do Streaming Foobá (/tv): o cabeçalho do site some e a barra do catálogo encosta no topo. */
body.sf-pagina .wp-site-blocks > main.sf { margin-block-start: 0; }

/* Ladrilho claro (abertura da matéria, Pelo Cariri) no escuro: o cimento #ccc a 50% gritava sobre o fundo Noite.
   Vira o cambuí, bem baixo; nos altos contrastes some (textura atrás de texto atrapalha a leitura). */
:is([data-theme="noite"], .tema-noite, html[data-fa-tema="escuro"]) .cr-ladrilho--claro::after {
	background-image: url("assets/img/ladrilho-cambui.svg");
	opacity: .3;
}

/* ==========================================================================
   Privacidade e Acessibilidade (plugins Foobá) com a cara do Caririensi.
   Formato próprio, diferente dos cartões flutuantes de Foobá, Replay e PortalM1: o aviso é uma faixa
   bacupari presa ao pé da tela (como as faixas do cabeçalho), com fio mangaba, símbolo e ladrilho; os
   botões flutuantes viram uma aba vertical presa à borda esquerda. O CSS dos plugins entra no rodapé
   (depois deste), daí o "html body" na frente. As cores passam por --crp-*: nos temas de alto contraste
   do plugin de Acessibilidade elas viram preto/branco/amarelo; no escuro, os tokens Noite já resolvem.
   ========================================================================== */
html {
	--crp-faixa: var(--superficie-marca);
	--crp-faixa-texto: #fff;
	--crp-faixa-suave: var(--cambui-100);
	--crp-acento: var(--destaque);
	--crp-acento-texto: var(--mangaba-300);
	--crp-on-acento: var(--on-destaque);
	--crp-fio: rgba(255, 255, 255, .85);
	--crp-ladrilho: .35;
}
html[data-fa-tema="contraste-claro"] {
	--crp-faixa: #fff; --crp-faixa-texto: #000; --crp-faixa-suave: #000; --crp-acento: #000; --crp-acento-texto: #000;
	--crp-on-acento: #fff; --crp-fio: #000; --crp-ladrilho: 0;
}
html[data-fa-tema="contraste-escuro"] {
	--crp-faixa: #000; --crp-faixa-texto: #ff0; --crp-faixa-suave: #ff0; --crp-acento: #ff0; --crp-acento-texto: #ff0;
	--crp-on-acento: #000; --crp-fio: #ff0; --crp-ladrilho: 0;
}
html:not([data-fa-tema^="contraste"]) body :is(.fp, .fp-modal, .fp-fab, .fp-aviso, .fooba-embed, .prv-menu) {
	--fp-cor: var(--marca-texto);
	--fp-fundo: var(--superficie);
	--fp-texto: var(--texto);
	--fp-suave: var(--texto-suave);
	--fp-borda: var(--linha);
}
html:not([data-fa-tema^="contraste"]) body :is(.fa-widget, .fa-inline) {
	--fa-bg: var(--superficie);
	--fa-fg: var(--texto);
	--fa-borda: var(--linha-forte);
	--fa-destaque: var(--marca);
	--fa-destaque-fg: var(--on-marca);
}
/* altos contrastes da gaveta e dos plugins: assets/css/contraste.css */
html body :is(.fp, .fp-modal, .fp-aviso, .fooba-embed, .fa-widget, .fa-inline, .prv-menu) { font-family: var(--font-sans); }

/* ---------- Aviso (1ª camada): faixa presa ao pé da tela ---------- */
html body .fp.fp--baixo {
	left: 0; right: 0; bottom: 0; max-width: none; margin: 0;
	grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--espaco-4) var(--espaco-8);
	padding: var(--espaco-5) max(var(--espaco-4), calc((100vw - var(--largura-site)) / 2 + var(--espaco-6)));
	padding-bottom: max(var(--espaco-5), env(safe-area-inset-bottom));
	background: var(--crp-faixa); color: var(--crp-faixa-texto);
	border: 0; border-top: 4px solid var(--crp-acento); border-radius: 0;
	box-shadow: 0 -12px 40px rgba(0, 33, 28, .28);
	isolation: isolate;
}
html body .fp.fp--baixo::before {
	content: ""; align-self: start; width: 40px; height: 41px;
	background: url("assets/img/simbolo-mangaba.svg") center / contain no-repeat;
}
html[data-fa-tema^="contraste"] body .fp.fp--baixo::before { display: none; }
html body .fp.fp--baixo::after {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: var(--crp-ladrilho);
	background: url("assets/img/ladrilho-cambui.svg") 0 0 / 160px 160px repeat;
	-webkit-mask-image: linear-gradient(100deg, transparent 45%, #000 100%); mask-image: linear-gradient(100deg, transparent 45%, #000 100%);
}
html body .fp .fp__titulo { margin: 0 0 var(--espaco-1); font: 800 19px/25px var(--font-sans); color: var(--crp-faixa-texto); }
html body .fp .fp__titulo::before {
	content: "Caririensi · privacidade"; display: block; margin-bottom: var(--espaco-1);
	font: var(--tipo-kicker); letter-spacing: .08em; text-transform: uppercase; color: var(--crp-acento-texto);
}
html body .fp .fp__texto { max-width: 62ch; font: 400 15px/24px var(--font-serif); color: var(--crp-faixa-suave); }
html body .fp .fp__links { margin-top: var(--espaco-2); font: var(--tipo-meta); }
html body .fp .fp__links a { color: var(--crp-acento-texto); text-underline-offset: 3px; }
html body .fp .fp__acoes { gap: var(--espaco-2); }
/* os três com o mesmo peso (guia da ANPD): contorno claro; o realce só no foco/passar o mouse */
html body .fp .fp__btn {
	min-height: var(--alvo-toque); padding: 0 var(--espaco-5); border: 2px solid var(--crp-fio); border-radius: var(--raio-pill);
	background: transparent; color: var(--crp-faixa-texto); font: var(--tipo-botao); white-space: nowrap;
}
html body .fp .fp__btn:hover { background: var(--crp-acento); border-color: var(--crp-acento); color: var(--crp-on-acento); }
html body .fp .fp__btn:focus-visible { outline: 3px solid var(--crp-acento-texto); outline-offset: 3px; }

/* ---------- Preferências (2ª camada) ---------- */
html body .fp-modal { background: rgba(0, 33, 28, .62); }
html body .fp-modal__caixa { overflow: hidden; border-radius: var(--raio-lg); border-top: 4px solid var(--crp-acento); box-shadow: var(--sombra-flutuante); }
html body .fp-modal__topo { position: relative; isolation: isolate; padding: var(--espaco-4) var(--espaco-6); background: var(--crp-faixa); border-bottom: 0; }
html body .fp-modal__topo::after {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: var(--crp-ladrilho);
	background: url("assets/img/ladrilho-cambui.svg") 0 0 / 160px 160px repeat;
	-webkit-mask-image: linear-gradient(100deg, transparent 40%, #000 100%); mask-image: linear-gradient(100deg, transparent 40%, #000 100%);
}
html body .fp-modal__topo h2 { font: 800 19px/25px var(--font-sans); color: var(--crp-faixa-texto); }
html body .fp-modal__x { color: var(--crp-faixa-texto); }
html body .fp-modal__x:hover { background: rgba(255, 255, 255, .14); }
html body .fp-modal__x:focus-visible { outline-color: var(--crp-acento-texto); }
html body .fp-modal__corpo { padding: var(--espaco-4) var(--espaco-6); }
html body :is(.fp-modal__intro, .fp-modal__enc, .fp-cat__desc) { font: 400 15px/24px var(--font-serif); }
html body .fp-modal__gpc { background: var(--marca-suave); color: var(--texto); }
html body .fp-cat { border-bottom-color: var(--linha); }
html body .fp-cat__topo h3 { font: var(--tipo-titulo-4); color: var(--texto); }
html body .fp-cat__topo h3::before {
	content: ""; display: inline-block; width: 4px; height: .9em; margin-right: var(--espaco-2); border-radius: 2px;
	background: var(--marca); vertical-align: -1px;
}
html body .fp-cat__det summary { color: var(--marca-texto); }
html body .fp-cat__det li { background: var(--fundo-alt); border-radius: var(--raio-md); }
html body .fp-sw input:checked + .fp-sw__t { background: var(--marca); }
html body .fp-modal__acoes { padding: var(--espaco-4) var(--espaco-6); background: var(--fundo-alt); border-top: 1px solid var(--linha); }
html body .fp-modal .fp__btn {
	min-height: var(--alvo-toque); border: 2px solid var(--marca); border-radius: var(--raio-pill);
	background: transparent; color: var(--marca-texto); font: var(--tipo-botao);
}
html body .fp-modal .fp__btn:hover { background: var(--marca); color: var(--on-marca); }

/* ---------- Avisos, botão avulso e conteúdo bloqueado ---------- */
html body .fp-aviso { background: var(--crp-faixa); color: var(--crp-faixa-texto); border-left: 4px solid var(--crp-acento); border-radius: var(--raio-md); font: var(--tipo-rotulo); }
html body .fooba-embed { border: 1px solid var(--linha); border-radius: var(--raio-lg); background: var(--fundo-alt); }
html body .fooba-embed__in p { font: 400 15px/24px var(--font-serif); }
html body .fooba-embed__btn { border-radius: var(--raio-pill); border-color: var(--marca); background: var(--marca); font: var(--tipo-botao); }
html body .fooba-embed__btn:hover { background: var(--cambui-700); border-color: var(--cambui-700); }

/* ---------- Aba vertical na borda esquerda (acessibilidade + privacidade) ---------- */
html body .fa-widget.fp-pilula.fa-pos-esquerda { left: 0; bottom: 120px; }
html.fp-banner-aberto body .fa-widget.fp-pilula.fa-pos-esquerda { bottom: calc(var(--fp-altura, 0px) + 24px); }
html body .fa-widget.fp-pilula {
	flex-direction: column; align-items: center; width: 52px; height: auto; padding: var(--espaco-1) 0;
	border: 0; border-left: 4px solid var(--crp-acento); border-radius: 0 var(--raio-lg) var(--raio-lg) 0;
	background: var(--crp-faixa); color: var(--crp-faixa-texto);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .16), var(--sombra-flutuante);
}
html body .fa-widget.fp-pilula :is(.fa-toggle, .fp-pilula__priv) {
	width: 48px; height: 48px; border-radius: var(--raio-md); background: transparent; color: inherit;
}
html body .fa-widget.fp-pilula :is(.fa-toggle, .fp-pilula__priv):hover { background: rgba(255, 255, 255, .12); color: var(--crp-acento-texto); }
html body .fa-widget.fp-pilula :is(.fa-toggle, .fp-pilula__priv):focus-visible { outline: 3px solid var(--crp-acento-texto); outline-offset: -3px; box-shadow: none; }
html body .fp-pilula__sep { width: 24px; height: 1px; background: currentColor; opacity: .35; }
html body .fp-pilula__x { top: -10px; right: -10px; background: var(--superficie); color: var(--texto); border-color: var(--linha-forte); }
/* o painel fica preso à janela (não à aba): com o aviso aberto a aba sobe e o painel sairia pelo topo */
html body .fa-widget.fp-pilula .fa-painel { position: fixed; left: 60px; bottom: 16px; max-height: calc(100dvh - 32px); overflow-y: auto; }
html.fp-banner-aberto body .fa-widget.fp-pilula .fa-painel { bottom: calc(var(--fp-altura, 0px) + 16px); max-height: calc(100dvh - var(--fp-altura, 0px) - 32px); }
/* o sininho do OneSignal sobe junto, para não cobrir os botões do aviso */
html.fp-banner-aberto body #onesignal-bell-container { bottom: var(--fp-altura, 0px) !important; transition: bottom .2s ease; }
.fp-travado #onesignal-bell-container { display: none !important; }
/* painel que abre ao lado da aba */
html body .fa-widget .fa-painel { padding: var(--espaco-5); border: 1px solid var(--linha); border-top: 4px solid var(--crp-acento); border-radius: var(--raio-lg); box-shadow: var(--sombra-flutuante); }
html body .fa-widget .fa-titulo { font: var(--tipo-titulo-4); }
html body .fa-widget .fa-titulo::before {
	content: "Caririensi"; display: block; margin-bottom: 2px;
	font: var(--tipo-kicker); letter-spacing: .08em; text-transform: uppercase; color: var(--destaque-texto);
}
/* a gaveta já tem os dois controles: com ela aberta, a aba sai da frente */
body:has(.cr-gaveta .is-menu-open) :is(.fa-widget, .fp-fab-grupo, #onesignal-bell-container) { display: none !important; }

/* ---------- Controles (na gaveta e no painel da aba) ---------- */
html body :is(.fa-widget, .fa-inline) .fa-rotulo { margin: var(--espaco-4) 0 var(--espaco-2); font: var(--tipo-rotulo); letter-spacing: 0; text-transform: none; color: var(--fa-fg); }
html body .fa-inline .fa-rotulo:first-child { margin-top: 0; }
html body :is(.fa-widget, .fa-inline) .fa-btn { min-height: var(--alvo-toque); border-radius: var(--raio-md); font: var(--tipo-botao); color: var(--fa-fg); }
html body :is(.fa-widget, .fa-inline) .fa-btn:hover { border-color: var(--fa-destaque); }
html body :is(.fa-widget, .fa-inline) .fa-btn[aria-pressed="true"] { background: var(--fa-destaque); border-color: var(--fa-destaque); color: var(--fa-destaque-fg); }
html body :is(.fa-widget, .fa-inline) .fa-btn:focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; box-shadow: none; }
/* letra: controle segmentado A− | 100% | A+ */
html body :is(.fa-widget, .fa-inline) .fa-fonte { gap: 0; border: 1.5px solid var(--fa-borda); border-radius: var(--raio-md); overflow: hidden; }
html body :is(.fa-widget, .fa-inline) .fa-fonte .fa-btn { min-width: 56px; border: 0; border-radius: 0; font-size: 17px; }
html body :is(.fa-widget, .fa-inline) .fa-fonte .fa-btn:hover { background: var(--marca-suave); }
html body :is(.fa-widget, .fa-inline) .fa-nivel { font: 800 15px/20px var(--font-sans); color: var(--fa-fg); border-inline: 1.5px solid var(--fa-borda); align-self: stretch; display: flex; align-items: center; justify-content: center; }
html body :is(.fa-widget, .fa-inline) .fa-restaurar { border-color: transparent; color: var(--marca-texto); text-decoration: underline; text-underline-offset: 3px; }
html body :is(.fa-widget, .fa-inline) .fa-atalhos { border-top-color: var(--linha); }
html body :is(.fa-widget, .fa-inline) .fa-atalhos > summary { font: var(--tipo-rotulo); color: var(--fa-fg); }
html body .fa-inline { max-width: none; }
html body .fa-inline .fa-btn:focus-visible { outline: 2px solid var(--foco); box-shadow: none; }

/* botão de privacidade da gaveta, no mesmo desenho dos botões de contorno do DS */
html body .prv-menu__btn {
	min-height: var(--alvo-toque); padding: var(--espaco-2) var(--espaco-4); border: 1.5px solid var(--linha-forte); border-radius: var(--raio-md);
	color: var(--marca-texto); font: var(--tipo-botao);
}
html body .prv-menu__btn:hover { border-color: var(--marca-texto); background: var(--marca-suave); }
html body .prv-menu__btn:focus-visible { outline: 2px solid var(--foco); }
html body .prv-menu__btn svg { color: var(--marca); }

@media (max-width: 700px) {
	html body .fp.fp--baixo {
		grid-template-columns: minmax(0, 1fr); gap: var(--espaco-3); padding: var(--espaco-4) var(--espaco-4) max(var(--espaco-4), env(safe-area-inset-bottom));
		border-radius: var(--raio-lg) var(--raio-lg) 0 0;
	}
	html body .fp.fp--baixo::before { display: none; }
	html body .fp .fp__titulo { font-size: 17px; line-height: 23px; }
	html body .fp .fp__texto { font-size: 14px; line-height: 22px; }
	html body .fp .fp__acoes { display: grid; grid-template-columns: 1fr 1fr; }
	html body .fp .fp__btn { min-height: 42px; padding: 0 var(--espaco-3); font-size: 14px; white-space: normal; }
	html body .fp .fp__btn[data-a="aceitar"] { grid-column: 1 / -1; }
	html body .fa-widget.fp-pilula.fa-pos-esquerda { bottom: 96px; }
	html body .fa-widget.fp-pilula { width: 46px; }
	html body .fa-widget.fp-pilula :is(.fa-toggle, .fp-pilula__priv) { width: 42px; height: 44px; }
	html body .fa-widget.fp-pilula .fa-painel { left: 54px; width: min(300px, calc(100vw - 70px)); }
	html body .fp .fp__links { margin-top: var(--espaco-1); }
}

@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; }
	.cr-gaveta .wp-block-navigation__responsive-container.is-menu-open { animation: none; }
	.cr-cartaz .wp-block-cover__image-background, .cr-topo__grade, .cr-topo__logo img { transition: none; }
}
