/* ==========================================================================
   Blog Agnaldo Bastos, concursos.adv.br, versão 2
   --------------------------------------------------------------------------
   Linguagem visual: blocos arredondados, fundo cinza claro, tipografia sem serifa
   com espaçamento justo e gradientes suaves, inspirada na Apple Newsroom e
   adaptada às cores do escritório (grafite e dourado).

   1. Tokens ........ cores, fontes, raios, sombras e movimento. Comece por aqui.
   2. Fontes
   3. Base
   4. Componentes ... botões, pílulas, busca, blocos de artigo, paginação
   5. Cabeçalho, painel de busca e rodapé
   6. Página inicial
   7. Listagens
   8. Artigo
   9. Páginas, contato e ferramentas
   10. Plugin: chamada, formulário, aviso de privacidade
   11. Movimento, acessibilidade e impressão
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	/* Neutros (escala da Apple) */
	--ab-texto: #1d1d1f;
	--ab-texto-2: #6e6e73;
	--ab-texto-3: #86868b;
	--ab-fundo: #ffffff;
	--ab-cinza: #f5f5f7;
	--ab-cinza-2: #e8e8ed;
	--ab-linha: rgba(0, 0, 0, 0.08);
	--ab-linha-forte: #d2d2d7;

	/* Marca: grafite e dourado do escritório */
	--ab-preto: #0f1416;
	--ab-grafite: #1b2326;
	--ab-dourado: #d2ac67;
	--ab-dourado-claro: #e9cf98;
	--ab-dourado-escuro: #8a6a2e;  /* texto dourado sobre fundo claro (contraste 4,9:1) */
	--ab-ouro-texto: #2b1f08;      /* texto sobre botão dourado */
	--ab-areia: #f7f1e5;

	/* Gradientes */
	--ab-grad-ouro: linear-gradient(115deg, #f2deae 0%, #dcb872 38%, #c39448 68%, #e3c584 100%);
	--ab-grad-ouro-suave: linear-gradient(135deg, #fbf5e8 0%, #f3e6c9 100%);
	--ab-grad-grafite: linear-gradient(160deg, #263135 0%, #121a1c 70%);
	--ab-grad-whatsapp: linear-gradient(145deg, #34c46e 0%, #128c4a 100%);

	/* Fonte: San Francisco nos aparelhos Apple; Inter (incluída no tema) nos demais */
	--ab-fonte: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Inter', 'Segoe UI', Roboto, Arial, sans-serif;
	--ab-fonte-titulo: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', 'Segoe UI', Roboto, Arial, sans-serif;

	/* Raios */
	--ab-r-xs: 10px;
	--ab-r-sm: 14px;
	--ab-r-md: 20px;
	--ab-r-lg: 28px;
	--ab-r-xl: 36px;
	--ab-r-pilula: 999px;

	/* Sombras */
	--ab-sombra-1: 0 1px 2px rgba(15, 20, 22, 0.04), 0 6px 20px rgba(15, 20, 22, 0.05);
	--ab-sombra-2: 0 4px 12px rgba(15, 20, 22, 0.06), 0 26px 60px rgba(15, 20, 22, 0.13);
	--ab-sombra-ouro: 0 10px 28px rgba(195, 148, 72, 0.34);

	/* Medidas */
	--ab-largura: 1200px;
	--ab-largura-media: 980px;
	--ab-largura-texto: 740px;
	--ab-margem: 24px;
	--ab-secao: clamp(64px, 9vw, 112px);
	--ab-cabecalho: 60px;

	/* Movimento */
	--ab-curva: cubic-bezier(0.4, 0, 0.25, 1);       /* curva usada pela Apple */
	--ab-curva-mola: cubic-bezier(0.16, 1, 0.3, 1);  /* entrada suave, com leve impulso */
	--ab-rapido: 0.2s;
	--ab-medio: 0.35s;
	--ab-lento: 0.7s;

	--ab-foco: rgba(184, 137, 63, 0.95);
}

/* 2. Fontes (Inter com tamanho óptico: desenho de título nos tamanhos grandes) */
@font-face { font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 100 900; src: url('../fonts/inter-latin-opsz-normal.woff2') format('woff2-variations'), url('../fonts/inter-latin-opsz-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 100 900; src: url('../fonts/inter-latin-ext-opsz-normal.woff2') format('woff2-variations'), url('../fonts/inter-latin-ext-opsz-normal.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* 3. Base ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--ab-cabecalho) + 24px); }
body {
	margin: 0;
	background: var(--ab-fundo);
	color: var(--ab-texto);
	font: 400 17px/1.47 var(--ab-fonte);
	letter-spacing: -0.012em;
	font-optical-sizing: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color var(--ab-rapido) ease; }
p { margin: 0 0 1em; }
h1, h2, h3, h4 { margin: 0; font-family: var(--ab-fonte-titulo); font-weight: 700; line-height: 1.1; letter-spacing: -0.025em; color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; letter-spacing: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--ab-foco); outline-offset: 3px; }
:focus:not(:focus-visible) { outline: none; }
::selection { background: var(--ab-dourado-claro); color: var(--ab-preto); }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.ab-pular { position: absolute; left: 16px; top: -100px; z-index: 200; padding: 12px 20px; border-radius: var(--ab-r-pilula); background: var(--ab-grad-ouro); color: var(--ab-ouro-texto); font-weight: 600; }
.ab-pular:focus { top: 12px; }

.ab-container { width: min(var(--ab-largura), calc(100% - 2 * var(--ab-margem))); margin-inline: auto; }
.ab-container--medio { width: min(var(--ab-largura-media), calc(100% - 2 * var(--ab-margem))); }
.ab-container--texto { width: min(var(--ab-largura-texto), calc(100% - 2 * var(--ab-margem))); }
.ab-principal:focus { outline: none; }

.ab-ico { width: 20px; height: 20px; flex: none; }

.ab-sobretitulo { margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: 0.01em; text-transform: uppercase; color: var(--ab-dourado-escuro); }

/* 4. Componentes ----------------------------------------------------------- */

/* Botões em pílula */
.ab-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 24px;
	border: 0;
	border-radius: var(--ab-r-pilula);
	font: 600 15px/1.2 var(--ab-fonte);
	letter-spacing: -0.01em;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	isolation: isolate;
	transition: transform var(--ab-medio) var(--ab-curva-mola), box-shadow var(--ab-medio) var(--ab-curva), background-position 0.6s var(--ab-curva), background-color var(--ab-rapido) ease, color var(--ab-rapido) ease;
}
.ab-btn .ab-ico { width: 19px; height: 19px; }
.ab-btn:active { transform: scale(0.97); }
.ab-btn--primario, .ab-btn--whatsapp {
	background: var(--ab-grad-ouro);
	background-size: 220% 100%;
	background-position: 0% 0;
	color: var(--ab-ouro-texto);
	box-shadow: 0 4px 14px rgba(195, 148, 72, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.45);
}
.ab-btn--primario:hover, .ab-btn--whatsapp:hover { background-position: 100% 0; transform: translateY(-2px); box-shadow: var(--ab-sombra-ouro), inset 0 1px 0 rgba(255, 255, 255, 0.45); }
.ab-btn--secundario { background: var(--ab-cinza); color: var(--ab-texto); }
.ab-btn--secundario:hover { background: var(--ab-cinza-2); transform: translateY(-1px); }
.ab-btn--contorno { background: transparent; color: var(--ab-texto); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.16); }
.ab-btn--contorno:hover { background: var(--ab-texto); color: #fff; box-shadow: none; transform: translateY(-1px); }
.ab-btn--vidro { background: rgba(255, 255, 255, 0.1); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.ab-btn--vidro:hover { background: rgba(255, 255, 255, 0.18); transform: translateY(-1px); }
.ab-btn--link { min-height: 0; padding: 6px 0; background: none; color: var(--ab-texto-2); text-decoration: underline; text-underline-offset: 4px; }
.ab-btn--link:hover { color: var(--ab-texto); }

.ab-link-seta { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 15px; color: var(--ab-dourado-escuro); }
.ab-link-seta .ab-ico { width: 17px; height: 17px; transition: transform var(--ab-medio) var(--ab-curva-mola); }
.ab-link-seta:hover { color: var(--ab-texto); }
.ab-link-seta:hover .ab-ico { transform: translateX(4px); }

.ab-circulo-seta { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(0, 0, 0, 0.05); color: var(--ab-texto); transition: background var(--ab-medio) var(--ab-curva), color var(--ab-medio) var(--ab-curva), transform var(--ab-medio) var(--ab-curva-mola); }
.ab-circulo-seta .ab-ico { width: 16px; height: 16px; }

.ab-selo { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 22px; padding: 7px 14px 7px 12px; border-radius: var(--ab-r-pilula); background: rgba(210, 172, 103, 0.14); font-size: 13px; font-weight: 600; letter-spacing: 0; color: var(--ab-dourado-escuro); }
.ab-selo .ab-ico { width: 16px; height: 16px; }
.ab-selo--claro { background: rgba(255, 255, 255, 0.08); color: var(--ab-dourado-claro); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1); }

.ab-pilula-info { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: var(--ab-r-pilula); background: var(--ab-cinza); font-size: 13px; font-weight: 600; color: var(--ab-texto-2); }
.ab-pilula-info .ab-ico { width: 15px; height: 15px; }

/* Busca: campo e botão numa pílula só */
.ab-busca { position: relative; }
.ab-busca__rotulo { display: block; margin-bottom: 12px; font-weight: 600; font-size: 15px; }
.ab-busca__linha { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.ab-busca__pilula {
	position: relative;
	flex: 1 1 340px;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 6px;
	min-height: 56px;
	padding: 5px 5px 5px 20px;
	background: var(--ab-fundo);
	border-radius: var(--ab-r-pilula);
	box-shadow: inset 0 0 0 1px var(--ab-linha-forte);
	transition: box-shadow var(--ab-medio) var(--ab-curva);
}
.ab-busca__pilula:focus-within { box-shadow: inset 0 0 0 1px #b8893f, 0 0 0 4px rgba(210, 172, 103, 0.25); }
.ab-busca__lupa { color: var(--ab-texto-3); }
.ab-busca__pilula input {
	flex: 1;
	min-width: 0;
	height: 46px;
	padding: 0 6px;
	border: 0;
	background: transparent;
	font-size: 17px;
	color: var(--ab-texto);
	outline: none;
	text-overflow: ellipsis;
	-webkit-appearance: none;
	appearance: none;
}
.ab-busca__pilula input::placeholder { color: var(--ab-texto-3); opacity: 1; transition: opacity 0.25s ease; }
.ab-busca__pilula input.is-trocando::placeholder { opacity: 0; }
.ab-busca__pilula input::-webkit-search-cancel-button { cursor: pointer; }
.ab-busca__botao {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: none;
	height: 46px;
	padding: 0 20px;
	border: 0;
	border-radius: var(--ab-r-pilula);
	background: var(--ab-grad-ouro);
	background-size: 220% 100%;
	color: var(--ab-ouro-texto);
	font-weight: 600;
	font-size: 15px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
	transition: background-position 0.6s var(--ab-curva), transform var(--ab-medio) var(--ab-curva-mola);
}
.ab-busca__botao .ab-ico { width: 17px; height: 17px; transition: transform var(--ab-medio) var(--ab-curva-mola); }
.ab-busca__botao:hover { background-position: 100% 0; }
.ab-busca__botao:hover .ab-ico { transform: translateX(3px); }
.ab-busca__botao:active { transform: scale(0.96); }
.ab-busca__pilula--simples { padding-right: 20px; }
.ab-busca__filtros { display: flex; gap: 10px; flex-wrap: wrap; }
.ab-busca__filtro {
	min-height: 48px;
	padding: 0 40px 0 18px;
	border: 0;
	border-radius: var(--ab-r-pilula);
	background: var(--ab-fundo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%236e6e73'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E") no-repeat right 16px center / 15px;
	box-shadow: inset 0 0 0 1px var(--ab-linha-forte);
	-webkit-appearance: none;
	appearance: none;
	font-size: 15px;
	cursor: pointer;
}
@media (max-width: 520px) {
	.ab-busca__botao span { display: none; }
	.ab-busca__botao { width: 46px; padding: 0; justify-content: center; }
	.ab-busca__filtros { width: 100%; }
	.ab-busca__filtro { flex: 1; }
}

/* Sugestões */
.ab-sugestoes {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	right: 0;
	z-index: 40;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: rgba(255, 255, 255, 0.96);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	border-radius: var(--ab-r-md);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06), 0 24px 60px rgba(15, 20, 22, 0.18);
	max-height: min(440px, 62vh);
	overflow-y: auto;
	color: var(--ab-texto);
	text-align: left;
	transform-origin: top center;
	animation: ab-abrir var(--ab-medio) var(--ab-curva-mola);
}
.ab-sugestoes li a { display: block; padding: 11px 14px; border-radius: var(--ab-r-sm); font-size: 15px; line-height: 1.35; transition: background var(--ab-rapido) ease; }
.ab-sugestoes li a small { display: block; margin-top: 3px; font-size: 12px; font-weight: 600; color: var(--ab-texto-3); }
.ab-sugestoes li[aria-selected="true"] a, .ab-sugestoes li a:hover { background: var(--ab-cinza); }
.ab-sugestoes li mark { background: none; color: inherit; font-weight: 700; }
.ab-sugestoes__todos a { font-weight: 600; color: var(--ab-dourado-escuro); }
.ab-sugestoes__vazio { padding: 12px 14px; font-size: 14px; color: var(--ab-texto-2); }

/* Atalhos e pílulas de filtro */
.ab-atalhos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; }
.ab-atalhos > span { margin-right: 4px; font-size: 13px; color: var(--ab-texto-3); }
.ab-atalhos a, .ab-chips a, .ab-tags a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 15px;
	border-radius: var(--ab-r-pilula);
	background: var(--ab-cinza);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--ab-texto);
	transition: background var(--ab-rapido) ease, color var(--ab-rapido) ease, transform var(--ab-medio) var(--ab-curva-mola);
}
.ab-atalhos a:hover, .ab-chips a:hover, .ab-tags a:hover { background: var(--ab-texto); color: #fff; transform: translateY(-1px); }
.ab-chips, .ab-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ab-chips a span { font-size: 12px; color: var(--ab-texto-3); transition: color var(--ab-rapido) ease; }
.ab-chips a:hover span { color: rgba(255, 255, 255, 0.6); }

/* Blocos de artigo (tiles) */
.ab-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 310px), 1fr)); gap: 24px; }
.ab-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: var(--ab-fundo);
	border-radius: 24px;
	overflow: hidden;
	box-shadow: var(--ab-sombra-1);
	transition: transform 0.5s var(--ab-curva-mola), box-shadow 0.5s var(--ab-curva);
}
.ab-tile:hover { transform: translateY(-4px); box-shadow: var(--ab-sombra-2); }
.ab-tile__midia { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--ab-cinza-2); }
.ab-tile__midia img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s var(--ab-curva); }
.ab-tile:hover .ab-tile__midia img { transform: scale(1.05); }
.ab-tile__vazio { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: var(--ab-grad-ouro-suave); color: var(--ab-dourado-escuro); }
.ab-tile__vazio .ab-ico { width: 44px; height: 44px; opacity: 0.7; }
.ab-tile__corpo { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 24px; }
.ab-tile__rotulo { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: 0.01em; text-transform: uppercase; color: var(--ab-dourado-escuro); }
.ab-tile__titulo { font-size: 20px; font-weight: 700; line-height: 1.25; letter-spacing: -0.02em; }
.ab-tile__link { color: var(--ab-texto); }
.ab-tile__link::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.ab-tile__link:focus-visible { outline: none; }
.ab-tile:has(.ab-tile__link:focus-visible) { outline: 3px solid var(--ab-foco); outline-offset: 3px; }
.ab-tile__resumo { margin: 10px 0 0; font-size: 15px; line-height: 1.5; color: var(--ab-texto-2); }
.ab-tile__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: auto 0 0; padding-top: 16px; font-size: 13px; font-weight: 600; color: var(--ab-texto-3); }
.ab-tile__tempo { padding: 2px 9px; border-radius: var(--ab-r-pilula); background: var(--ab-cinza); color: var(--ab-texto-2); }

