/*
 * Blog (Insights): listagem, categorias, busca e post.
 * Referência: layout "Blog Zafarie (Insights)" aprovado em 23/09/2026.
 * Carregado só nas telas do blog.
 */

.zf-blog {
	--b-roxo: var(--wp--custom--roxo--400, #9a54f8);
	--b-roxo-acao: var(--wp--preset--color--roxo-acao, #7a1ef6);
	--b-roxo-link: #bd8efa;
	--b-roxo-claro: #d9bffc;
	--b-borda: #25232f;
	--b-borda-forte: #3a3848;
	--b-borda-roxa: #3b1d6e;
	--b-cartao: rgba(16, 15, 22, 0.92);
	--b-texto: #a1a1aa;
	--b-texto-claro: #c4c4cc;
	--b-texto-corpo: #d4d4d8;
	--b-apagado: #71717a;
	--b-branco: #fff;
	--b-brilho: 0 0 34px rgba(122, 30, 246, 0.45);
	--b-largura: 75rem;
	--b-gutter: clamp(1.25rem, 4vw, 2.5rem);
	overflow-x: clip;
	color: #e4e4e7;
}

.zf-blog > * { margin-block: 0; }
.zf-blog *, .zf-blog *::before, .zf-blog *::after { box-sizing: border-box; }

.zf-blog-conteiner { width: 100%; max-width: var(--b-largura); margin: 0 auto; }

.zf-blog-destaque { color: var(--b-roxo); }

.zf-blog-rotulo {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: var(--b-roxo);
}

.zf-blog-lead { margin: 0; font-size: clamp(1rem, 0.94rem + 0.3vw, 1.125rem); line-height: 1.6; color: var(--b-texto-claro); }

.zf-blog-link { font-size: 0.9375rem; font-weight: 600; white-space: nowrap; color: var(--b-roxo-link); text-decoration: none; }
.zf-blog-link:hover { color: var(--b-roxo-claro); text-decoration: underline; }

.zf-blog a:focus-visible,
.zf-blog button:focus-visible,
.zf-blog summary:focus-visible,
.zf-blog input:focus-visible {
	outline: 2px solid var(--b-roxo-claro);
	outline-offset: 3px;
}

/* ---------- Botões ---------- */

.zf-blog-botao {
	min-height: 48px;
	padding: 0 1.375rem;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background: var(--b-roxo-acao);
	color: var(--b-branco);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.zf-blog-botao:hover { background: #6109d7; color: var(--b-branco); box-shadow: var(--b-brilho); }
.zf-blog-botao svg { transition: transform 0.2s ease; }
.zf-blog-botao:hover svg { transform: translateX(3px); }
.zf-blog-botao--grande { min-height: 52px; padding: 0 1.625rem; font-size: 1rem; border-radius: 12px; box-shadow: var(--b-brilho); }
.zf-blog-botao--bloco { width: 100%; min-height: 44px; border-radius: 10px; font-size: 0.875rem; }

/* ---------- Selos, meta, trilha ---------- */

.zf-blog-selos { display: flex; flex-wrap: wrap; gap: 0.5rem; }

.zf-blog-selo {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0.3125rem 0.75rem;
	border-radius: 999px;
	border: 1px solid var(--b-borda);
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.2;
	color: #c4c4cc;
	text-decoration: none;
}
a.zf-blog-selo:hover { border-color: var(--b-roxo); color: var(--b-branco); }
.zf-blog-selo--ativo { background: #2b045f; border-color: var(--b-roxo); color: var(--b-branco); }

.zf-blog-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.875rem; font-size: 0.8125rem; color: var(--b-texto); }
.zf-blog-meta > span { display: inline-flex; align-items: center; gap: 0.375rem; }

.zf-blog-trilha ol { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.25rem 0.5rem; font-size: 0.8125rem; color: var(--b-texto); }
.zf-blog-trilha li { display: inline-flex; align-items: center; gap: 0.5rem; }
.zf-blog-trilha li + li::before { content: "›"; color: var(--b-apagado); }
.zf-blog-trilha a { color: var(--b-texto); text-decoration: none; }
.zf-blog-trilha a:hover { color: var(--b-branco); text-decoration: underline; }
.zf-blog-trilha [aria-current] { color: #e4e4e7; }

/* ---------- Capa ---------- */

.zf-blog-capa {
	position: relative;
	height: 190px;
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--b-borda);
	background:
		radial-gradient(420px 260px at var(--zf-capa-brilho, 50% 40%), rgba(122, 30, 246, 0.55), rgba(18, 2, 39, 0) 70%),
		repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 32px),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 32px),
		#0e0b18;
}
.zf-blog-capa__icone {
	width: 96px;
	height: 96px;
	border-radius: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #6109d7;
	background: rgba(18, 2, 39, 0.8);
	color: var(--b-roxo-link);
	box-shadow: 0 0 60px rgba(122, 30, 246, 0.45);
	transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease;
}
.zf-blog-capa__selo {
	position: absolute;
	left: 18px;
	bottom: 16px;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--b-roxo-claro);
}
.zf-blog-capa--destaque,
.zf-blog-capa--post { border-radius: 18px; }
.zf-blog-capa--destaque { height: 100%; min-height: 380px; }
.zf-blog-capa--destaque .zf-blog-capa__icone,
.zf-blog-capa--post .zf-blog-capa__icone { width: 136px; height: 136px; }
.zf-blog-capa--post { height: clamp(200px, 12rem + 16vw, 440px); border-radius: clamp(16px, 2vw, 22px); background-size: auto; }
.zf-blog-capa--post { background:
	radial-gradient(900px 420px at var(--zf-capa-brilho, 50% 40%), rgba(122, 30, 246, 0.55), rgba(18, 2, 39, 0) 70%),
	repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 32px),
	repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 32px),
	#0e0b18; }