.ab-tile--destaque .ab-tile__titulo { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.12; letter-spacing: -0.03em; }
.ab-tile--destaque .ab-tile__resumo { font-size: 17px; }
.ab-tile--compacto .ab-tile__corpo { padding: 20px; }

.ab-tile--lista { flex-direction: row; gap: 0; border-radius: var(--ab-r-md); }
.ab-tile--lista .ab-tile__midia { flex: 0 0 260px; aspect-ratio: auto; min-height: 180px; }
.ab-tile--lista .ab-tile__corpo { padding: 22px 26px; }
@media (max-width: 680px) {
	.ab-tile--lista { flex-direction: column; }
	.ab-tile--lista .ab-tile__midia { flex-basis: auto; aspect-ratio: 16 / 9; min-height: 0; }
}

/* Paginação */
.ab-paginacao { margin-top: 56px; }
.ab-paginacao ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ab-paginacao a, .ab-paginacao span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 46px;
	height: 46px;
	padding: 0 12px;
	border-radius: var(--ab-r-pilula);
	background: var(--ab-fundo);
	box-shadow: var(--ab-sombra-1);
	font-size: 15px;
	font-weight: 600;
	transition: transform var(--ab-medio) var(--ab-curva-mola), background var(--ab-rapido) ease, color var(--ab-rapido) ease;
}
.ab-paginacao a:hover { transform: translateY(-2px); background: var(--ab-texto); color: #fff; }
.ab-paginacao a:focus-visible {
	outline: none;
	border-radius: var(--ab-r-pilula);
	box-shadow: 0 0 0 3px var(--ab-fundo), 0 0 0 6px var(--ab-foco);
}
.ab-paginacao .current { background: var(--ab-texto); color: #fff; box-shadow: none; }
.ab-paginacao .dots { background: transparent; box-shadow: none; }
.ab-paginacao .ab-ico { width: 18px; height: 18px; }

/* Trilha */
.ab-trilha ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
	font-size: 13px;
	line-height: 1.35;
	color: var(--ab-texto-3);
}
.ab-trilha li { display: inline-flex; align-items: center; min-height: 24px; }
.ab-trilha li:not(:last-child)::after {
	content: '';
	width: 6px;
	height: 6px;
	margin: 0 10px 0 8px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	color: var(--ab-linha-forte);
	transform: rotate(45deg);
	transform-origin: center;
	flex: 0 0 auto;
}
.ab-trilha a { display: inline-flex; align-items: center; min-height: 24px; color: inherit; }
.ab-trilha a:hover { color: var(--ab-texto); }

/* Redes sociais */
.ab-redes { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ab-redes a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.07);
	color: #e8e8ed;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
	transition: transform var(--ab-medio) var(--ab-curva-mola), background-color var(--ab-medio) var(--ab-curva), color var(--ab-medio) var(--ab-curva), box-shadow var(--ab-medio) var(--ab-curva);
}
.ab-redes a .ab-ico { width: 21px; height: 21px; transition: transform var(--ab-medio) var(--ab-curva-mola); }
.ab-redes a:hover, .ab-redes a:focus-visible { background-color: var(--ab-dourado); color: var(--ab-ouro-texto); transform: translateY(-3px); box-shadow: 0 10px 24px rgba(195, 148, 72, 0.35); }
.ab-redes a:hover .ab-ico { transform: scale(1.08); }
.ab-redes a:active { transform: translateY(-1px) scale(0.96); }

/* 5. Cabeçalho, painel de busca e rodapé ----------------------------------- */
.ab-cabecalho {
	--ab-foco: var(--ab-dourado-claro);
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(15, 20, 22, 0.78);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	color: #fff;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
	transition: background var(--ab-medio) var(--ab-curva), box-shadow var(--ab-medio) var(--ab-curva);
}
.admin-bar .ab-cabecalho { top: 32px; }
@media (max-width: 782px) { .admin-bar .ab-cabecalho { top: 0; } }
.ab-cabecalho.is-rolado { background: rgba(15, 20, 22, 0.88); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06), 0 10px 30px rgba(0, 0, 0, 0.18); }
.ab-cabecalho__barra { display: flex; align-items: center; gap: 24px; height: var(--ab-cabecalho); }

.ab-marca { display: inline-flex; align-items: center; flex: none; transition: opacity var(--ab-rapido) ease; }
.ab-marca:hover { opacity: 0.85; }
.ab-marca__img { width: 156px; height: auto; }