.zf-blog-capa--foto { background: #0e0b18; }
.zf-blog-capa__img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- Listagem: topo ---------- */

.zf-blog-topo {
	padding: clamp(1.75rem, 1rem + 2.5vw, 3rem) var(--b-gutter) clamp(2.5rem, 1.8rem + 2vw, 3.5rem);
	background: radial-gradient(900px 420px at 50% -60px, rgba(97, 9, 215, 0.36), rgba(10, 10, 11, 0) 70%);
}
.zf-blog-topo__interno { display: flex; flex-direction: column; align-items: center; gap: clamp(1rem, 0.8rem + 0.6vw, 1.25rem); text-align: center; }
.zf-blog-topo h1 {
	margin: 0;
	max-width: 61.25rem;
	font-size: clamp(2.125rem, 1.45rem + 2.9vw, 3.375rem);
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: -0.035em;
	color: var(--b-branco);
	text-wrap: balance;
}
.zf-blog-topo .zf-blog-lead { max-width: 42.5rem; }

.zf-blog-busca { width: 100%; max-width: 35rem; display: flex; gap: 0.5rem; }
.zf-blog-busca__campo {
	flex-grow: 1;
	min-width: 0;
	height: 52px;
	padding: 0 1rem;
	display: flex;
	align-items: center;
	gap: 0.625rem;
	background: var(--b-cartao);
	border: 1px solid var(--b-borda-forte);
	border-radius: 12px;
	color: var(--b-texto);
	transition: border-color 0.2s ease;
}
.zf-blog-busca__campo:focus-within { border-color: var(--b-roxo); }
.zf-blog-busca input[type="search"] {
	flex-grow: 1;
	min-width: 0;
	height: 48px;
	padding: 0;
	background: none;
	border: 0;
	outline: none;
	font: inherit;
	font-size: 0.9375rem;
	color: var(--b-branco);
}
.zf-blog-busca input::placeholder { color: var(--b-apagado); }
.zf-blog-busca input:focus-visible { outline: none; }
.zf-blog-busca__botao {
	height: 52px;
	padding: 0 1.25rem;
	border-radius: 12px;
	border: 0;
	background: var(--b-roxo-acao);
	color: var(--b-branco);
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 600;
	cursor: pointer;
}
.zf-blog-busca__botao:hover { background: #6109d7; }

.zf-blog-filtro ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; }
.zf-blog-filtro a {
	min-height: 40px;
	padding: 0 1rem;
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	border: 1px solid var(--b-borda-forte);
	background: rgba(18, 17, 26, 0.9);
	color: var(--b-branco);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}
.zf-blog-filtro a:hover { border-color: var(--b-roxo); }
.zf-blog-filtro a[aria-current] { border-color: var(--b-roxo); background: #2b045f; }

/* ---------- Listagem: destaque, grade ---------- */

.zf-blog-lista { padding: clamp(0.5rem, 0rem + 1.5vw, 1.5rem) var(--b-gutter) clamp(3.5rem, 2rem + 4vw, 6rem); }
.zf-blog-lista .zf-blog-conteiner { display: flex; flex-direction: column; gap: clamp(1.5rem, 1rem + 1.5vw, 2.5rem); }

.zf-blog-destaque-card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 2.5rem;
	align-items: center;
	padding: 1rem 2.5rem 1rem 1rem;
	background: var(--b-cartao);
	border: 1px solid var(--b-borda-roxa);
	border-radius: 24px;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.zf-blog-destaque-card:hover { border-color: #6109d7; box-shadow: 0 0 48px rgba(122, 30, 246, 0.18); }
.zf-blog-destaque-card:hover .zf-blog-capa__icone { transform: scale(1.06); }
.zf-blog-destaque-card__corpo { display: flex; flex-direction: column; gap: 1rem; }
.zf-blog-destaque-card__titulo {
	margin: 0;
	font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.125rem);
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: -0.025em;
	text-wrap: balance;
}
.zf-blog-destaque-card__titulo a { color: var(--b-branco); text-decoration: none; }
.zf-blog-destaque-card__titulo a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.zf-blog-destaque-card__resumo { margin: 0; font-size: 1rem; line-height: 1.65; color: var(--b-texto); }
.zf-blog-destaque-card__ler { margin-top: 0.25rem; display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.9375rem; font-weight: 600; color: var(--b-roxo-link); }
.zf-blog-destaque-card__ler svg { transition: transform 0.2s ease; }
.zf-blog-destaque-card:hover .zf-blog-destaque-card__ler svg { transform: translateX(4px); }

.zf-blog-lista__topo { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.zf-blog-lista__topo h2 { margin: 0; font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.625rem); font-weight: 800; letter-spacing: -0.02em; color: var(--b-branco); }
.zf-blog-lista__topo span { font-size: 0.875rem; color: var(--b-texto); }

.zf-blog-grade { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.zf-blog-grade > li { display: flex; }

.zf-blog-card {
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 0.75rem 0.75rem 1.375rem;
	background: var(--b-cartao);
	border: 1px solid var(--b-borda);
	border-radius: 20px;
	transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
.zf-blog-card:hover { border-color: var(--b-borda-roxa); box-shadow: 0 0 40px rgba(122, 30, 246, 0.14); }
.zf-blog-card:hover .zf-blog-capa__icone { transform: scale(1.08); box-shadow: 0 0 70px rgba(122, 30, 246, 0.6); }
.zf-blog-card .zf-blog-capa__icone { width: 96px; height: 96px; }
.zf-blog-card__corpo { padding: 0 0.625rem; display: flex; flex-direction: column; gap: 0.625rem; flex-grow: 1; }
.zf-blog-card__cat { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--b-roxo-link); }
.zf-blog-card__titulo { margin: 0; font-size: 1.1875rem; line-height: 1.3; font-weight: 800; letter-spacing: -0.01em; }
.zf-blog-card__titulo a { color: var(--b-branco); text-decoration: none; }
.zf-blog-card__titulo a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.zf-blog-card:hover .zf-blog-card__titulo a { color: var(--b-roxo-claro); }
.zf-blog-card__resumo { margin: 0; font-size: 0.875rem; line-height: 1.6; color: var(--b-texto); flex-grow: 1; }
.zf-blog-card .zf-blog-meta { font-size: 0.75rem; color: var(--b-apagado); }

.zf-blog-vazio { padding: 3rem 1.5rem; display: flex; flex-direction: column; align-items: center; gap: 1rem; text-align: center; border: 1px dashed var(--b-borda-forte); border-radius: 20px; }
.zf-blog-vazio p { margin: 0; color: var(--b-texto-claro); }

/* ---------- Paginação ---------- */

.zf-blog-pag { display: flex; flex-direction: column; align-items: center; gap: 0.875rem; padding-top: 0.5rem; }
.zf-blog-pag__linha { display: flex; align-items: center; gap: 0.75rem; }
.zf-blog-pag ol { margin: 0; padding: 0; list-style: none; display: flex; align-items: center; gap: 0.375rem; }
.zf-blog-pag__passo,
.zf-blog-pag__num {
	min-height: 44px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid var(--b-borda);
	transition: border-color 0.2s ease, background-color 0.2s ease;
}
.zf-blog-pag__passo { padding: 0 1rem; color: #e4e4e7; }
.zf-blog-pag__num { width: 44px; color: var(--b-branco); background: rgba(18, 17, 26, 0.9); }
a.zf-blog-pag__passo:hover,
a.zf-blog-pag__num:hover { border-color: var(--b-roxo); color: var(--b-branco); }
.zf-blog-pag__num[aria-current] { background: var(--b-roxo-acao); border-color: var(--b-roxo); box-shadow: 0 0 20px rgba(122, 30, 246, 0.35); }
.zf-blog-pag__passo.is-inativo { opacity: 0.4; }
.zf-blog-pag__reticencias { width: 28px; display: inline-flex; justify-content: center; color: var(--b-apagado); }
.zf-blog-pag__so-celular { display: none; }
.zf-blog-pag__legenda { margin: 0; font-size: 0.8125rem; color: var(--b-texto); }

/* ---------- Chamada final ---------- */

.zf-blog-cta {
	padding: clamp(3.5rem, 2rem + 4vw, 6rem) var(--b-gutter);
	text-align: center;
	background: radial-gradient(760px 320px at 50% 50%, rgba(97, 9, 215, 0.3), rgba(10, 10, 11, 0) 70%);
}
.zf-blog-cta .zf-blog-conteiner { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.zf-blog-cta h2 {
	margin: 0;
	max-width: 47.5rem;
	font-size: clamp(1.75rem, 1.3rem + 1.9vw, 2.5rem);
	line-height: 1.12;
	font-weight: 800;
	letter-spacing: -0.03em;
	color: var(--b-branco);
	text-wrap: balance;
}
.zf-blog-cta .zf-blog-lead { max-width: 35rem; }
.zf-blog-cta .zf-blog-botao { margin-top: 0.375rem; }

/* ---------- Post: topo ---------- */

.zf-post-topo { padding-top: clamp(1.5rem, 1rem + 1.6vw, 2.5rem); padding-bottom: clamp(1.75rem, 1.2rem + 1.4vw, 2.5rem); background: radial-gradient(900px 420px at 50% -60px, rgba(97, 9, 215, 0.3), rgba(10, 10, 11, 0) 70%); }
.zf-post-topo__interno,
.zf-post-topo .zf-blog-topo__interno { gap: clamp(0.875rem, 0.7rem + 0.5vw, 1.125rem); }
.zf-post-topo h1 { max-width: 56.25rem; font-size: clamp(2rem, 1.35rem + 2.7vw, 3.125rem); line-height: 1.1; }
.zf-post-topo .zf-blog-lead { max-width: 45rem; font-size: clamp(1rem, 0.9rem + 0.45vw, 1.1875rem); }
.zf-post-autoria { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0.625rem 0.875rem; }
.zf-post-autoria__nome { display: inline-flex; align-items: center; gap: 0.625rem; font-size: 0.875rem; font-weight: 600; color: var(--b-branco); }
.zf-blog-avatar {
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	border-radius: 99px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #2b045f;
	border: 1px solid #6109d7;
	font-size: 0.875rem;
	font-weight: 800;
	color: var(--b-branco);
}
.zf-blog-avatar--grande { width: 52px; height: 52px; font-size: 1.25rem; }

.zf-post-capa { padding: 0 var(--b-gutter); }

/* ---------- Post: artigo e lateral ---------- */

.zf-post-meio { padding: clamp(1.75rem, 1rem + 2.5vw, 3.5rem) var(--b-gutter) clamp(3.5rem, 2rem + 3.5vw, 5.5rem); }
.zf-post-meio__grade { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: clamp(2.5rem, 1rem + 4vw, 4.5rem); align-items: start; }

.zf-post-artigo { min-width: 0; display: flex; flex-direction: column; gap: 1.375rem; }

.zf-post-conteudo { font-size: clamp(1rem, 0.94rem + 0.3vw, 1.125rem); line-height: 1.75; color: var(--b-texto-corpo); }
.zf-post-conteudo > * { margin: 0; }
.zf-post-conteudo > * + * { margin-top: 1.375rem; }
.zf-post-conteudo > h2 {
	margin-top: 2.5rem;
	font-size: clamp(1.4375rem, 1.2rem + 0.9vw, 1.75rem);
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--b-branco);
	scroll-margin-top: calc(var(--zf-altura-cabecalho, 80px) + 1.5rem);
}
.zf-post-conteudo > h3 { margin-top: 2rem; font-size: 1.25rem; line-height: 1.3; font-weight: 700; color: var(--b-branco); scroll-margin-top: calc(var(--zf-altura-cabecalho, 80px) + 1.5rem); }
.zf-post-conteudo > h2:first-child,
.zf-post-conteudo > h3:first-child { margin-top: 0; }
.zf-post-conteudo ul,
.zf-post-conteudo ol { padding-left: 1.375rem; }
.zf-post-conteudo li + li { margin-top: 0.625rem; }
.zf-post-conteudo li::marker { color: var(--b-roxo); font-weight: 700; }
.zf-post-conteudo strong { color: var(--b-branco); }
.zf-post-conteudo a { color: var(--b-roxo-link); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.zf-post-conteudo a:hover { color: var(--b-roxo-claro); }
.zf-post-conteudo blockquote { padding: 0.25rem 0 0.25rem 1.25rem; border-left: 3px solid var(--b-roxo); font-size: 1.125em; color: var(--b-branco); }
.zf-post-conteudo blockquote p { margin: 0; }
.zf-post-conteudo img { max-width: 100%; height: auto; border-radius: 14px; }
.zf-post-conteudo figcaption { margin-top: 0.5rem; font-size: 0.8125rem; color: var(--b-apagado); text-align: center; }
.zf-post-conteudo table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.zf-post-conteudo th,
.zf-post-conteudo td { padding: 0.625rem 0.75rem; border-bottom: 1px solid var(--b-borda); text-align: left; }
.zf-post-conteudo th { color: var(--b-branco); }
.zf-post-conteudo code { padding: 0.125rem 0.375rem; border-radius: 6px; background: #17151f; font-size: 0.9em; }

.zf-post-cta {
	margin-top: 1rem;
	padding: clamp(1.25rem, 1rem + 0.8vw, 1.75rem);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	background: #120227;
	border: 1px solid var(--b-borda-roxa);
	border-radius: 18px;
}
.zf-post-cta > div { display: flex; flex-direction: column; gap: 0.375rem; }
.zf-post-cta p { margin: 0; font-size: 0.9375rem; line-height: 1.55; color: var(--b-texto-claro); }
.zf-post-cta .zf-post-cta__titulo { font-size: 1.1875rem; font-weight: 700; line-height: 1.3; color: var(--b-branco); }
.zf-post-cta .zf-blog-botao { flex-shrink: 0; }

.zf-post-termos { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; padding-top: 0.5rem; border-top: 1px solid var(--b-borda); }
.zf-post-termos > span { font-size: 0.8125rem; color: var(--b-apagado); }

.zf-post-autor { margin-top: 0.5rem; padding: 1.375rem; display: flex; gap: 1rem; align-items: flex-start; background: var(--b-cartao); border: 1px solid var(--b-borda); border-radius: 18px; }
.zf-post-autor p { margin: 0; font-size: 0.875rem; line-height: 1.6; color: var(--b-texto); }
.zf-post-autor .zf-post-autor__nome { margin-bottom: 0.375rem; font-size: 1rem; font-weight: 700; color: var(--b-branco); }

.zf-post-lateral { position: sticky; top: calc(var(--zf-altura-cabecalho, 80px) + 1.5rem); }
.zf-post-lateral__fixo { display: flex; flex-direction: column; gap: 1.25rem; }
.zf-post-lateral__rotulo { margin: 0; display: flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--b-apagado); }

.zf-post-indice { display: flex; flex-direction: column; gap: 0.625rem; }
.zf-post-indice__lista { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.zf-post-indice__lista a {
	display: block;
	padding: 0.5rem 0.75rem;
	border-left: 2px solid var(--b-borda);
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--b-texto);
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease;
}
.zf-post-indice__lista a:hover { color: var(--b-branco); }
.zf-post-indice__lista a[aria-current] { border-left-color: var(--b-roxo); color: var(--b-branco); }

.zf-post-solucao {
	padding: 1.375rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	background: radial-gradient(260px 200px at 100% 0%, rgba(122, 30, 246, 0.35), rgba(16, 15, 22, 0) 70%), var(--b-cartao);
	border: 1px solid var(--b-borda-roxa);
	border-radius: 18px;
}
.zf-post-solucao p { margin: 0; }
.zf-post-solucao__rotulo { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--b-roxo-link); }
.zf-post-solucao__titulo { font-size: 1.1875rem; line-height: 1.3; font-weight: 700; color: var(--b-branco); }
.zf-post-solucao__texto { font-size: 0.875rem; line-height: 1.55; color: var(--b-texto); }

.zf-post-compartilhar { display: flex; flex-direction: column; gap: 0.625rem; }
.zf-post-compartilhar__botoes { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.zf-post-compartilhar a,
.zf-post-compartilhar button {
	min-height: 40px;
	padding: 0 0.875rem;
	border-radius: 999px;
	border: 1px solid var(--b-borda);
	background: none;
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font: inherit;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #e4e4e7;
	text-decoration: none;
	cursor: pointer;
	transition: border-color 0.2s ease;
}
.zf-post-compartilhar a:hover,
.zf-post-compartilhar button:hover,
.zf-post-compartilhar button.esta-copiado { border-color: var(--b-roxo); color: var(--b-branco); }
.zf-post-compartilhar button[hidden] { display: none; }

.zf-post-indice-celular { display: none; }

/* ---------- Post: relacionados ---------- */

.zf-post-relacionados { padding: clamp(3.5rem, 2rem + 3.5vw, 5.5rem) var(--b-gutter); background: #0b0a10; border-block: 1px solid rgba(255, 255, 255, 0.05); }
.zf-post-relacionados__topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: clamp(1.375rem, 1rem + 1vw, 2rem); }
.zf-post-relacionados__topo > div { display: flex; flex-direction: column; gap: 0.75rem; }
.zf-post-relacionados h2 { margin: 0; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-weight: 800; letter-spacing: -0.02em; color: var(--b-branco); }

/* ---------- Responsivo ---------- */

@media (max-width: 1100px) {
	.zf-blog-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zf-blog-destaque-card { grid-template-columns: minmax(0, 1fr); padding: 0.75rem 0.75rem 1.5rem; gap: 1.25rem; }
	.zf-blog-destaque-card__corpo { padding: 0 0.625rem; }
	.zf-blog-capa--destaque { min-height: 0; height: clamp(200px, 10rem + 16vw, 320px); }
	.zf-post-meio__grade { grid-template-columns: minmax(0, 1fr); }
	.zf-post-lateral { position: static; }
	.zf-post-lateral .zf-post-indice { display: none; }
	.zf-post-indice-celular {
		display: block;
		background: var(--b-cartao);
		border: 1px solid var(--b-borda);
		border-radius: 14px;
	}
	.zf-post-indice-celular summary {
		min-height: 48px;
		padding: 0 1rem;
		display: flex;
		align-items: center;
		gap: 0.5rem;
		font-size: 0.875rem;
		font-weight: 700;
		color: var(--b-branco);
		cursor: pointer;
		list-style: none;
	}
	.zf-post-indice-celular summary::-webkit-details-marker { display: none; }
	.zf-post-indice-celular summary::after { content: "+"; margin-left: auto; font-size: 1.25rem; font-weight: 400; color: var(--b-roxo); }
	.zf-post-indice-celular[open] summary::after { content: "−"; }
	.zf-post-indice-celular .zf-post-indice__lista { padding: 0 0.5rem 0.75rem; }
	.zf-post-lateral__fixo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}

@media (max-width: 767px) {
	.zf-blog-grade { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
	.zf-blog-capa { height: 170px; }
	.zf-blog-card .zf-blog-capa__icone { width: 88px; height: 88px; }
	.zf-blog-capa--post .zf-blog-capa__icone,
	.zf-blog-capa--destaque .zf-blog-capa__icone { width: 104px; height: 104px; }
	.zf-blog-capa--post .zf-blog-capa__icone svg,
	.zf-blog-capa--destaque .zf-blog-capa__icone svg { width: 64px; height: 64px; }
	.zf-blog-capa--destaque { height: 200px; }
	.zf-blog-capa--post { height: 200px; }
	.zf-blog-busca__botao { padding: 0 1rem; }

	.zf-blog-pag__linha { width: 100%; justify-content: space-between; gap: 0.5rem; }
	.zf-blog-pag__texto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.zf-blog-pag__passo { width: 44px; padding: 0; }
	.zf-blog-pag__so-desktop { display: none; }
	.zf-blog-pag__so-celular { display: list-item; }

	.zf-post-cta { flex-direction: column; align-items: stretch; }
	.zf-post-cta .zf-blog-botao { width: 100%; }
	.zf-post-lateral__fixo { grid-template-columns: minmax(0, 1fr); }
	.zf-post-lateral .zf-post-solucao { display: none; }
	.zf-post-relacionados__topo { flex-direction: column; align-items: flex-start; }
	.zf-blog-cta .zf-blog-botao { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.zf-blog *, .zf-blog *::before, .zf-blog *::after { transition: none !important; }
}