.ab-navegacao { margin-left: auto; }
.ab-menu { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.ab-menu > li { position: relative; display: flex; align-items: center; }
.ab-menu > li > a {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: var(--ab-r-pilula);
	font-size: 14px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.82);
	transition: background var(--ab-rapido) ease, color var(--ab-rapido) ease;
}
.ab-menu > li > a:hover { background: rgba(255, 255, 255, 0.08); color: #fff; }
.ab-menu > li > a[aria-current="page"] { color: var(--ab-dourado-claro); }
.ab-submenu-botao { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; margin-left: -10px; padding: 0; border: 0; border-radius: 50%; background: none; color: rgba(255, 255, 255, 0.7); }
.ab-submenu-botao .ab-ico { width: 13px; height: 13px; transition: transform var(--ab-medio) var(--ab-curva-mola); }
.ab-submenu-botao:hover { color: #fff; }
.ab-submenu-botao[aria-expanded="true"] .ab-ico { transform: rotate(180deg); }
.ab-menu .sub-menu {
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	min-width: 264px;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: rgba(27, 35, 38, 0.94);
	-webkit-backdrop-filter: saturate(180%) blur(24px);
	backdrop-filter: saturate(180%) blur(24px);
	border-radius: var(--ab-r-md);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 28px 60px rgba(0, 0, 0, 0.4);
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, -6px) scale(0.97);
	transform-origin: top center;
	transition: opacity var(--ab-rapido) ease, transform var(--ab-medio) var(--ab-curva-mola), visibility 0s linear var(--ab-medio);
}
.ab-menu .sub-menu::before { content: ''; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.ab-menu > li:hover > .sub-menu, .ab-menu > li:focus-within > .sub-menu, .ab-menu > li.is-aberto > .sub-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0) scale(1); transition-delay: 0s; }
.ab-menu .sub-menu a { display: block; padding: 10px 14px; border-radius: var(--ab-r-xs); font-size: 14px; color: rgba(255, 255, 255, 0.85); transition: background var(--ab-rapido) ease, color var(--ab-rapido) ease; }
.ab-menu .sub-menu a:hover, .ab-menu .sub-menu a[aria-current="page"] { background: rgba(255, 255, 255, 0.08); color: #fff; }
.ab-menu .ab-menu__todos { margin-top: 4px; padding-top: 4px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.ab-menu .ab-menu__todos a { color: var(--ab-dourado-claro); font-weight: 600; }
.ab-navegacao__extra { display: none; }

.ab-cabecalho__acoes { display: flex; align-items: center; gap: 10px; }
.ab-icone-botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	transition: background var(--ab-rapido) ease, transform var(--ab-medio) var(--ab-curva-mola);
}
.ab-icone-botao .ab-ico { width: 18px; height: 18px; }
.ab-icone-botao:hover, .ab-icone-botao[aria-expanded="true"] { background: rgba(255, 255, 255, 0.16); }
.ab-icone-botao:active { transform: scale(0.92); }
.ab-cabecalho__contato {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 36px;
	padding: 0 16px 0 13px;
	border-radius: var(--ab-r-pilula);
	background: rgba(255, 255, 255, 0.08);
	color: #f5f5f7;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
	transition: background var(--ab-rapido) ease, transform var(--ab-medio) var(--ab-curva-mola);
}
.ab-cabecalho__contato:hover { background: rgba(255, 255, 255, 0.16); transform: translateY(-1px); }
.ab-cabecalho__contato .ab-ico { width: 17px; height: 17px; color: #34c46e; }
.ab-menu-botao { display: none; }
.ab-menu-botao .ab-ico--fechar { display: none; }
.ab-menu-botao[aria-expanded="true"] .ab-ico--abrir { display: none; }
.ab-menu-botao[aria-expanded="true"] .ab-ico--fechar { display: block; }

/* Painel de busca do cabeçalho */
.ab-painel-busca { --ab-foco: var(--ab-dourado-claro); position: relative; padding: 28px 0 32px; background: rgba(27, 35, 38, 0.96); -webkit-backdrop-filter: saturate(180%) blur(24px); backdrop-filter: saturate(180%) blur(24px); animation: ab-descer var(--ab-medio) var(--ab-curva-mola); }
.ab-painel-busca .ab-container { position: relative; max-width: 760px; }
.ab-painel-busca .ab-busca__rotulo { color: #fff; font-family: var(--ab-fonte-titulo); font-size: 24px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 16px; }
.ab-painel-busca .ab-busca__pilula { box-shadow: none; }
.ab-painel-busca .ab-atalhos > span { color: #a1a1a6; }
.ab-painel-busca .ab-atalhos a, .ab-hero .ab-atalhos a { background: rgba(255, 255, 255, 0.08); color: #f5f5f7; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1); }
.ab-painel-busca .ab-atalhos a:hover, .ab-hero .ab-atalhos a:hover { background: #fff; color: var(--ab-texto); }
.ab-painel-busca__fechar { position: absolute; top: 0; right: 0; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 0; border-radius: var(--ab-r-pilula); background: rgba(255, 255, 255, 0.08); color: #e8e8ed; font-size: 13px; }
.ab-painel-busca__fechar .ab-ico { width: 15px; height: 15px; }
.ab-painel-busca__fechar:hover { background: rgba(255, 255, 255, 0.16); }

@media (max-width: 1080px) {
	.ab-cabecalho__barra { gap: 12px; }
	.ab-marca__img { width: 140px; }
	.ab-cabecalho__contato { display: none; }
	.ab-cabecalho__acoes { margin-left: auto; gap: 8px; }
	.ab-menu-botao { display: inline-flex; }
	.ab-navegacao {
		position: fixed;
		top: var(--ab-cabecalho);
		left: 0;
		right: 0;
		height: calc(100dvh - var(--ab-cabecalho));
		margin: 0;
		padding: 20px var(--ab-margem) 40px;
		background: var(--ab-preto);
		overflow-y: auto;
		opacity: 0;
		visibility: hidden;
		transition: opacity var(--ab-medio) var(--ab-curva), visibility 0s linear var(--ab-medio);
	}
	.admin-bar .ab-navegacao { top: calc(var(--ab-cabecalho) + 46px); }
	.ab-navegacao.is-aberta { opacity: 1; visibility: visible; transition-delay: 0s; }
	.ab-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.ab-menu > li { display: block; border-bottom: 1px solid rgba(255, 255, 255, 0.07); opacity: 0; transform: translateY(-8px); transition: opacity 0.4s var(--ab-curva), transform 0.5s var(--ab-curva-mola); }
	.ab-navegacao.is-aberta .ab-menu > li { opacity: 1; transform: none; }
	.ab-navegacao.is-aberta .ab-menu > li:nth-child(2) { transition-delay: 0.04s; }
	.ab-navegacao.is-aberta .ab-menu > li:nth-child(3) { transition-delay: 0.08s; }
	.ab-navegacao.is-aberta .ab-menu > li:nth-child(4) { transition-delay: 0.12s; }
	.ab-navegacao.is-aberta .ab-menu > li:nth-child(5) { transition-delay: 0.16s; }
	.ab-menu > li > a { display: flex; padding: 16px 0; border-radius: 0; font-size: 26px; font-weight: 700; letter-spacing: -0.025em; color: #f5f5f7; }
	.ab-menu > li > a:hover { background: none; color: var(--ab-dourado-claro); }
	.ab-submenu-botao { display: none; }
	.ab-menu .sub-menu, .ab-menu > li:hover > .sub-menu, .ab-menu > li:focus-within > .sub-menu, .ab-menu > li.is-aberto > .sub-menu { position: static; min-width: 0; padding: 0 0 16px; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; opacity: 1; visibility: visible; transform: none; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; }
	.ab-menu .sub-menu a { padding: 8px 0; font-size: 16px; color: #c7c7cc; }
	.ab-menu .sub-menu a:hover { background: none; color: #fff; }
	.ab-menu .ab-menu__todos { border: 0; margin: 0; padding: 0; }
	.ab-navegacao__extra { display: flex; flex-direction: column; gap: 22px; padding-top: 28px; }
	.ab-navegacao__extra .ab-btn { width: 100%; min-height: 54px; font-size: 16px; }
	body.ab-menu-aberto { overflow: hidden; }
}
@media (max-width: 400px) {
	:root { --ab-margem: 16px; }
	.ab-marca__img { width: 128px; }
	.ab-menu .sub-menu { grid-template-columns: 1fr; }
}

/* Rodapé */
.ab-rodape { --ab-foco: var(--ab-dourado-claro); position: relative; background: var(--ab-preto); color: #a1a1a6; font-size: 14px; padding: 72px 0 0; overflow: hidden; }
.ab-rodape::before { content: ''; position: absolute; top: -260px; left: 50%; width: 900px; height: 420px; transform: translateX(-50%); background: radial-gradient(closest-side, rgba(210, 172, 103, 0.13), transparent); pointer-events: none; }
.ab-rodape__grade { position: relative; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 48px; padding-bottom: 56px; }
.ab-rodape__marca .ab-marca__img { width: 176px; }
.ab-rodape__marca p { margin: 20px 0 24px; max-width: 320px; line-height: 1.6; }
.ab-rodape__titulo { margin: 0 0 16px; font-size: 13px; font-weight: 600; letter-spacing: 0; color: #f5f5f7; }
.ab-rodape ul { margin: 0; padding: 0; list-style: none; }
.ab-rodape__coluna li { margin-bottom: 11px; }
.ab-rodape__coluna a { transition: color var(--ab-rapido) ease; }
.ab-rodape__coluna a:hover { color: #fff; }
.ab-rodape__contato li { display: flex; gap: 10px; align-items: flex-start; }
.ab-rodape__contato li > a { display: inline-flex; gap: 10px; align-items: flex-start; }
.ab-rodape__contato .ab-ico { width: 18px; height: 18px; margin-top: 1px; color: var(--ab-dourado); }
.ab-rodape__endereco a { color: var(--ab-dourado-claro); }
.ab-rodape__cliente { margin-top: 18px !important; padding: 14px 16px; border-radius: var(--ab-r-sm); background: rgba(255, 255, 255, 0.05); display: block !important; font-size: 13px; }
.ab-rodape__cliente a { color: var(--ab-dourado-claro); font-weight: 600; }
.ab-rodape__legal { position: relative; padding: 22px 0 100px; border-top: 1px solid rgba(255, 255, 255, 0.08); font-size: 12px; line-height: 1.7; color: #86868b; }
.ab-rodape__legal p { margin: 0 0 4px; }
@media (max-width: 980px) { .ab-rodape__grade { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .ab-rodape__grade { grid-template-columns: 1fr; gap: 36px; } }

/* WhatsApp flutuante */
.ab-flutuante {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 70;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: var(--ab-grad-whatsapp);
	color: #fff;
	box-shadow: 0 12px 28px rgba(18, 140, 74, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.35);
	transition: transform var(--ab-medio) var(--ab-curva-mola), box-shadow var(--ab-medio) ease;
}
.ab-flutuante::before { content: ''; position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 0 rgba(52, 196, 110, 0.5); animation: ab-pulso 2.8s var(--ab-curva) 1.5s 3; }
.ab-flutuante .ab-ico { width: 30px; height: 30px; }
.ab-flutuante:hover { transform: translateY(-3px) scale(1.05); box-shadow: 0 16px 34px rgba(18, 140, 74, 0.45); }
.ab-flutuante:active { transform: scale(0.95); }
.ab-flutuante__texto {
	position: absolute;
	right: calc(100% + 12px);
	padding: 8px 14px;
	border-radius: var(--ab-r-pilula);
	background: rgba(15, 20, 22, 0.9);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	opacity: 0;
	transform: translateX(8px) scale(0.96);
	pointer-events: none;
	transition: opacity var(--ab-rapido) ease, transform var(--ab-medio) var(--ab-curva-mola);
}
.ab-flutuante:hover .ab-flutuante__texto, .ab-flutuante:focus-visible .ab-flutuante__texto { opacity: 1; transform: none; }

/* 6. Página inicial -------------------------------------------------------- */
.ab-hero {
	--ab-foco: var(--ab-dourado-claro);
	position: relative;
	padding: clamp(48px, 7vw, 96px) 0 clamp(40px, 5.5vw, 72px);
	background: #0c1113;
	color: #fff;
	overflow: hidden;
	isolation: isolate;
}
.ab-hero__fundo { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.ab-hero__fundo span { position: absolute; border-radius: 50%; filter: blur(60px); opacity: 0.9; will-change: transform; }
.ab-hero__fundo span:nth-child(1) { width: 58vw; max-width: 760px; aspect-ratio: 1; top: -38%; right: -12%; background: radial-gradient(circle, rgba(210, 172, 103, 0.5), transparent 66%); animation: ab-deriva-1 22s ease-in-out infinite alternate; }
.ab-hero__fundo span:nth-child(2) { width: 46vw; max-width: 620px; aspect-ratio: 1; bottom: -42%; left: -14%; background: radial-gradient(circle, rgba(233, 207, 152, 0.26), transparent 66%); animation: ab-deriva-2 26s ease-in-out infinite alternate; }
.ab-hero__fundo span:nth-child(3) { width: 38vw; max-width: 520px; aspect-ratio: 1; top: 20%; left: 18%; background: radial-gradient(circle, rgba(104, 128, 138, 0.28), transparent 66%); animation: ab-deriva-3 30s ease-in-out infinite alternate; }
.ab-hero__fundo::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, transparent 40%, rgba(12, 17, 19, 0.65) 100%); }
.ab-hero__grade { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.ab-hero__conteudo { min-width: 0; }
.ab-hero .ab-selo { background: rgba(255, 255, 255, 0.08); color: var(--ab-dourado-claro); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.ab-hero__titulo {
	font-size: clamp(34px, 4.7vw, 60px);
	font-weight: 700;
	line-height: 1.04;
	letter-spacing: -0.04em;
	background: linear-gradient(180deg, #ffffff 30%, #c9ced1 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	text-wrap: balance;
}
.ab-hero__apoio { margin: 18px 0 0; max-width: 560px; font-size: clamp(17px, 1.9vw, 21px); line-height: 1.45; color: #a1a1a6; text-wrap: balance; }
.ab-busca--hero { max-width: 620px; margin: 30px 0 0; }
.ab-hero__contato { margin: 22px 0 0; font-size: 15px; color: #a1a1a6; }
.ab-hero__contato a { display: inline-flex; align-items: center; gap: 6px; margin-left: 4px; font-weight: 600; color: var(--ab-dourado-claro); border-bottom: 1px solid rgba(233, 207, 152, 0.35); transition: color var(--ab-rapido) ease, border-color var(--ab-rapido) ease; }
.ab-hero__contato a:hover { color: #fff; border-color: #fff; }
.ab-hero__contato .ab-ico { width: 17px; height: 17px; }
.ab-busca--hero .ab-busca__pilula { min-height: 64px; padding: 6px 6px 6px 22px; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.1); }
.ab-busca--hero .ab-busca__pilula:focus-within { box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4), 0 0 0 4px rgba(210, 172, 103, 0.45); }
.ab-busca--hero .ab-busca__pilula input { height: 52px; font-size: 18px; }
.ab-busca--hero .ab-busca__botao { height: 52px; padding: 0 24px; font-size: 16px; }
.ab-hero .ab-atalhos { margin-top: 18px; }
.ab-hero .ab-atalhos > span { color: #86868b; }
.ab-hero__numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; max-width: 760px; margin: 36px auto 0; padding: 0; list-style: none; }
.ab-hero__numeros li { padding: 18px 16px; border-radius: var(--ab-r-md); background: rgba(255, 255, 255, 0.05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); font-size: 13px; line-height: 1.4; color: #a1a1a6; }
.ab-hero__numeros strong { display: block; margin-bottom: 4px; font-family: var(--ab-fonte-titulo); font-size: 26px; font-weight: 700; letter-spacing: -0.03em; background: var(--ab-grad-ouro); -webkit-background-clip: text; background-clip: text; color: transparent; }
/* Coluna de artigos recentes no topo */
.ab-hero__recentes { padding: 18px; border-radius: var(--ab-r-lg); background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1), 0 30px 70px rgba(0, 0, 0, 0.35); -webkit-backdrop-filter: saturate(160%) blur(22px); backdrop-filter: saturate(160%) blur(22px); }
.ab-hero__recentes-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 8px 12px; }
.ab-hero__recentes-topo p { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 12px; font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; color: var(--ab-dourado-claro); }
.ab-hero__recentes-topo p::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #34c46e; box-shadow: 0 0 0 0 rgba(52, 196, 110, 0.6); animation: ab-pulso 2.4s var(--ab-curva) infinite; }
.ab-hero__recentes-topo a { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; color: #c7c7cc; }
.ab-hero__recentes-topo a:hover { color: #fff; }
.ab-hero__recentes-topo .ab-ico { width: 15px; height: 15px; }
.ab-hero__recentes ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; }
.ab-mini { display: flex; align-items: center; gap: 14px; padding: 10px; border-radius: var(--ab-r-md); transition: background var(--ab-medio) var(--ab-curva), transform var(--ab-medio) var(--ab-curva-mola); }
.ab-mini:hover { background: rgba(255, 255, 255, 0.08); transform: translateX(3px); }
.ab-mini__imagem { flex: none; display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 16px; overflow: hidden; background: rgba(255, 255, 255, 0.08); color: var(--ab-dourado-claro); }
.ab-mini__imagem img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ab-curva); }
.ab-mini:hover .ab-mini__imagem img { transform: scale(1.08); }
.ab-mini__texto { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ab-mini__rotulo { font-size: 11px; font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; color: var(--ab-dourado-claro); }
.ab-mini__titulo { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 15px; font-weight: 600; line-height: 1.3; letter-spacing: -0.015em; color: #f5f5f7; }
.ab-mini__data { font-size: 12px; color: #86868b; }
@media (max-width: 980px) {
	.ab-hero__grade { grid-template-columns: 1fr; gap: 28px; }
	.ab-hero__recentes { padding: 12px; }
	.ab-mini__imagem { width: 64px; height: 64px; border-radius: 14px; }
}
@media (max-width: 600px) {
	.ab-hero__numeros { display: none; }
	.ab-hero__apoio { margin-top: 16px; }
	.ab-busca--hero { margin-top: 24px; }
	.ab-hero .ab-atalhos a:nth-child(n+5) { display: none; }
	.ab-hero__contato { margin-top: 16px; }
	.ab-busca--hero .ab-busca__pilula { min-height: 58px; padding-left: 18px; }
	.ab-busca--hero .ab-busca__pilula input { font-size: 17px; height: 46px; }
	.ab-busca--hero .ab-busca__botao { height: 46px; width: 46px; padding: 0; }
}

.ab-secao { padding: var(--ab-secao) 0; }
.ab-secao--cinza { background: var(--ab-cinza); }
.ab-secao--sem-topo { padding-top: 0; }
.ab-secao--artigos { padding-top: clamp(40px, 6vw, 72px); }
.ab-secao__topo--interno { margin: clamp(48px, 7vw, 80px) 0 28px; }
.ab-secao__titulo--menor { font-size: clamp(24px, 3vw, 32px); letter-spacing: -0.03em; }
.ab-centro { margin: 40px 0 0; text-align: center; }
.ab-secao__topo { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin-bottom: 36px; }
.ab-secao__titulo { font-size: clamp(30px, 4vw, 44px); font-weight: 700; line-height: 1.08; letter-spacing: -0.035em; }
.ab-secao__apoio { margin: 12px 0 0; max-width: 580px; font-size: 17px; line-height: 1.47; color: var(--ab-texto-2); }

.ab-destaques { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ab-destaques > .ab-tile--destaque { grid-column: 1 / -1; display: grid; grid-template-columns: 1.35fr 1fr; }
.ab-destaques > .ab-tile--destaque .ab-tile__midia { aspect-ratio: auto; min-height: 420px; }
.ab-destaques > .ab-tile--destaque .ab-tile__corpo { justify-content: center; padding: clamp(28px, 4vw, 52px); }
.ab-destaques > .ab-tile--destaque .ab-tile__meta { margin-top: 0; padding-top: 22px; }
@media (max-width: 860px) {
	.ab-destaques { grid-template-columns: 1fr; }
	.ab-destaques > .ab-tile--destaque { display: flex; }
	.ab-destaques > .ab-tile--destaque .ab-tile__midia { aspect-ratio: 16 / 10; min-height: 0; }
	.ab-destaques > .ab-tile--destaque .ab-tile__corpo { padding: 22px 24px 24px; }
}

.ab-assuntos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
/* Grade em mosaico: o assunto com mais artigos ocupa duas linhas. */
@media (min-width: 900px) {
	.ab-assuntos { grid-template-columns: 1.25fr 1fr 1fr; }
	.ab-assuntos > li:first-child { grid-row: span 2; }
	.ab-assuntos > li:first-child .ab-assunto { padding: 34px 32px 28px; background: var(--ab-grad-ouro-suave); }
	.ab-assuntos > li:first-child .ab-assunto:hover { background: var(--ab-fundo); }
	.ab-assuntos > li:first-child .ab-assunto__icone { width: 68px; height: 68px; border-radius: 20px; }
	.ab-assuntos > li:first-child .ab-assunto__icone .ab-ico { width: 36px; height: 36px; }
	.ab-assuntos > li:first-child .ab-assunto__nome { font-size: 32px; letter-spacing: -0.03em; }
	.ab-assuntos > li:first-child .ab-assunto__texto { font-size: 17px; max-width: 340px; }
	.ab-assuntos .ab-assunto { min-height: 0; }
}
@media (max-width: 560px) {
	.ab-assuntos { grid-template-columns: 1fr 1fr; gap: 12px; }
	.ab-assunto { min-height: 0; padding: 18px 16px 14px; border-radius: var(--ab-r-md); }
	.ab-assunto__icone { width: 44px; height: 44px; margin-bottom: 14px; border-radius: 13px; }
	.ab-assunto__icone .ab-ico { width: 23px; height: 23px; }
	.ab-assunto__nome { font-size: 17px; }
	.ab-assunto__texto { display: none; }
	.ab-assunto__rodape { padding-top: 12px; font-size: 12px; }
	.ab-assunto .ab-circulo-seta { width: 28px; height: 28px; }
}
.ab-assunto {
	--cor-1: #f0d8a2;
	--cor-2: #b8893f;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 236px;
	padding: 26px 24px 22px;
	border-radius: var(--ab-r-lg);
	background: var(--ab-cinza);
	transition: transform 0.5s var(--ab-curva-mola), box-shadow 0.5s var(--ab-curva), background var(--ab-medio) var(--ab-curva);
}
.ab-assunto--servidores-publicos { --cor-1: #9db7c1; --cor-2: #3d5a66; }
.ab-assunto--pad { --cor-1: #c8a7b2; --cor-2: #6e4a57; }
.ab-assunto--improbidade { --cor-1: #ddb48a; --cor-2: #8d5f37; }
.ab-assunto--direito-militar { --cor-1: #b9c191; --cor-2: #5b6540; }
.ab-assunto--noticias { --cor-1: #8d999e; --cor-2: #2a3337; }
.ab-assunto:hover { background: var(--ab-fundo); transform: translateY(-4px); box-shadow: var(--ab-sombra-2); }
.ab-assunto__icone { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: 22px; border-radius: 16px; background: linear-gradient(145deg, var(--cor-1, #f0d8a2), var(--cor-2, #b8893f)); color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 8px 18px rgba(15, 20, 22, 0.14); transition: transform 0.5s var(--ab-curva-mola); }
.ab-assunto__icone .ab-ico { width: 27px; height: 27px; }
.ab-assunto:hover .ab-assunto__icone { transform: scale(1.06) rotate(-3deg); }
.ab-assunto__nome { font-family: var(--ab-fonte-titulo); font-size: 21px; font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; }
.ab-assunto__texto { margin-top: 8px; font-size: 15px; line-height: 1.45; color: var(--ab-texto-2); }
.ab-assunto__rodape { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 20px; font-size: 13px; font-weight: 600; color: var(--ab-texto-3); }
.ab-assunto:hover .ab-circulo-seta { background: var(--ab-texto); color: #fff; transform: translateX(3px); }

/* Ícones de ferramenta no formato de app */
.ab-app {
	--cor-1: #f3dfae;
	--cor-2: #c39448;
	--cor-icone: #fff;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	border-radius: 18px;
	background: linear-gradient(150deg, var(--cor-1), var(--cor-2));
	color: var(--cor-icone);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 -1px 0 rgba(0, 0, 0, 0.08), 0 10px 22px rgba(15, 20, 22, 0.16);
	overflow: hidden;
	flex: none;
}
.ab-app::after { content: ''; position: absolute; inset: 0 0 50% 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0.28), transparent); border-radius: inherit; pointer-events: none; }
.ab-app .ab-ico { position: relative; width: 32px; height: 32px; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.12)); }
.ab-app--checklist-posse { --cor-1: #36444a; --cor-2: #11181a; --cor-icone: #e9cf98; }
.ab-app--estagio, .ab-app--estagio-probatorio { --cor-1: #f6efe0; --cor-2: #d9c7a1; --cor-icone: #5c4520; }

.ab-ferramentas-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.ab-ferramenta-cartao {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 30px 28px 26px;
	border-radius: var(--ab-r-lg);
	background: var(--ab-fundo);
	box-shadow: var(--ab-sombra-1);
	color: var(--ab-texto);
	transition: transform 0.5s var(--ab-curva-mola), box-shadow 0.5s var(--ab-curva);
}
a.ab-ferramenta-cartao:hover { transform: translateY(-4px); box-shadow: var(--ab-sombra-2); }
.ab-ferramenta-cartao .ab-app { margin-bottom: 24px; transition: transform 0.5s var(--ab-curva-mola); }
a.ab-ferramenta-cartao:hover .ab-app { transform: scale(1.06) rotate(-3deg); }
.ab-ferramenta-cartao__titulo { font-family: var(--ab-fonte-titulo); font-size: 21px; font-weight: 700; line-height: 1.22; letter-spacing: -0.02em; }
.ab-ferramenta-cartao__texto { margin-top: 10px; font-size: 15px; line-height: 1.5; color: var(--ab-texto-2); }
.ab-pilula-acao { display: inline-flex; align-self: flex-start; align-items: center; gap: 6px; margin-top: auto; padding: 9px 16px; border-radius: var(--ab-r-pilula); background: var(--ab-cinza); font-size: 14px; font-weight: 600; color: var(--ab-texto); transition: background var(--ab-medio) var(--ab-curva), color var(--ab-medio) var(--ab-curva); }
.ab-ferramenta-cartao__texto + .ab-pilula-acao, .ab-ferramenta-cartao__titulo + .ab-pilula-acao { margin-top: auto; }
.ab-ferramenta-cartao .ab-pilula-acao { min-height: 40px; }
.ab-pilula-acao .ab-ico { width: 16px; height: 16px; transition: transform var(--ab-medio) var(--ab-curva-mola); }
a.ab-ferramenta-cartao:hover .ab-pilula-acao { background: var(--ab-texto); color: #fff; }
a.ab-ferramenta-cartao:hover .ab-pilula-acao .ab-ico { transform: translateX(3px); }
.ab-ferramenta-cartao--breve { background: transparent; box-shadow: inset 0 0 0 1.5px var(--ab-linha-forte); }
.ab-ferramenta-cartao--breve .ab-app { filter: saturate(0.6); opacity: 0.85; }
.ab-pilula-acao--breve { background: transparent; box-shadow: inset 0 0 0 1px var(--ab-linha-forte); color: var(--ab-texto-2); }

/* Painel escuro arredondado (guias) */
.ab-painel-escuro { --ab-foco: var(--ab-dourado-claro); position: relative; padding: clamp(32px, 5vw, 64px); border-radius: var(--ab-r-xl); background: var(--ab-grad-grafite); color: #fff; overflow: hidden; isolation: isolate; }
.ab-painel-escuro__brilho { position: absolute; z-index: -1; top: -40%; right: -10%; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(210, 172, 103, 0.28), transparent 65%); filter: blur(40px); animation: ab-deriva-1 24s ease-in-out infinite alternate; }
.ab-painel-escuro__topo { max-width: 620px; margin-bottom: 36px; }
.ab-painel-escuro .ab-secao__apoio { color: #a1a1a6; }
.ab-guias { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ab-guias a { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 100%; padding: 20px 22px; border-radius: var(--ab-r-md); background: rgba(255, 255, 255, 0.05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.07); transition: background var(--ab-medio) var(--ab-curva), transform var(--ab-medio) var(--ab-curva-mola); }
.ab-guias__titulo { font-size: 16px; font-weight: 600; line-height: 1.38; letter-spacing: -0.01em; color: #f5f5f7; }
.ab-guias .ab-circulo-seta { flex: none; background: rgba(255, 255, 255, 0.08); color: #fff; }
.ab-guias a:hover { background: rgba(255, 255, 255, 0.1); transform: translateY(-2px); }
.ab-guias a:hover .ab-circulo-seta { background: var(--ab-dourado); color: var(--ab-ouro-texto); transform: translateX(3px); }
@media (max-width: 800px) { .ab-guias { grid-template-columns: 1fr; } }

.ab-quem { display: grid; grid-template-columns: 132px 1fr; gap: 40px; align-items: center; padding: clamp(28px, 5vw, 56px); border-radius: var(--ab-r-xl); background: var(--ab-cinza); }
.ab-quem__sigla, .ab-autor__sigla, .ab-avatar { display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--ab-grad-ouro); color: var(--ab-ouro-texto); font-family: var(--ab-fonte-titulo); font-weight: 700; letter-spacing: -0.02em; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 10px 24px rgba(195, 148, 72, 0.3); }
.ab-quem__sigla, .ab-autor__sigla, .ab-avatar { overflow: hidden; }
.ab-quem__foto, .ab-autor__foto, .ab-avatar__foto { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 24%; }
.ab-quem__sigla { width: 132px; height: 132px; font-size: 42px; }
.ab-quem__texto p { color: var(--ab-texto-2); line-height: 1.55; }
.ab-quem__texto .ab-secao__titulo { margin-bottom: 16px; font-size: clamp(26px, 3.2vw, 36px); }
.ab-quem .ab-btn--secundario { background: var(--ab-fundo); box-shadow: var(--ab-sombra-1); }
.ab-quem .ab-btn--secundario:hover { background: var(--ab-texto); color: #fff; }
.ab-quem__numeros { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 20px; padding: 0; list-style: none; }
.ab-quem__numeros li { display: inline-flex; align-items: baseline; gap: 6px; padding: 9px 14px; border-radius: var(--ab-r-sm); background: var(--ab-fundo); box-shadow: var(--ab-sombra-1); font-size: 13px; color: var(--ab-texto-2); }
.ab-quem__numeros strong { font-family: var(--ab-fonte-titulo); font-size: 18px; font-weight: 700; letter-spacing: -0.02em; color: var(--ab-dourado-escuro); }
.ab-quem__links { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 8px; }
@media (max-width: 640px) { .ab-quem { grid-template-columns: 1fr; gap: 22px; } .ab-quem__sigla { width: 84px; height: 84px; font-size: 28px; } }

.ab-faixa-contato { --ab-foco: var(--ab-dourado-claro); position: relative; padding: clamp(44px, 7vw, 88px) clamp(24px, 5vw, 64px); border-radius: var(--ab-r-xl); background: var(--ab-grad-grafite); color: #a1a1a6; text-align: center; overflow: hidden; isolation: isolate; }
.ab-faixa-contato__brilho { position: absolute; z-index: -1; left: 50%; bottom: -70%; width: 90%; aspect-ratio: 1; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(210, 172, 103, 0.32), transparent 62%); filter: blur(30px); }
.ab-faixa-contato__icone { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 22px; border-radius: 20px; background: rgba(255, 255, 255, 0.08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12); color: var(--ab-dourado-claro); }
.ab-faixa-contato__icone .ab-ico { width: 32px; height: 32px; }
.ab-faixa-contato h2 { font-size: clamp(30px, 4.4vw, 48px); letter-spacing: -0.035em; color: #fff; margin-bottom: 14px; }
.ab-faixa-contato p { margin: 0 auto; max-width: 520px; font-size: 19px; line-height: 1.45; }
.ab-faixa-contato__acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 32px; }
.ab-faixa-contato .ab-btn { min-height: 52px; padding: 0 28px; font-size: 16px; }

/* 7. Listagens ------------------------------------------------------------- */
.ab-listagem__topo { position: relative; padding: 44px 0 52px; background: linear-gradient(180deg, var(--ab-cinza) 0%, var(--ab-fundo) 100%); overflow: hidden; }
.ab-listagem__topo::before { content: ''; position: absolute; top: -220px; right: -120px; width: 520px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(210, 172, 103, 0.18), transparent 65%); pointer-events: none; }
.ab-listagem__topo > .ab-container { position: relative; }
.ab-listagem__titulo { font-size: clamp(34px, 5.2vw, 56px); font-weight: 700; line-height: 1.05; letter-spacing: -0.04em; max-width: 900px; text-wrap: balance; }
.ab-listagem__descricao { margin: 16px 0 0; max-width: 680px; font-size: clamp(17px, 1.8vw, 20px); line-height: 1.45; color: var(--ab-texto-2); }
.ab-listagem__contagem { display: inline-flex; margin: 18px 0 0; padding: 6px 14px; border-radius: var(--ab-r-pilula); background: rgba(210, 172, 103, 0.14); font-size: 13px; font-weight: 700; color: var(--ab-dourado-escuro); }
.ab-listagem__topo .ab-busca--resultados { margin-top: 28px; max-width: 920px; }
.ab-listagem { padding: 40px 0 var(--ab-secao); }
.ab-listagem__ferramentas { display: flex; flex-direction: column; gap: 18px; margin-bottom: 40px; }
.ab-listagem__ferramentas .ab-busca { max-width: 640px; }
.ab-listagem .ab-grade .ab-tile, .ab-resultados .ab-tile { box-shadow: 0 0 0 1px var(--ab-linha), var(--ab-sombra-1); }
.ab-vazio { padding: 40px 0; color: var(--ab-texto-2); }

.ab-resultados { display: flex; flex-direction: column; gap: 16px; max-width: 920px; }
.ab-sem-resultado { max-width: 680px; padding: clamp(24px, 4vw, 44px); border-radius: var(--ab-r-xl); background: var(--ab-cinza); }
.ab-sem-resultado__titulo { font-family: var(--ab-fonte-titulo); font-size: 26px; font-weight: 700; letter-spacing: -0.025em; }
.ab-sem-resultado ul { padding-left: 1.2em; color: var(--ab-texto-2); line-height: 1.7; }
.ab-sem-resultado .ab-atalhos a { background: var(--ab-fundo); }
.ab-sem-resultado__contato { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: 28px; padding: 22px 24px; border-radius: var(--ab-r-md); background: var(--ab-fundo); }
.ab-sem-resultado__contato p { margin: 0; font-weight: 600; }

/* 8. Artigo ---------------------------------------------------------------- */
.ab-artigo__topo { padding: 44px 0 36px; }
.ab-artigo__cabeca { max-width: 760px; }
.ab-rotulo { display: inline-flex; margin-bottom: 18px; padding: 6px 13px; border-radius: var(--ab-r-pilula); background: rgba(210, 172, 103, 0.15); font-size: 12px; font-weight: 700; letter-spacing: 0.01em; text-transform: uppercase; color: var(--ab-dourado-escuro); transition: background var(--ab-rapido) ease, color var(--ab-rapido) ease; }
a.ab-rotulo:hover { background: var(--ab-texto); color: #fff; }
.ab-artigo__titulo { font-size: clamp(32px, 5vw, 52px); font-weight: 700; line-height: 1.06; letter-spacing: -0.04em; text-wrap: balance; }
.ab-artigo__resumo { margin: 20px 0 0; font-size: clamp(18px, 2vw, 22px); line-height: 1.42; letter-spacing: -0.015em; color: var(--ab-texto-2); }
.ab-artigo__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 28px; font-size: 14px; color: var(--ab-texto-2); }
.ab-artigo__autor { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; color: var(--ab-texto); }
.ab-artigo__autor a { color: var(--ab-texto); }
.ab-artigo__autor a:hover { color: var(--ab-dourado-escuro); }
.ab-avatar { width: 38px; height: 38px; font-size: 14px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5); }
.ab-container--artigo { width: min(1072px, calc(100% - 2 * var(--ab-margem))); }
.ab-artigo__imagem { margin-top: 0; margin-bottom: 52px; }
@media (max-width: 1100px) { .ab-container--artigo { width: min(700px, calc(100% - 2 * var(--ab-margem))); } }
.ab-artigo__imagem img { width: 100%; height: auto; max-height: 580px; object-fit: cover; border-radius: var(--ab-r-lg); background: var(--ab-cinza); }
.ab-artigo__imagem figcaption { margin-top: 12px; font-size: 13px; color: var(--ab-texto-3); text-align: center; }

.ab-artigo__grade { display: grid; grid-template-columns: minmax(0, 700px) 300px; justify-content: center; gap: 72px; }
.ab-artigo__principal { min-width: 0; }
.ab-lateral__fixa { position: sticky; top: calc(var(--ab-cabecalho) + 28px); display: flex; flex-direction: column; gap: 16px; }
.admin-bar .ab-lateral__fixa { top: calc(var(--ab-cabecalho) + 60px); }
@media (max-width: 1100px) {
	.ab-artigo__grade { grid-template-columns: minmax(0, 700px); }
	.ab-sumario--lateral { display: none; }
	.ab-lateral__fixa { position: static; }
}
@media (min-width: 1101px) { .ab-sumario--topo { display: none; } }

/* Sumário */
.ab-sumario ol { margin: 0; padding: 0; list-style: none; }
.ab-sumario a { display: block; padding: 8px 12px; border-radius: var(--ab-r-xs); font-size: 14px; line-height: 1.4; color: var(--ab-texto-2); transition: background var(--ab-rapido) ease, color var(--ab-rapido) ease; }
.ab-sumario a:hover { color: var(--ab-texto); background: rgba(0, 0, 0, 0.04); }
.ab-sumario a.is-ativo { color: var(--ab-texto); font-weight: 600; background: var(--ab-fundo); box-shadow: var(--ab-sombra-1); }
.ab-sumario--lateral { max-height: calc(100vh - var(--ab-cabecalho) - 340px); overflow-y: auto; padding: 18px 10px 12px; border-radius: var(--ab-r-md); background: var(--ab-cinza); }
.ab-sumario__titulo { margin: 0 12px 8px; font-size: 12px; font-weight: 700; letter-spacing: 0.01em; text-transform: uppercase; color: var(--ab-texto-3); }
.ab-sumario--topo { margin-bottom: 36px; border-radius: var(--ab-r-md); background: var(--ab-cinza); overflow: hidden; }
.ab-sumario--topo summary { display: flex; align-items: center; gap: 10px; padding: 16px 20px; font-weight: 600; cursor: pointer; list-style: none; }
.ab-sumario--topo summary::-webkit-details-marker { display: none; }
.ab-sumario--topo summary .ab-ico { color: var(--ab-dourado-escuro); }
.ab-sumario__qtd { margin-left: auto; padding: 3px 10px; border-radius: var(--ab-r-pilula); background: var(--ab-fundo); font-size: 12px; font-weight: 600; color: var(--ab-texto-2); }
.ab-sumario--topo ol { padding: 0 8px 12px; }

.ab-lateral__cta { --ab-foco: var(--ab-dourado-claro); position: relative; padding: 26px 22px 22px; border-radius: var(--ab-r-md); background: var(--ab-grad-grafite); color: #a1a1a6; overflow: hidden; isolation: isolate; }
.ab-lateral__cta::before { content: ''; position: absolute; z-index: -1; top: -60%; right: -40%; width: 120%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(210, 172, 103, 0.3), transparent 62%); }
.ab-lateral__cta-titulo { margin: 0 0 18px; font-family: var(--ab-fonte-titulo); font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -0.015em; color: #fff; }
.ab-lateral__cta .ab-btn { width: 100%; padding: 0 16px; font-size: 14px; }
.ab-lateral__form { display: block; margin-top: 14px; text-align: center; font-size: 13px; font-weight: 500; color: #c7c7cc; text-decoration: underline; text-underline-offset: 3px; }
.ab-lateral__form:hover { color: #fff; }

/* Texto do artigo */
.ab-prosa { font-size: 18px; line-height: 1.65; letter-spacing: -0.012em; color: #1d1d1f; overflow-wrap: break-word; }
.ab-prosa > * { margin-top: 0; }
.ab-prosa p { margin: 0 0 1.25em; }
.ab-prosa h2 { margin: 1.9em 0 0.55em; font-size: clamp(25px, 3vw, 31px); font-weight: 700; line-height: 1.18; letter-spacing: -0.03em; color: var(--ab-texto); scroll-margin-top: calc(var(--ab-cabecalho) + 24px); }
.ab-prosa h3 { margin: 1.7em 0 0.5em; font-size: 21px; font-weight: 700; line-height: 1.3; letter-spacing: -0.02em; scroll-margin-top: calc(var(--ab-cabecalho) + 24px); }
.ab-prosa h4 { margin: 1.5em 0 0.5em; font-size: 18px; font-weight: 700; }
.ab-prosa a:not(.ab-btn):not(.wp-block-button__link) { color: var(--ab-dourado-escuro); text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: rgba(138, 106, 46, 0.35); text-underline-offset: 3px; transition: color var(--ab-rapido) ease, text-decoration-color var(--ab-rapido) ease; }
.ab-prosa a:not(.ab-btn):not(.wp-block-button__link):hover { color: var(--ab-texto); text-decoration-color: var(--ab-dourado); }
.ab-prosa strong { font-weight: 650; }
.ab-prosa ul, .ab-prosa ol { margin: 0 0 1.4em; padding-left: 1.3em; }
.ab-prosa li { margin-bottom: 0.5em; padding-left: 0.2em; }
.ab-prosa li::marker { color: var(--ab-dourado); font-weight: 700; }
.ab-prosa blockquote, .ab-prosa .wp-block-quote { margin: 2em 0; padding: 26px 30px; border: 0; border-radius: var(--ab-r-md); background: var(--ab-cinza); font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: -0.02em; color: var(--ab-texto); }
.ab-prosa blockquote p:last-child { margin-bottom: 0; }
.ab-prosa blockquote cite { display: block; margin-top: 12px; font-size: 14px; font-style: normal; font-weight: 600; color: var(--ab-texto-3); }
.ab-prosa figure { margin: 2em 0; }
.ab-prosa figure img, .ab-prosa > p > img, .ab-prosa .wp-block-image img { margin-inline: auto; border-radius: var(--ab-r-md); }
.ab-prosa figcaption, .ab-prosa .wp-element-caption { margin-top: 10px; font-size: 13px; color: var(--ab-texto-3); text-align: center; }
.ab-prosa .wp-block-table { overflow-x: auto; border-radius: var(--ab-r-sm); box-shadow: inset 0 0 0 1px var(--ab-linha-forte); }
.ab-prosa table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.ab-prosa th, .ab-prosa td { padding: 13px 16px; border-bottom: 1px solid var(--ab-linha); text-align: left; vertical-align: top; }
.ab-prosa thead th, .ab-prosa tr:first-child th { background: var(--ab-cinza); font-weight: 700; }
.ab-prosa tr:last-child td { border-bottom: 0; }
.ab-prosa .wp-block-embed { overflow: hidden; border-radius: var(--ab-r-md); }
.ab-prosa .wp-block-embed iframe, .ab-prosa iframe[src*="youtube"] { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: var(--ab-r-md); }
.ab-prosa hr, .ab-prosa .wp-block-separator { width: 64px; margin: 2.6em auto; border: 0; border-top: 2px solid var(--ab-linha-forte); border-radius: 2px; }
.ab-prosa .wp-block-spacer { max-height: 48px; }
.ab-prosa .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border-radius: var(--ab-r-pilula); background: var(--ab-grad-ouro); background-size: 220% 100%; color: var(--ab-ouro-texto); font-weight: 600; text-decoration: none; transition: background-position 0.6s var(--ab-curva), transform var(--ab-medio) var(--ab-curva-mola); }
.ab-prosa .wp-block-button__link:hover { background-position: 100% 0; transform: translateY(-2px); }
.ab-prosa audio { width: 100%; }
.ab-prosa pre { overflow-x: auto; padding: 18px; border-radius: var(--ab-r-sm); background: var(--ab-cinza); font-size: 14px; }
/* Perguntas frequentes do Spectra (171 artigos) */
.ab-prosa .uagb-faq__outer-wrap { margin: 2em 0; }
.ab-prosa .uagb-faq-item { margin-bottom: 10px !important; border: 0 !important; border-radius: var(--ab-r-md) !important; background: var(--ab-cinza) !important; overflow: hidden; transition: background var(--ab-medio) var(--ab-curva); }
.ab-prosa .uagb-faq-item:hover { background: var(--ab-cinza-2) !important; }
.ab-prosa .uagb-faq-questions-button { padding: 18px 22px !important; }
.ab-prosa .uagb-question { font-size: 17px !important; font-weight: 600 !important; letter-spacing: -0.015em; color: var(--ab-texto) !important; }
.ab-prosa .uagb-faq-content { padding: 0 22px 18px !important; }
.ab-prosa .uagb-faq-content p:last-child { margin-bottom: 0; }

.ab-tags { margin: 44px 0 0; }
.ab-tags a { font-size: 13px; padding: 7px 13px; }

.ab-compartilhar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 32px 0 0; }
.ab-compartilhar__rotulo { margin-right: 6px; font-size: 14px; font-weight: 600; color: var(--ab-texto-2); }
.ab-compartilhar a, .ab-compartilhar button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: var(--ab-cinza); color: var(--ab-texto); transition: background var(--ab-medio) var(--ab-curva), color var(--ab-medio) var(--ab-curva), transform var(--ab-medio) var(--ab-curva-mola); }
.ab-compartilhar .ab-ico { width: 19px; height: 19px; }
.ab-compartilhar a:hover, .ab-compartilhar button:hover { background: var(--ab-texto); color: #fff; transform: translateY(-2px); }
.ab-compartilhar__ok { position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); white-space: nowrap; font-size: 12px; font-weight: 600; color: #fff; background: var(--ab-texto); border-radius: var(--ab-r-pilula); padding: 0; }
.ab-compartilhar__ok:not(:empty) { padding: 5px 10px; animation: ab-abrir var(--ab-medio) var(--ab-curva-mola); }

.ab-autor { display: grid; grid-template-columns: 64px 1fr; gap: 20px; margin: 40px 0 0; padding: 26px; border-radius: var(--ab-r-md); background: var(--ab-cinza); }
.ab-autor__sigla { width: 64px; height: 64px; font-size: 22px; }
.ab-autor__rotulo { margin: 0 0 2px; font-size: 12px; font-weight: 700; letter-spacing: 0.01em; text-transform: uppercase; color: var(--ab-texto-3); }
.ab-autor__nome { margin: 0 0 8px; font-family: var(--ab-fonte-titulo); font-size: 20px; font-weight: 700; letter-spacing: -0.02em; }
.ab-autor__bio { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ab-texto-2); }

.ab-artigo__contato { margin-top: var(--ab-secao); padding: clamp(48px, 7vw, 88px) 0; background: var(--ab-cinza); }
.ab-artigo__contato-grade { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 48px; align-items: start; }
.ab-artigo__contato-titulo { margin: 0 0 12px; font-family: var(--ab-fonte-titulo); font-size: clamp(28px, 3.4vw, 38px); font-weight: 700; line-height: 1.1; letter-spacing: -0.035em; }
.ab-artigo__contato-grade > div > p { color: var(--ab-texto-2); }
.ab-artigo__contato .ab-form { padding: 30px; border-radius: var(--ab-r-lg); background: var(--ab-fundo); box-shadow: var(--ab-sombra-1); }
@media (max-width: 860px) { .ab-artigo__contato-grade { grid-template-columns: 1fr; } }

/* Comentários */
.ab-comentarios { margin: var(--ab-secao) 0; }
.ab-comentarios__titulo { margin-bottom: 24px; font-size: 30px; letter-spacing: -0.03em; }
.ab-comentarios__lista, .ab-comentarios__lista .children { margin: 0; padding: 0; list-style: none; }
.ab-comentarios__lista > li { margin-bottom: 12px; }
.ab-comentarios__lista .children { margin: 10px 0 0 20px; }
@media (max-width: 600px) { .ab-comentarios__lista .children { margin-left: 8px; } }
.ab-comentarios .comment-body { padding: 18px 20px; border-radius: var(--ab-r-md); background: var(--ab-cinza); font-size: 16px; line-height: 1.55; }
.ab-comentarios .children .comment-body { background: var(--ab-fundo); box-shadow: inset 0 0 0 1px var(--ab-linha); }
.ab-comentarios .children > li { margin-bottom: 10px; }
.ab-comentarios .comment-author { font-weight: 700; }
.ab-comentarios .comment-author .says { display: none; }
.ab-comentarios .comment-metadata { margin: 2px 0 10px; font-size: 13px; color: var(--ab-texto-3); }
.ab-comentarios .comment-content { overflow-wrap: anywhere; }
.ab-comentarios .comment-content p { margin-bottom: 0.7em; }
.ab-comentarios .bypostauthor > .comment-body .comment-author::after { content: 'Escritório'; margin-left: 8px; padding: 2px 9px; border-radius: var(--ab-r-pilula); font-size: 11px; font-weight: 700; background: var(--ab-grad-ouro); color: var(--ab-ouro-texto); vertical-align: 2px; }
.ab-comentarios .reply a { display: inline-flex; padding: 5px 12px; border-radius: var(--ab-r-pilula); background: rgba(0, 0, 0, 0.05); font-size: 13px; font-weight: 600; color: var(--ab-texto); transition: background var(--ab-rapido) ease, color var(--ab-rapido) ease; }
.ab-comentarios .reply a:hover { background: var(--ab-texto); color: #fff; }
.js .ab-comentarios__lista.is-recolhido > li:nth-child(n+16) { display: none; }
.ab-comentarios__mais { margin: 20px 0 0; text-align: center; }
.ab-comentarios .comment-navigation .nav-links { display: flex; justify-content: space-between; margin: 20px 0; font-size: 14px; font-weight: 600; }
.comment-respond { margin-top: 36px; padding: clamp(22px, 4vw, 34px); border-radius: var(--ab-r-lg); background: var(--ab-cinza); }
.comment-reply-title { margin-bottom: 10px; font-size: 24px; letter-spacing: -0.025em; }
.comment-reply-title small { margin-left: 10px; font-size: 14px; font-weight: 500; }
.comment-notes, .logged-in-as { font-size: 14px; color: var(--ab-texto-2); }
.comment-form label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { width: 100%; padding: 13px 16px; border: 0; border-radius: var(--ab-r-sm); background: var(--ab-fundo); box-shadow: inset 0 0 0 1px var(--ab-linha-forte); transition: box-shadow var(--ab-rapido) ease; }
.comment-form input:focus, .comment-form textarea:focus { outline: none; box-shadow: inset 0 0 0 1px #b8893f, 0 0 0 4px rgba(210, 172, 103, 0.25); }
.comment-form .comment-form-cookies-consent { display: flex; gap: 10px; align-items: flex-start; }
.comment-form .comment-form-cookies-consent label { font-weight: 400; font-size: 14px; }
.comment-form .form-submit input[type="submit"] { min-height: 48px; padding: 0 26px; border: 0; border-radius: var(--ab-r-pilula); background: var(--ab-grad-ouro); background-size: 220% 100%; color: var(--ab-ouro-texto); font-weight: 600; font-size: 15px; cursor: pointer; transition: background-position 0.6s var(--ab-curva), transform var(--ab-medio) var(--ab-curva-mola); }
.comment-form .form-submit input[type="submit"]:hover { background-position: 100% 0; transform: translateY(-2px); }
.comment-form .form-submit input[type="submit"]:disabled { opacity: 0.6; cursor: wait; transform: none; }

/* 9. Páginas, contato e ferramentas ---------------------------------------- */
.ab-pagina__conteudo { padding: 44px 0 var(--ab-secao); }
.ab-pagina--com-autor .ab-pagina__conteudo { padding-bottom: 16px; }
.ab-pagina__autor { padding-bottom: var(--ab-secao); }
.ab-pagina__autor .ab-autor { margin-top: 24px; }
.ab-elementor-botao { margin: 1.6em 0; }
.ab-elementor-item { display: flex; flex-direction: column; gap: 2px; margin: 0 0 12px; padding: 16px 20px; border-radius: var(--ab-r-sm); background: var(--ab-cinza); }

.ab-contato__grade { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 44px 0 var(--ab-secao); }
.ab-contato__canais { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-content: start; }
.ab-canal { display: flex; flex-direction: column; gap: 4px; padding: 24px; border-radius: var(--ab-r-md); background: var(--ab-cinza); transition: transform 0.5s var(--ab-curva-mola), box-shadow 0.5s var(--ab-curva), background var(--ab-medio) var(--ab-curva); }
.ab-canal:hover { background: var(--ab-fundo); transform: translateY(-3px); box-shadow: var(--ab-sombra-2); }
.ab-canal__icone { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: 12px; border-radius: 14px; background: var(--ab-fundo); color: var(--ab-dourado-escuro); box-shadow: var(--ab-sombra-1); }
.ab-canal__icone .ab-ico { width: 23px; height: 23px; }
.ab-canal__rotulo { font-size: 12px; font-weight: 700; letter-spacing: 0.01em; text-transform: uppercase; color: var(--ab-texto-3); }
.ab-canal__valor { font-size: 17px; font-weight: 600; line-height: 1.4; letter-spacing: -0.015em; overflow-wrap: normal; word-break: normal; }
.ab-canal[href^="mailto:"] .ab-canal__valor { overflow-wrap: anywhere; }
.ab-canal__acao { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 14px; font-weight: 600; color: var(--ab-dourado-escuro); }
.ab-canal__acao .ab-ico { width: 16px; height: 16px; transition: transform var(--ab-medio) var(--ab-curva-mola); }
.ab-canal:hover .ab-canal__acao .ab-ico { transform: translateX(4px); }
.ab-canal--principal { --ab-foco: var(--ab-dourado-claro); position: relative; grid-column: 1 / -1; background: var(--ab-grad-grafite); color: #fff; overflow: hidden; isolation: isolate; }
.ab-canal--principal::before { content: ''; position: absolute; z-index: -1; top: -80%; right: -20%; width: 80%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(52, 196, 110, 0.25), transparent 62%); }
.ab-canal--principal:hover { background: var(--ab-grad-grafite); }
.ab-canal--principal .ab-canal__icone { background: var(--ab-grad-whatsapp); color: #fff; box-shadow: 0 8px 20px rgba(18, 140, 74, 0.35); }
.ab-canal--principal .ab-canal__rotulo { color: #a1a1a6; }
.ab-canal--principal .ab-canal__valor { font-family: var(--ab-fonte-titulo); font-size: 30px; font-weight: 700; letter-spacing: -0.03em; }
.ab-canal--principal .ab-canal__acao { color: var(--ab-dourado-claro); }
.ab-canal--largo { grid-column: 1 / -1; }
.ab-contato__cliente { grid-column: 1 / -1; margin: 6px 0 0; padding: 16px 20px; border-radius: var(--ab-r-sm); background: rgba(210, 172, 103, 0.12); font-size: 14px; color: var(--ab-texto-2); }
.ab-contato__cliente a { color: var(--ab-dourado-escuro); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ab-contato__form .ab-form { padding: 32px; border-radius: var(--ab-r-lg); background: var(--ab-fundo); box-shadow: 0 0 0 1px var(--ab-linha), var(--ab-sombra-2); }
@media (max-width: 1040px) { .ab-contato__grade { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .ab-contato__canais { grid-template-columns: 1fr; } }

.ab-ferramenta-pagina__marca { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.ab-ferramenta-pagina__marca .ab-sobretitulo { margin: 0; }
.ab-ferramenta-pagina__meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; }
.ab-ferramenta-pagina__meta span { display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; border-radius: var(--ab-r-pilula); background: var(--ab-fundo); box-shadow: inset 0 0 0 1px var(--ab-linha); font-size: 13px; font-weight: 600; color: var(--ab-texto-2); }
.ab-ferramenta-pagina__meta .ab-ico { width: 16px; height: 16px; color: var(--ab-dourado-escuro); }
.ab-ferramenta-pagina .ab-ferramenta { margin-top: 8px; }
.ab-ferramenta-pagina__texto { max-width: var(--ab-largura-texto); padding: 32px 0 var(--ab-secao); }
.ab-filtro-ferramentas { max-width: 520px; margin-bottom: 32px; }
.ab-ferramentas-grade--diretorio > li[hidden] { display: none; }

/* Ferramentas: refinamento visual sobre a estrutura do plugin */
.ab-ferramenta { padding: clamp(22px, 4vw, 36px); border: 0; border-radius: var(--ab-r-xl); background: var(--ab-fundo); box-shadow: 0 0 0 1px var(--ab-linha), var(--ab-sombra-2); }
.ab-ferramenta .ab-campo label { font-size: 14px; font-weight: 600; }
.ab-ferramenta .ab-campo small { font-size: 13px; color: var(--ab-texto-2); }
.ab-ferramenta .ab-campo label span { color: var(--ab-texto-2); }
.ab-calc input, .ab-calc select, .ab-posse input[type="date"], .ab-posse__novo input { min-height: 50px; padding: 0 16px; border: 0; border-radius: var(--ab-r-sm); background: var(--ab-cinza); box-shadow: none; transition: box-shadow var(--ab-rapido) ease, background var(--ab-rapido) ease; }
.ab-calc input:focus, .ab-calc select:focus, .ab-posse input:focus { outline: none; background: var(--ab-fundo); box-shadow: inset 0 0 0 1px #b8893f, 0 0 0 4px rgba(210, 172, 103, 0.25); }
.ab-campo__moeda { border: 0; border-radius: var(--ab-r-sm); background: var(--ab-cinza); transition: box-shadow var(--ab-rapido) ease, background var(--ab-rapido) ease; }
.ab-campo__moeda:focus-within { background: var(--ab-fundo); box-shadow: inset 0 0 0 1px #b8893f, 0 0 0 4px rgba(210, 172, 103, 0.25); }
.ab-campo__moeda input, .ab-campo__moeda input:focus { background: transparent !important; box-shadow: none !important; }
.ab-calc select { -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%236e6e73'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 14px; padding-right: 40px; }
.ab-calc__resultado { margin-top: 26px; padding: clamp(22px, 4vw, 32px); border-radius: var(--ab-r-lg); background: var(--ab-grad-ouro-suave); }
.ab-calc__rotulo { font-size: 12px; font-weight: 700; letter-spacing: 0.01em; color: var(--ab-dourado-escuro); }
.ab-calc__valor { font-family: var(--ab-fonte-titulo); font-size: clamp(40px, 7vw, 60px); font-weight: 700; letter-spacing: -0.045em; color: var(--ab-texto); }
.ab-calc__detalhes > div { border-top: 1px solid rgba(138, 106, 46, 0.15); }
.ab-calc__detalhes dt { font-weight: 600; color: var(--ab-texto-2); }
.ab-calc__acao { border-top: 0; margin-top: 22px; padding: 20px 22px; border-radius: var(--ab-r-md); background: var(--ab-fundo); }
.ab-posse__prazos { border-bottom: 1px solid var(--ab-linha); }
.ab-posse__barra { height: 8px; border-radius: var(--ab-r-pilula); background: var(--ab-cinza-2); overflow: hidden; }
.ab-posse__barra span { border-radius: var(--ab-r-pilula); background: var(--ab-grad-ouro); transition: width 0.5s var(--ab-curva-mola); }
.ab-posse__progresso { padding: 4px 12px; border-radius: var(--ab-r-pilula); background: var(--ab-cinza); font-size: 13px; font-weight: 600; }
.ab-posse__grupo legend { font-size: 15px; font-weight: 700; letter-spacing: -0.01em; }
.ab-posse__grupo li { padding: 12px 14px; margin: 0 -14px; border: 0; border-radius: var(--ab-r-sm); transition: background var(--ab-rapido) ease; }
.ab-posse__grupo li:hover { background: var(--ab-cinza); }
.ab-posse__grupo input[type="checkbox"] { width: 22px; height: 22px; border-radius: 50%; accent-color: #b8893f; }
.ab-selo { vertical-align: 1px; }
.ab-posse .ab-selo { display: inline-flex; margin: 0 0 0 6px; padding: 2px 9px; border: 0; border-radius: var(--ab-r-pilula); background: rgba(210, 172, 103, 0.15); font-size: 11px; font-weight: 700; color: var(--ab-dourado-escuro); }
.ab-posse__novo input { flex: 1; }
.ab-posse__remover { width: 28px; height: 28px; border-radius: 50%; background: var(--ab-cinza-2) !important; font-size: 16px !important; }

/* Erro */
.ab-erro { padding: 64px 0; }
.ab-erro .ab-busca { margin-top: 26px; }
.ab-listagem .ab-chips { margin-bottom: 44px; }

/* 10. Plugin: chamada, formulário e aviso ---------------------------------- */
.ab-cta { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 22px; margin: 2.2em 0; padding: 22px 24px 22px 22px; border: 0; border-radius: var(--ab-r-md); background: var(--ab-grad-ouro-suave); box-shadow: inset 0 0 0 1px rgba(210, 172, 103, 0.25); }
.ab-cta::before { content: ''; flex: none; width: 52px; height: 52px; border-radius: 16px; background: var(--ab-grad-ouro); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 8px 18px rgba(195, 148, 72, 0.3); -webkit-mask: none; }
.ab-cta::after { content: ''; position: absolute; left: 35px; top: 50%; width: 26px; height: 26px; margin-top: -13px; background: var(--ab-ouro-texto); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128,24A104,104,0,0,0,36.18,176.88L24.83,210.93a16,16,0,0,0,20.24,20.24l34.05-11.35A104,104,0,1,0,128,24Zm0,192a87.87,87.87,0,0,1-44.06-11.81,8,8,0,0,0-6.54-.67L40,216,52.47,178.6a8,8,0,0,0-.66-6.54A88,88,0,1,1,128,216Zm12-88a12,12,0,1,1-12-12A12,12,0,0,1,140,128Zm-44,0a12,12,0,1,1-12-12A12,12,0,0,1,96,128Zm88,0a12,12,0,1,1-12-12A12,12,0,0,1,184,128Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128,24A104,104,0,0,0,36.18,176.88L24.83,210.93a16,16,0,0,0,20.24,20.24l34.05-11.35A104,104,0,1,0,128,24Zm0,192a87.87,87.87,0,0,1-44.06-11.81,8,8,0,0,0-6.54-.67L40,216,52.47,178.6a8,8,0,0,0-.66-6.54A88,88,0,1,1,128,216Zm12-88a12,12,0,1,1-12-12A12,12,0,0,1,140,128Zm-44,0a12,12,0,1,1-12-12A12,12,0,0,1,96,128Zm88,0a12,12,0,1,1-12-12A12,12,0,0,1,184,128Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.ab-cta__texto { flex: 1 1 240px; }
.ab-cta__titulo { margin: 0; font-family: var(--ab-fonte-titulo); font-size: 18px; font-weight: 700; line-height: 1.35; letter-spacing: -0.015em; color: var(--ab-texto); }
.ab-cta__apoio { margin: 4px 0 0 !important; font-size: 15px; line-height: 1.5; color: var(--ab-texto-2); }
.ab-cta .ab-btn { min-height: 46px; font-size: 14px; }
@media (max-width: 560px) {
	.ab-cta { padding: 20px; }
	.ab-cta::after { left: 33px; top: 33px; margin-top: 0; }
	.ab-cta .ab-btn { width: 100%; }
}
.ab-cta--final { --ab-foco: var(--ab-dourado-claro); margin-top: 40px; padding: 28px; background: var(--ab-grad-grafite); box-shadow: none; overflow: hidden; isolation: isolate; }
.ab-cta--final .ab-cta__titulo { color: #fff; font-size: 20px; }
.ab-cta--final .ab-cta__apoio { color: #a1a1a6; }
@media (max-width: 560px) { .ab-cta--final::after { left: 41px; top: 41px; } }
@media (min-width: 561px) { .ab-cta--final::after { left: 41px; } }
.ab-prosa .ab-cta p { margin: 0; }

.ab-form__titulo { margin: 0 0 6px; font-family: var(--ab-fonte-titulo); font-size: 24px; font-weight: 700; letter-spacing: -0.025em; }
.ab-form__texto { margin: 0 0 20px; font-size: 15px; color: var(--ab-texto-2); }
.ab-form__isca { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.ab-form .ab-campo { margin: 0 0 14px; }
.ab-form label, .ab-calc label { display: block; margin-bottom: 7px; font-size: 14px; font-weight: 600; }
.ab-form label span, .ab-calc label span { font-weight: 400; color: var(--ab-texto-3); }
.ab-form input[type="text"], .ab-form input[type="tel"], .ab-form select, .ab-form textarea {
	width: 100%;
	min-height: 50px;
	padding: 12px 16px;
	border: 0;
	border-radius: var(--ab-r-sm);
	background: var(--ab-cinza);
	transition: box-shadow var(--ab-rapido) ease, background var(--ab-rapido) ease;
}
.ab-form select { -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%236e6e73'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 14px; padding-right: 40px; }
.ab-form textarea { min-height: 112px; resize: vertical; }
.ab-form input:focus, .ab-form select:focus, .ab-form textarea:focus { outline: none; background: var(--ab-fundo); box-shadow: inset 0 0 0 1px #b8893f, 0 0 0 4px rgba(210, 172, 103, 0.25); }
.ab-form small { display: block; margin-top: 6px; font-size: 13px; color: var(--ab-texto-3); }
.ab-campo--check { display: flex; gap: 10px; align-items: flex-start; }
.ab-campo--check input { width: 20px; height: 20px; margin-top: 2px; flex: none; accent-color: #b8893f; }
.ab-campo--check label { font-weight: 400 !important; font-size: 14px !important; line-height: 1.5; color: var(--ab-texto-2); }
.ab-campo--check a { color: var(--ab-dourado-escuro); text-decoration: underline; }
.ab-form .ab-btn { width: 100%; min-height: 52px; font-size: 16px; }
.ab-form__aviso { padding: 16px 18px; margin: 0 0 16px; border: 0; border-radius: var(--ab-r-sm); font-size: 15px; }
.ab-form__aviso p:last-child { margin: 0; }
.ab-form__aviso--ok { background: #e9f6ee; color: #14532d; }
.ab-form__aviso--ok a { color: #14532d; font-weight: 600; text-decoration: underline; }
.ab-form__aviso--erro { background: #fdecea; color: #7f1d1d; }

.ab-privacidade {
	--ab-foco: var(--ab-dourado-claro);
	position: fixed;
	left: 20px;
	bottom: 20px;
	z-index: 65;
	display: flex;
	align-items: center;
	gap: 16px;
	max-width: 520px;
	padding: 14px 14px 14px 20px;
	border-radius: var(--ab-r-md);
	background: rgba(15, 20, 22, 0.88);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 20px 50px rgba(0, 0, 0, 0.3);
	color: #c7c7cc;
	font-size: 13px;
	line-height: 1.5;
	animation: ab-subir var(--ab-lento) var(--ab-curva-mola);
}
.ab-privacidade p { margin: 0; }
.ab-privacidade a { color: var(--ab-dourado-claro); text-decoration: underline; }
.ab-privacidade button { flex: none; min-height: 40px; padding: 0 18px; border: 0; border-radius: var(--ab-r-pilula); background: #fff; color: var(--ab-texto); font-weight: 600; font-size: 14px; transition: background var(--ab-rapido) ease, transform var(--ab-medio) var(--ab-curva-mola); }
.ab-privacidade button:hover { background: var(--ab-dourado-claro); }
.ab-privacidade button:active { transform: scale(0.96); }
.ab-privacidade[hidden] { display: none; }
@media (max-width: 640px) {
	.ab-privacidade { left: 12px; right: 90px; bottom: 14px; flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px 16px; }
	.ab-flutuante { right: 14px; bottom: 14px; }
}

/* 11. Movimento, acessibilidade e impressão -------------------------------- */
@keyframes ab-descer { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes ab-subir { from { opacity: 0; transform: translateY(16px) scale(0.98); } to { opacity: 1; transform: none; } }
@keyframes ab-abrir { from { opacity: 0; transform: translateY(-4px) scale(0.98); } to { opacity: 1; transform: none; } }
@keyframes ab-pulso { 0% { box-shadow: 0 0 0 0 rgba(52, 196, 110, 0.5); } 70% { box-shadow: 0 0 0 18px rgba(52, 196, 110, 0); } 100% { box-shadow: 0 0 0 0 rgba(52, 196, 110, 0); } }
@keyframes ab-deriva-1 { from { transform: translate(0, 0) scale(1); } to { transform: translate(-6%, 8%) scale(1.12); } }
@keyframes ab-deriva-2 { from { transform: translate(0, 0) scale(1); } to { transform: translate(10%, -6%) scale(1.08); } }
@keyframes ab-deriva-3 { from { transform: translate(0, 0) scale(0.95); } to { transform: translate(12%, 10%) scale(1.15); } }

/* Revelação ao rolar. Sem JavaScript, nada fica escondido. */
.js [data-revelar] { opacity: 0; transform: translateY(26px) scale(0.985); transition: opacity 0.9s var(--ab-curva-mola), transform 0.9s var(--ab-curva-mola), box-shadow 0.5s var(--ab-curva); }
.js [data-revelar].is-visivel { opacity: 1; transform: none; }
.js .ab-tile[data-revelar].is-visivel:hover { transform: translateY(-4px); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
	.js [data-revelar] { opacity: 1; transform: none; }
	.ab-hero__fundo span { animation: none; }
	.ab-btn:hover, .ab-tile:hover, .ab-assunto:hover, a.ab-ferramenta-cartao:hover, .ab-canal:hover, .ab-flutuante:hover, .ab-redes a:hover { transform: none; }
	.ab-tile:hover .ab-tile__midia img { transform: none; }
}

@media print {
	.ab-cabecalho, .ab-rodape, .ab-flutuante, .ab-privacidade, .ab-artigo__lateral, .ab-artigo__contato, .ab-compartilhar, .ab-comentarios, .ab-cta, .ab-sumario { display: none !important; }
	.ab-artigo__grade { display: block; }
	.ab-prosa { font-size: 11pt; }
	.js [data-revelar] { opacity: 1; transform: none; }
}

/* Mosaico: contagem maior no assunto principal */
@media (min-width: 900px) { .ab-assuntos > li:first-child .ab-assunto__rodape { font-size: 15px; color: var(--ab-dourado-escuro); } }


/* 12. Home em formato de portal --------------------------------------------- */
.ab-editorias { position: sticky; top: var(--ab-cabecalho); z-index: 90; background: rgba(255, 255, 255, 0.86); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); box-shadow: 0 1px 0 var(--ab-linha); }
.admin-bar .ab-editorias { top: calc(var(--ab-cabecalho) + 32px); }
.ab-editorias__barra { display: flex; align-items: center; gap: 18px; height: 56px; }
.ab-editorias__data { flex: none; margin: 0; padding-right: 18px; border-right: 1px solid var(--ab-linha); font-size: 13px; font-weight: 600; color: var(--ab-texto-2); white-space: nowrap; }
.ab-editorias__lista { display: flex; align-items: center; gap: 2px; flex: 1; min-width: 0; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent); mask-image: linear-gradient(90deg, #000 92%, transparent); }
.ab-editorias__lista::-webkit-scrollbar { display: none; }
.ab-editorias__lista a { display: inline-flex; padding: 7px 13px; border-radius: var(--ab-r-pilula); font-size: 14px; font-weight: 500; color: var(--ab-texto-2); white-space: nowrap; transition: background var(--ab-rapido) ease, color var(--ab-rapido) ease; }
.ab-editorias__lista a:hover { background: var(--ab-cinza); color: var(--ab-texto); }
.ab-editorias__lista a[aria-current="page"] { background: var(--ab-texto); color: #fff; }
.ab-busca--mini { flex: 0 0 250px; }
.ab-busca--mini .ab-busca__pilula { min-height: 38px; padding: 3px 3px 3px 14px; background: var(--ab-cinza); box-shadow: none; }
.ab-busca--mini .ab-busca__pilula:focus-within { background: var(--ab-fundo); box-shadow: inset 0 0 0 1px #b8893f, 0 0 0 3px rgba(210, 172, 103, 0.25); }
.ab-busca--mini .ab-busca__lupa { width: 16px; height: 16px; }
.ab-busca--mini .ab-busca__pilula input { height: 32px; font-size: 14px; }
.ab-busca--mini .ab-busca__botao { width: 32px; height: 32px; padding: 0; justify-content: center; }
.ab-busca--mini .ab-busca__botao span { display: none; }
.ab-busca--mini .ab-busca__botao .ab-ico { width: 15px; height: 15px; }
@media (min-width: 981px) and (max-width: 1380px) {
	.ab-editorias__data { display: none; }
	.ab-editorias__lista { -webkit-mask-image: none; mask-image: none; }
}
@media (max-width: 980px) {
	.ab-editorias__data, .ab-busca--mini { display: none; }
	.ab-editorias__barra { height: 52px; }
	.ab-editorias .ab-container { width: 100%; padding-left: var(--ab-margem); }
}

.ab-secao--portal { padding-top: clamp(24px, 4vw, 40px); }
.ab-manchete { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.ab-tile--manchete .ab-tile__midia { aspect-ratio: 16 / 9; }
.ab-tile--manchete .ab-tile__corpo { padding: 26px 30px 30px; }
.ab-tile--manchete .ab-tile__titulo { font-size: clamp(26px, 3.2vw, 40px); line-height: 1.08; letter-spacing: -0.035em; }
.ab-tile--manchete .ab-tile__resumo { font-size: 17px; line-height: 1.5; margin-top: 12px; }
.ab-manchete__lateral { padding: 22px 24px 24px; border-radius: 24px; background: var(--ab-fundo); box-shadow: var(--ab-sombra-1); }
.ab-rotulo-secao { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: 0.01em; text-transform: uppercase; color: var(--ab-texto); }
.ab-ponto-vivo { width: 8px; height: 8px; border-radius: 50%; background: #34c46e; box-shadow: 0 0 0 0 rgba(52, 196, 110, 0.6); animation: ab-pulso 2.4s var(--ab-curva) infinite; }
.ab-lista-recentes { margin: 0 0 18px; padding: 0; list-style: none; }
.ab-lista-recentes li { border-bottom: 1px solid var(--ab-linha); }
.ab-lista-recentes li:last-child { border-bottom: 0; }
.ab-lista-recentes a { display: flex; align-items: center; gap: 14px; padding: 14px 0; }
.ab-lista-recentes__texto { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.ab-lista-recentes__meta { font-size: 12px; font-weight: 600; color: var(--ab-dourado-escuro); }
.ab-lista-recentes__titulo { font-size: 16px; font-weight: 600; line-height: 1.32; letter-spacing: -0.015em; color: var(--ab-texto); transition: color var(--ab-rapido) ease; }
.ab-lista-recentes a:hover .ab-lista-recentes__titulo { color: var(--ab-dourado-escuro); }
.ab-lista-recentes__imagem { flex: none; width: 72px; height: 72px; border-radius: 14px; overflow: hidden; background: var(--ab-cinza-2); }
.ab-lista-recentes__imagem img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ab-curva); }
.ab-lista-recentes a:hover .ab-lista-recentes__imagem img { transform: scale(1.08); }
@media (max-width: 980px) {
	.ab-manchete { grid-template-columns: 1fr; gap: 16px; }
	.ab-tile--manchete .ab-tile__corpo { padding: 20px 22px 22px; }
	.ab-tile--manchete .ab-tile__resumo { font-size: 16px; }
}

.ab-secao--editoria { padding-bottom: clamp(48px, 7vw, 80px); }
.ab-secao--editoria + .ab-secao--editoria { padding-top: 0; }
.ab-editoria__topo { margin-bottom: 24px; padding-top: 4px; }
.ab-editoria__titulo { display: flex; align-items: center; gap: 14px; font-size: clamp(24px, 3vw, 32px); letter-spacing: -0.03em; }
.ab-editoria__titulo .ab-assunto__icone { width: 44px; height: 44px; margin: 0; border-radius: 13px; }
.ab-editoria__titulo .ab-assunto__icone .ab-ico { width: 23px; height: 23px; }
.ab-grade--editoria .ab-tile { box-shadow: 0 0 0 1px var(--ab-linha), var(--ab-sombra-1); }

/* Frase com link no meio do artigo: aparência de texto, não de anúncio */
.ab-prosa .ab-cta-texto { display: flex; gap: 12px; align-items: flex-start; margin: 1.6em 0 1.8em; padding: 2px 0 2px 16px; border-left: 2px solid var(--ab-dourado); color: var(--ab-texto); }
.ab-prosa .ab-cta-texto .ab-ico { width: 20px; height: 20px; margin-top: 4px; color: #128c4a; }
.ab-prosa .ab-cta-texto a { font-weight: 600; }
@media (max-width: 600px) { .ab-tile--manchete .ab-tile__resumo { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } }
.ab-manchete__contato { display: flex; gap: 10px; align-items: flex-start; margin: 18px 0 0; padding: 14px 16px; border-radius: var(--ab-r-sm); background: var(--ab-cinza); font-size: 14px; line-height: 1.45; color: var(--ab-texto-2); }
.ab-manchete__contato .ab-ico { width: 18px; height: 18px; margin-top: 1px; color: #128c4a; }
.ab-manchete__contato a { font-weight: 600; color: var(--ab-texto); text-decoration: underline; text-decoration-color: rgba(0, 0, 0, 0.2); text-underline-offset: 3px; }
.ab-manchete__contato a:hover { color: var(--ab-dourado-escuro); text-decoration-color: var(--ab-dourado); }

