/*
Theme Name: Palpite ao Vivo
Theme URI: https://palpiteaovivo.com.br
Author: Palpite ao Vivo
Description: Tema-filho do Twenty Twenty-Five para o portal de notícias de apostas Palpite ao Vivo. Identidade verde+laranja (modo claro), tipografia Oswald + Inter (self-host WOFF2), layout de revista. Os tokens de design vivem no theme.json; este arquivo guarda só o CSS bespoke (header sticky, wordmark, selo AO VIVO, widget de odds, caixa "Melhor palpite", chips de forma, faixa de compliance).
Template: twentytwentyfive
Version: 0.3.0
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: palpite-ao-vivo
*/

/* ===============================================================================
   Palpite ao Vivo — CSS bespoke
   A identidade base (cores, fontes, escala, layout) está em theme.json. Aqui ficam
   só os componentes-assinatura que o theme.json não expressa: header sticky/wordmark,
   selo AO VIVO com pulso, widget de odds, badge "Melhor palpite", chips de forma e a
   faixa de compliance. Tokens reaproveitam as CSS custom properties que o WordPress
   gera a partir da paleta (`--wp--preset--color--*`).
   =============================================================================== */

:root {
	--pav-ink:            var(--wp--preset--color--contrast);
	--pav-ink-soft:       var(--wp--preset--color--accent-5);
	--pav-paper:          var(--wp--preset--color--base);
	--pav-surface:        var(--wp--preset--color--accent-6);
	--pav-border:         var(--wp--preset--color--border);
	--pav-brand:          var(--wp--preset--color--accent-2);
	--pav-brand-ink:      var(--wp--preset--color--accent-1);
	--pav-brand-ink-hov:  #085737;
	--pav-energy:         var(--wp--preset--color--accent-3);
	--pav-live:           var(--wp--preset--color--accent-4);
	--pav-up:             var(--wp--preset--color--up);
	--pav-down:           var(--wp--preset--color--down);

	--pav-radius-btn: 9px;
	--pav-radius-tag: 6px;
	--pav-radius-card: 14px;
	--pav-radius-widget: 16px;
	--pav-shadow-widget: 0 6px 24px rgb(15 23 32 / 7%);
}

/* --- Acessibilidade: foco visível em todos os controles (WCAG AA) ------------ */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.wp-block-button__link:focus-visible,
.wp-element-button:focus-visible,
.wp-block-navigation-item__content:focus-visible {
	outline: 3px solid var(--pav-brand-ink);
	outline-offset: 2px;
	border-radius: 3px;
}

/* Números tabulares em odds, placares e tabelas — colunas alinham. */
.pav-tnum,
.pav-widget,
.pav-odd { font-feature-settings: "tnum" 1; font-variant-numeric: tabular-nums; }

/* --- Pulso AO VIVO ----------------------------------------------------------- */
@keyframes pav-pulse {
	0%   { box-shadow: 0 0 0 0   rgb(225 29 42 / 55%); }
	70%  { box-shadow: 0 0 0 7px rgb(225 29 42 / 0%); }
	100% { box-shadow: 0 0 0 0   rgb(225 29 42 / 0%); }
}
.pav-livedot {
	display: inline-block;
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: var(--pav-live);
	animation: pav-pulse 2s ease-out infinite;
	flex: 0 0 auto;
}
@media (prefers-reduced-motion: reduce) {
	.pav-livedot { animation: none !important; }
}

/* ===============================================================================
   HEADER (sticky) + micro-faixa de publicidade/operador
   =============================================================================== */
.pav-topbar {
	background: var(--pav-surface);
	border-bottom: 1px solid var(--pav-border);
	color: var(--pav-ink-soft);
	font-size: 0.75rem;
}
.pav-topbar a { color: var(--pav-ink-soft); }

.pav-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--pav-paper);
}

/* Links da nav — 0.9375rem peso 600 (modelo) */
.pav-header .wp-block-navigation-item__content,
.pav-header .wp-block-navigation-submenu__toggle {
	font-size: 0.9375rem;
	font-weight: 600;
}

/* Dropdown "Campeonatos" — cartão branco com borda/sombra do tema (abre no clique).
   A seta do toggle herda a cor do texto; os itens ganham hover de marca. */
.pav-header .wp-block-navigation__submenu-container {
	min-width: 210px;
	padding: 8px;
	background: var(--pav-paper);
	border: 1px solid var(--pav-border);
	border-radius: var(--pav-radius-card);
	box-shadow: var(--pav-shadow-widget);
}
.pav-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 8px 12px;
	border-radius: 8px;
}
.pav-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	color: var(--pav-brand-ink);
	background: var(--pav-surface);
}

/* Botão "Entrar" — variante compacta do header (modelo: 40px alto, padding 0 18, raio 8) */
.pav-login .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 18px;
	border-radius: 8px;
	font-size: 0.9375rem;
}

/* Wordmark "PALPITE·AO·VIVO" — separadores verdes + ponto de pulso ao vivo */
.pav-wordmark {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: Oswald, system-ui, sans-serif;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: var(--pav-ink);
	text-decoration: none;
}
.pav-wordmark:hover { color: var(--pav-ink); }
.pav-wordmark .pav-sep { color: var(--pav-brand); font-weight: 700; }
.pav-wordmark .pav-livedot { width: 11px; height: 11px; }

/* Chip "18+" de contorno (header) */
.pav-age {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 28px;
	font: 700 0.8125rem/1 Inter, sans-serif;
	color: var(--pav-ink);
	border: 1.5px solid var(--pav-ink);
	border-radius: var(--pav-radius-tag);
	padding: 0 8px;
}

/* Variante grande do rodapé (modelo: ~46×38, borda 2px, raio 8, 1.0625rem) */
.pav-age--lg {
	min-width: 46px;
	height: 38px;
	padding: 0 10px;
	border-width: 2px;
	border-radius: 8px;
	font-size: 1.0625rem;
}

/* ===============================================================================
   SELOS, TAGS, BADGES
   =============================================================================== */

/* Selo "AO VIVO" — vermelho, só para transmissão ao vivo */
.pav-live-seal {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: var(--pav-live);
	color: #fff;
	font: 700 0.75rem/1 Inter, sans-serif;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: var(--pav-radius-tag);
}
.pav-live-seal .pav-livedot { width: 8px; height: 8px; background: #fff; animation-name: pav-pulse; }
@media (prefers-reduced-motion: reduce) {
	.pav-live-seal .pav-livedot { animation: none !important; }
}

/* Tag de categoria — laranja-lance com texto tinta (branco reprova). O post-terms
   nativo é renderizado como TAG PREENCHIDA, nunca texto laranja: #FF5A1F como texto
   sobre branco reprova contraste (~3.1:1). */
.pav-tag,
.wp-block-post-terms {
	display: inline-block;
	width: fit-content;
	background: var(--pav-energy);
	color: var(--pav-ink);
	font: 700 0.75rem/1 Inter, sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: var(--pav-radius-tag);
}
.wp-block-post-terms a,
.wp-block-post-terms a:hover,
.wp-block-post-terms a:focus { color: var(--pav-ink); text-decoration: none; }

/* Badge "★ Melhor palpite" — pílula sóbria */
.pav-best {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--pav-surface);
	border: 1px solid var(--pav-border);
	color: var(--pav-brand-ink);
	font: 700 0.8125rem/1 Inter, sans-serif;
	padding: 6px 12px;
	border-radius: 999px;
}

/* Botão secundário / contorno */
.pav-btn-outline > .wp-block-button__link,
a.pav-btn-outline {
	background: transparent;
	color: var(--pav-brand-ink);
	border: 1.5px solid var(--pav-brand-ink);
	border-radius: var(--pav-radius-btn);
	font: 600 1rem Inter, sans-serif;
	padding: 11px 24px;
}
.pav-btn-outline > .wp-block-button__link:hover,
a.pav-btn-outline:hover { background: var(--pav-surface); color: var(--pav-brand-ink); }

/* ===============================================================================
   CHIPS DE FORMA  "V V V D V"
   =============================================================================== */
.pav-form { display: inline-flex; gap: 4px; }
.pav-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: var(--pav-radius-tag);
	font: 700 0.8125rem/1 Inter, sans-serif;
	color: #fff;
}
.pav-chip--v { background: var(--pav-up); }
.pav-chip--d { background: var(--pav-down); }
.pav-chip--e { background: var(--pav-ink-soft); }

/* ===============================================================================
   INDICADORES DE ODD  (cor sempre acompanhada de seta + rótulo)
   =============================================================================== */
.pav-odd { font-variant-numeric: tabular-nums; }
.pav-move { display: inline-flex; align-items: center; gap: 4px; font-size: 0.8125rem; font-weight: 700; }
.pav-move--up   { color: var(--pav-up); }
.pav-move--down { color: var(--pav-down); }
.pav-move--flat { color: var(--pav-ink-soft); font-weight: 600; }

/* ===============================================================================
   WIDGET DE ODDS AO VIVO  (elemento-assinatura)
   =============================================================================== */
.pav-widget {
	background: var(--pav-paper);
	border: 1px solid var(--pav-border);
	border-radius: var(--pav-radius-widget);
	box-shadow: var(--pav-shadow-widget);
	overflow: hidden;
	max-width: 440px;
}
.pav-widget__head {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px 22px 14px;
	border-bottom: 1px solid var(--pav-border);
}
.pav-widget__live { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pav-widget .pav-live-seal .pav-livedot { width: 7px; height: 7px; }
.pav-widget__minute { font: 600 0.8125rem Inter, sans-serif; color: var(--pav-ink-soft); }
.pav-widget__match { font: 600 1.25rem/1.15 Oswald, sans-serif; color: var(--pav-ink); margin: 0; }
.pav-widget__market { font: 500 0.875rem Inter, sans-serif; color: var(--pav-ink-soft); margin: 0; }

.pav-widget__rows { display: flex; flex-direction: column; gap: 10px; padding: 16px 22px; }
.pav-house {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	background: var(--pav-surface);
	border: 1px solid var(--pav-border);
	border-radius: 10px;
	padding: 12px 14px;
}
.pav-house__name { font: 600 0.9375rem Inter, sans-serif; color: var(--pav-ink); }
.pav-house__right { display: inline-flex; align-items: center; gap: 12px; }
.pav-house__odd {
	min-width: 54px;
	text-align: right;
	font: 700 1.25rem Inter, sans-serif;
	font-variant-numeric: tabular-nums;
	color: var(--pav-ink);
}

.pav-widget__return {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	margin: 0 22px 18px;
	padding: 14px 18px;
	background: var(--pav-brand-ink);
	border-radius: 12px;
	color: #fff;
}
.pav-widget__return-label {
	font: 600 0.75rem Inter, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: .8;
}
.pav-widget__return-value { font: 600 1.5rem Oswald, sans-serif; line-height: 1; font-variant-numeric: tabular-nums; }
.pav-widget__cta {
	background: #fff;
	color: var(--pav-brand-ink);
	font: 700 0.875rem Inter, sans-serif;
	padding: 9px 16px;
	border-radius: 8px;
	text-decoration: none;
	white-space: nowrap;
}
.pav-widget__cta:hover { background: var(--pav-surface); }
.pav-widget__foot {
	padding: 0 22px 18px;
	font: 400 0.75rem/1.5 Inter, sans-serif;
	color: var(--pav-ink-soft);
}

/* ===============================================================================
   CARD DE MATÉRIA (.pav-card) — usado no pattern e na grade "Últimas notícias"
   =============================================================================== */
.pav-card {
	display: flex;
	flex-direction: column;
	background: var(--pav-paper);
	border: 1px solid var(--pav-border);
	border-radius: var(--pav-radius-card);
	overflow: hidden;
}
.pav-card__media { position: relative; aspect-ratio: 16 / 9; background: var(--pav-surface); }
.pav-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pav-card__tag { position: absolute; top: 12px; left: 12px; }
.pav-card__body { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px; }
.pav-card__body > .pav-tag,
.pav-card__body > .pav-live-seal,
.pav-card__body > .pav-best { align-self: flex-start; }
.pav-card .pav-live-seal .pav-livedot { width: 6px; height: 6px; }
.pav-card__title { font: 600 1.375rem/1.2 Oswald, sans-serif; color: var(--pav-ink); margin: 0; text-wrap: pretty; }
.pav-card__title a { color: inherit; text-decoration: none; }
.pav-card__meta { font: 500 0.875rem Inter, sans-serif; color: var(--pav-ink-soft); }

/* A grade nativa do Query Loop herda a borda/raio de card pelo markup do template;
   garantimos que a foto preencha o topo arredondado. */
.wp-block-post-featured-image img { display: block; width: 100%; }

/* ===============================================================================
   ARTIGO — medida de leitura confortável já vem do layout (contentSize 680 ≈ 66ch)
   =============================================================================== */
.entry-content p,
.wp-block-post-content p { max-width: 66ch; }

/* ===============================================================================
   FAIXA DE COMPLIANCE / FOOTER  (fundo tinta, ≥10% da peça)
   =============================================================================== */
.pav-compliance .pav-wordmark { color: #fff; font-size: 1.0625rem; }
.pav-compliance .pav-wordmark:hover { color: #fff; }
.pav-compliance .pav-age { color: #fff; border-color: rgb(255 255 255 / 70%); }
.pav-compliance .pav-age--lg { border-color: #fff; }

/* Link inline da faixa (ex.: "Jogo Responsável") — segue verde, sem sublinhado;
   destacado do texto pela cor de link da faixa. No hover clareia (afford. correta
   sobre fundo escuro: ganha luminância/contraste, em vez de escurecer). */
.pav-compliance p a { text-decoration: none; transition: color 0.15s; }
.pav-compliance p a:hover { color: #2bd68c; }

/* Bloco institucional do rodapé — medida de leitura confortável; encolhe e quebra
   para a linha de baixo quando não há largura para as colunas de navegação. */
.pav-footer-about { flex: 1 1 320px; max-width: 46ch; }

/* Colunas de navegação do rodapé (Categorias / O site / Legal) — títulos verdes,
   links em cinza-claro sobre a tinta (sobrepõem o verde de link da faixa). */
.pav-footer-nav { display: flex; flex-wrap: wrap; gap: 28px 56px; }
.pav-footer-nav__col { display: flex; flex-direction: column; gap: 11px; }
.pav-footer-nav__title {
	margin: 0 0 5px;
	font: 600 0.75rem/1 Oswald, system-ui, sans-serif;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pav-brand);
}
.pav-footer-nav a {
	color: #cbd5e1;
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none;
}
.pav-footer-nav a:hover { color: #fff; }

/* ===============================================================================
   HOME — grade de revista (destaque de fixados, últimas, por campeonato)
   Renderizada pelos dynamic blocks `palpite-ao-vivo/*` (ver inc/home-render.php).
   =============================================================================== */

/* Container central — mesma largura do header/rodapé (wideSize 1120 + 24 de folga) */
.pav-wrap {
	max-width: calc(1120px + 48px);
	margin-inline: auto;
	padding-inline: 24px;
}

/* Link-card invisível: a peça inteira é clicável, o título reage ao hover. */
.pav-cardlink { display: block; text-decoration: none; color: inherit; }
.pav-cardlink:hover .pav-feature__title,
.pav-cardlink:hover .pav-card__title,
.pav-cardlink:hover .pav-arc-feature__title,
.pav-cardlink:hover .pav-mini__title { color: var(--pav-brand-ink); }

/* Tag de categoria — variante pequena (manchetes do trilho/cards) */
.pav-tag--sm { font-size: 0.625rem; padding: 3px 8px; letter-spacing: 0.06em; }

/* --- HERO: destaque grande (1.55fr) + trilho de manchetes (1fr) -------------- */
.pav-hero {
	display: grid;
	grid-template-columns: 1.55fr 1fr;
	gap: 36px;
	align-items: start;

	/* Só vertical: a margem lateral vem do .pav-wrap (padding-inline: 24px), igual
	   ao .pav-section. O atalho `padding` físico zerava as laterais e colava o
	   destaque nas bordas da tela no mobile. */
	padding-block: 36px 8px;
}

.pav-feature__media {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: var(--pav-radius-widget);
	overflow: hidden;
	background: var(--pav-surface);
}
.pav-feature__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pav-feature__tag { position: absolute; top: 16px; left: 16px; }
.pav-feature__body { padding-top: 18px; }
.pav-feature__title {
	font: 700 2.25rem/1.05 Oswald, system-ui, sans-serif;
	letter-spacing: 0.005em;
	margin: 0 0 12px;
	color: var(--pav-ink);
	text-wrap: pretty;
	transition: color 0.15s ease;
}
.pav-feature__dek {
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--pav-ink-soft);
	margin: 0 0 14px;
	max-width: 66ch;
}
.pav-feature__meta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

/* --- Trilho "Em alta agora" -------------------------------------------------- */
.pav-rail { display: flex; flex-direction: column; }
.pav-rail__kicker {
	font: 600 0.75rem/1 Oswald, system-ui, sans-serif;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--pav-brand-ink);
	margin: 0 0 16px;
}
.pav-mini {
	display: flex;
	gap: 14px;
	padding: 18px 0;
	border-bottom: 1px solid var(--pav-border);
}
.pav-mini:first-of-type { padding-top: 0; }
.pav-mini:last-of-type { padding-bottom: 0; border-bottom: 0; }
.pav-mini__thumb {
	flex: 0 0 96px;
	width: 96px;
	aspect-ratio: 1;
	border-radius: 10px;
	overflow: hidden;
	background: var(--pav-surface);
}
.pav-mini__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pav-mini__text { display: block; }
.pav-mini__tag { margin-bottom: 7px; }
.pav-mini__title {
	display: block;
	font: 600 1.125rem/1.18 Oswald, system-ui, sans-serif;
	color: var(--pav-ink);
	text-wrap: pretty;
	transition: color 0.15s ease;
}

/* --- Cabeçalho de seção (régua tinta + "Ver todas →") ------------------------ */
.pav-section { padding-top: 52px; }
.pav-section--lg { padding-top: 56px; }
.pav-secthead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	border-bottom: 2px solid var(--pav-ink);
	padding-bottom: 12px;
	margin-bottom: 24px;
}
.pav-secthead h2 {
	font: 600 1.75rem/1.1 Oswald, system-ui, sans-serif;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	margin: 0;
}
.pav-seclink {
	font: 600 0.875rem Inter, sans-serif;
	color: var(--pav-brand-ink);
	text-decoration: none;
	white-space: nowrap;
}
.pav-seclink:hover { color: var(--pav-brand-ink-hov); }

/* --- Grade "Últimas notícias" ------------------------------------------------ */
.pav-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 28px;
}
.pav-grid .pav-card__title { font-size: 1.1875rem; line-height: 1.16; }
.pav-grid .pav-card__body { gap: 8px; padding: 16px 18px; }
.pav-grid .pav-card__body p {
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--pav-ink-soft);
	margin: 0;
}
.pav-grid .pav-card__meta { font-size: 0.8125rem; }

/* --- "Por campeonato" — quadros por categoria -------------------------------- */
.pav-champs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 28px;
}
.pav-champ {
	background: var(--pav-surface);
	border: 1px solid var(--pav-border);
	border-radius: var(--pav-radius-card);
	padding: 22px 24px;
}
.pav-champ__head { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.pav-champ__bar {
	flex: 0 0 auto;
	width: 10px;
	height: 22px;
	border-radius: 3px;
	background: var(--pav-brand);
	display: inline-block;
}
.pav-champ__title {
	font: 700 1.25rem/1 Oswald, system-ui, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin: 0;
}
.pav-champ__item {
	display: block;
	font: 600 1.0625rem/1.22 Oswald, system-ui, sans-serif;
	color: var(--pav-ink);
	text-decoration: none;
	padding: 14px 0;
	border-bottom: 1px solid var(--pav-border);
	transition: color 0.15s ease;
}
.pav-champ__item:first-of-type { padding-top: 0; }
.pav-champ__item:last-of-type { padding-bottom: 0; border-bottom: 0; }
.pav-champ__item:hover { color: var(--pav-brand-ink); }

/* --- Faixa editorial (curadoria, fundo tinta) -------------------------------- */
.pav-section--editorial { padding-top: 56px; padding-bottom: 8px; }
.pav-editorial {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 28px;
	align-items: center;
	background: var(--pav-ink);
	border-radius: var(--pav-radius-widget);
	padding: 32px 36px;
	color: #fff;
}
.pav-editorial__text-col { max-width: 60ch; }
.pav-editorial__kicker {
	font: 600 0.75rem/1 Oswald, system-ui, sans-serif;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--pav-brand);
	margin: 0 0 10px;
}
.pav-editorial__title { font: 600 1.875rem/1.1 Oswald, system-ui, sans-serif; margin: 0 0 8px; }
.pav-editorial__text { font-size: 1rem; line-height: 1.55; color: #cbd5e1; margin: 0; }
.pav-editorial__cta {
	justify-self: end;
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 26px;
	background: var(--pav-brand);
	color: var(--pav-ink);
	font: 700 1rem Inter, sans-serif;
	border-radius: 10px;
	text-decoration: none;
	white-space: nowrap;
}
.pav-editorial__cta:hover { background: #00a25e; color: var(--pav-ink); }

/* --- Responsivo -------------------------------------------------------------- */
@media (width <= 880px) {
	.pav-hero { grid-template-columns: 1fr; gap: 28px; padding-top: 28px; }
	.pav-feature__title { font-size: 1.875rem; }
	.pav-editorial { grid-template-columns: 1fr; }
	.pav-editorial__cta { justify-self: start; }
}
@media (width <= 560px) {
	.pav-mini__thumb { flex-basis: 76px; width: 76px; }
	.pav-feature__title { font-size: 1.625rem; }
}

/* ===============================================================================
   ARQUIVO DE NOTÍCIAS (página de posts /noticias/)
   Reaproveita .pav-wrap/.pav-secthead/.pav-grid/.pav-card da home; só acrescenta o
   estado vazio e a paginação. Renderizado por palpite-ao-vivo/arquivo-noticias.
   =============================================================================== */
.pav-archive__empty {
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--pav-ink-soft);
	margin: 0;
}

.pav-pagination { margin-top: 36px; }
.pav-pagination ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}
.pav-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--pav-border);
	border-radius: var(--pav-radius-btn);
	background: var(--pav-paper);
	font: 600 0.9375rem/1 Inter, sans-serif;
	font-variant-numeric: tabular-nums;
	color: var(--pav-ink);
	text-decoration: none;
}
.pav-pagination button.page-numbers { cursor: pointer; appearance: none; }
a.page-numbers:hover,
.pav-pagination button.page-numbers:hover { border-color: var(--pav-brand-ink); color: var(--pav-brand-ink); }
.pav-pagination .page-numbers.current {
	background: var(--pav-brand-ink);
	border-color: var(--pav-brand-ink);
	color: #fff;
}
.pav-pagination .page-numbers.dots { border-color: transparent; background: transparent; }

/* ===============================================================================
   MATÉRIA — single post (módulos dirigidos por API)
   Renderizada pelos dynamic blocks `palpite-ao-vivo/*` (ver inc/single-render.php).
   O corpo usa a coluna de leitura padrão do tema (contentSize 680) — prosa e módulos
   compartilham a mesma medida. A prosa nativa é alvejada por `.wp-block-paragraph`
   (os parágrafos do core TÊM essa classe) e usa margens LÓGICAS (`margin-block`), que
   é como o WordPress controla o ritmo vertical do post_content — margens físicas não
   sobrescrevem as lógicas do core.
   =============================================================================== */

/* --- Cabeçalho da matéria ---------------------------------------------------- */
.pav-article__breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding-top: 24px;
	font: 500 0.8125rem Inter, sans-serif;
	color: var(--pav-ink-soft);
}
.pav-article__breadcrumb a { color: var(--pav-ink-soft); text-decoration: none; }
.pav-article__breadcrumb a:hover { color: var(--pav-brand-ink); }
.pav-article__breadcrumb [aria-current="page"] { color: var(--pav-ink); font-weight: 600; }
.pav-article__sep { color: var(--pav-ink-soft); }

.pav-article__kickers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 22px 0 16px;
}
.pav-article__kickers .pav-tag { text-decoration: none; }

.pav-article__title {
	font: 700 2.75rem/1.04 Oswald, system-ui, sans-serif;
	letter-spacing: 0.005em;
	margin: 0 0 16px;
	color: var(--pav-ink);
	text-wrap: pretty;
}

.pav-standfirst {
	font: 500 1.1875rem/1.5 Inter, sans-serif;
	color: var(--pav-ink-soft);
	margin: 0 0 22px;
}

.pav-byline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding: 16px 0;
	border-top: 1px solid var(--pav-border);
	border-bottom: 1px solid var(--pav-border);
}
.pav-byline__id { display: flex; align-items: center; gap: 12px; }
.pav-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	background: var(--pav-ink);
	color: #fff;
	font: 700 0.9375rem Oswald, system-ui, sans-serif;
	flex: 0 0 auto;
}
.pav-byline__text { font-size: 0.875rem; line-height: 1.35; }
.pav-byline__name { display: block; font-weight: 600; color: var(--pav-ink); }
.pav-byline__date { color: var(--pav-ink-soft); }
.pav-share { display: flex; gap: 8px; }
.pav-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--pav-border);
	background: var(--pav-paper);
	border-radius: var(--pav-radius-btn);
	color: var(--pav-ink-soft);
	font: 600 0.9375rem Inter, sans-serif;
	cursor: pointer;
}
.pav-share__btn:hover { color: var(--pav-ink); border-color: var(--pav-ink-soft); }

/* --- Foto de abertura -------------------------------------------------------- */
.pav-figure { margin-block: 24px 8px; }
.pav-figure__frame {
	aspect-ratio: 16 / 9;
	border-radius: var(--pav-radius-widget);
	overflow: hidden;
	background: var(--pav-surface);
}
.pav-figure__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pav-figcaption {
	font: 400 0.8125rem/1.4 Inter, sans-serif;
	color: var(--pav-ink-soft);
	margin-top: 8px;
}

/* --- Corpo (prosa nativa) ----------------------------------------------------
   IMPORTANTE: o WordPress controla o ritmo vertical do post_content com margens
   LÓGICAS (margin-block-start = gap no topo, margin-block-end = 0 embaixo) em
   `:where(.is-layout-*) > *`. Para vencê-las, as margens daqui também precisam ser
   LÓGICAS (`margin-block`) — `margin`/`margin-top` físicos não sobrescrevem as
   lógicas do core, por isso o espaçamento "invertia". E os parágrafos nativos
   vêm com a classe `.wp-block-paragraph` (não são sem-classe). ------------------ */
.pav-body { font-size: 1.0625rem; line-height: 1.68; color: #1e2a37; }

/* Anula o cap global de 66ch DENTRO da matéria: a prosa e os parágrafos de módulo
   (intro de "outras dicas"/retrospecto) preenchem a coluna. Sem isto, o layout
   constrained centraliza o <p> de 66ch na coluna de 680 → texto recuado. */
.pav-body p { max-width: none; }
.pav-body > p.wp-block-paragraph:not(.pav-source) { margin-block: 0 40px; }
.pav-body p a { color: var(--pav-brand-ink); font-weight: 600; }
.pav-body p strong { color: var(--pav-ink); font-weight: 700; }
.pav-body h2 {
	font: 600 1.75rem/1.15 Oswald, system-ui, sans-serif;
	letter-spacing: 0.01em;
	color: var(--pav-ink);
	margin-block: 8px 16px;
}
.pav-body blockquote,
.pav-body .wp-block-quote {
	margin-block: 8px 28px;
	padding: 16px 22px;
	border-left: 4px solid var(--pav-brand);
	background: var(--pav-surface);
	border-radius: 0 12px 12px 0;
}
.pav-body blockquote p {
	margin-block: 0;
	font: 500 1.25rem/1.3 Oswald, system-ui, sans-serif;
	color: var(--pav-ink);
}

/* Linha de fontes — parágrafo com className "pav-source". */
.pav-body .pav-source {
	font-size: 0.8125rem;
	color: var(--pav-ink-soft);
	border-top: 1px solid var(--pav-border);
	padding-top: 16px;
	margin-block: 8px 0;
	max-width: none;
}

/* --- Ficha do jogo ----------------------------------------------------------- */
.pav-ficha {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	background: var(--pav-surface);
	border: 1px solid var(--pav-border);
	border-radius: 12px;
	overflow: hidden;
	margin-block: 20px 28px;
}
.pav-ficha__cell { padding: 14px 18px; border-right: 1px solid var(--pav-border); }
.pav-ficha__cell:last-child { border-right: 0; }
.pav-ficha__label {
	margin: 0 0 3px;
	font: 600 0.6875rem/1 Inter, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--pav-ink-soft);
}
.pav-ficha__value {
	margin: 0;
	font: 600 0.9375rem Inter, sans-serif;
	color: var(--pav-ink);
	font-variant-numeric: tabular-nums;
}

/* --- Odds em destaque (widget): variante de largura cheia da matéria --------- */
.pav-widget--article { max-width: none; margin-block: 8px 28px; }
.pav-widget__head--split {
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}
.pav-widget__note {
	font: 500 0.75rem/1.35 Inter, sans-serif;
	color: var(--pav-ink-soft);
	text-align: right;
}
.pav-house--best { background: var(--pav-paper); border: 1.5px solid var(--pav-brand-ink); }
.pav-house:not(.pav-house--best) .pav-house__odd { color: var(--pav-ink-soft); }
.pav-house--link {
	color: inherit;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.pav-house--link:hover { border-color: var(--pav-brand-ink); box-shadow: var(--pav-shadow-widget); }
.pav-house--link:focus-visible { outline: 2px solid var(--pav-brand-ink); outline-offset: 2px; }
.pav-house__go { color: var(--pav-brand-ink); font: 700 1.125rem/1 Inter, sans-serif; }
.pav-house__badge {
	display: inline-block;
	margin-left: 8px;
	background: var(--pav-brand-ink);
	color: #fff;
	font: 700 0.625rem/1 Inter, sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 3px 7px;
	border-radius: 5px;
	vertical-align: middle;
}

/* --- Outras dicas ------------------------------------------------------------ */
.pav-dicas__intro {
	font-size: 0.9375rem;
	color: var(--pav-ink-soft);
	margin-block: -6px 16px;
}
.pav-dicas__intro strong { color: var(--pav-ink); }
.pav-dicas {
	list-style: none;
	padding: 0;
	margin-block: 0 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.pav-dica {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 18px;
	border: 1px solid var(--pav-border);
	border-radius: 12px;
}
.pav-dica--link {
	position: relative;
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.pav-dica--link:hover { border-color: var(--pav-brand-ink); box-shadow: var(--pav-shadow-widget); }
.pav-dica--link:focus-within { outline: 2px solid var(--pav-brand-ink); outline-offset: 2px; }
.pav-dica__stretch { color: inherit; text-decoration: none; }
.pav-dica__stretch::after { content: ""; position: absolute; inset: 0; border-radius: 12px; }
.pav-dica__go { color: var(--pav-brand-ink); font-weight: 700; }
.pav-dica__market { margin: 0; font: 600 1.0625rem/1.3 Inter, sans-serif; color: var(--pav-ink); }
.pav-dica__reason { margin: 4px 0 0; font: 400 0.9375rem/1.45 Inter, sans-serif; color: var(--pav-ink-soft); }
.pav-dica__odd { flex: 0 0 auto; text-align: right; }
.pav-dica__odd-label {
	display: block;
	margin-bottom: 3px;
	font: 600 0.6875rem/1 Inter, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--pav-ink-soft);
}
.pav-dica__odd-value { font: 700 1.25rem Inter, sans-serif; color: var(--pav-ink); font-variant-numeric: tabular-nums; }

/* --- Retrospecto recente ----------------------------------------------------- */
.pav-retro__intro { margin-block: 0 16px; }
.pav-retro { display: flex; flex-direction: column; gap: 12px; margin-block: 0 28px; }
.pav-retro__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 18px;
	border: 1px solid var(--pav-border);
	border-radius: 12px;
}
.pav-retro__team { font: 700 1.0625rem Oswald, system-ui, sans-serif; color: var(--pav-ink); }
.pav-retro__right { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }
.pav-retro__last { font: 600 0.875rem Inter, sans-serif; color: var(--pav-ink-soft); }

/* Run de selos: último jogo à frente, depois os antecedentes (V/E/D). */
.pav-retro__run { display: inline-flex; align-items: center; gap: 6px; }
.pav-retro__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 7px;
	font: 700 0.875rem/1 Inter, sans-serif;
	color: #fff;
	flex: 0 0 auto;
}
.pav-retro__badge--v { background: var(--pav-up); }
.pav-retro__badge--e { background: var(--pav-ink-soft); }
.pav-retro__badge--d { background: var(--pav-down); }

/* --- Leia também ------------------------------------------------------------- */
.pav-relacionadas { padding-top: 44px; }
.pav-relacionadas__title {
	font: 600 1.5rem Oswald, system-ui, sans-serif;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: var(--pav-ink);
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--pav-ink);
}
.pav-relacionadas__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px;
}
.pav-relacionada__media {
	display: block;
	aspect-ratio: 16 / 9;
	border-radius: 12px;
	overflow: hidden;
	background: var(--pav-surface);
	margin-bottom: 12px;
}
.pav-relacionada__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pav-relacionada .pav-tag--sm { margin-bottom: 8px; }
.pav-relacionada__title {
	font: 600 1.0625rem/1.18 Oswald, system-ui, sans-serif;
	color: var(--pav-ink);
	margin: 0;
	text-wrap: pretty;
	transition: color 0.15s ease;
}
.pav-cardlink:hover .pav-relacionada__title { color: var(--pav-brand-ink); }

/* --- Responsivo (matéria) ---------------------------------------------------- */
@media (width <= 680px) {
	.pav-article__title { font-size: 2.125rem; }
}
@media (width <= 560px) {
	.pav-article__title { font-size: 1.875rem; }
	.pav-dica { flex-direction: column; align-items: flex-start; gap: 10px; }
	.pav-dica__odd { text-align: left; }
	.pav-widget__head--split { flex-direction: column; }
	.pav-widget__note { text-align: left; }
}

/* ===============================================================================
   PÁGINAS INSTITUCIONAIS  (Sobre, Contato, Privacidade, Termos)
   Vocabulário compartilhado das páginas estáticas. As páginas de destino usam o
   template page-landing.html (sem título) e um pattern por página (/patterns/page-*).
   O conteúdo é editável no admin; o desenho vem destas classes. Espelhado no editor
   por add_editor_style(), então o preview no Gutenberg também sai fiel.
   =============================================================================== */

/* --- Página comum (page.html): título + prosa na coluna de leitura --------- */
.pav-page__title {
	font: 700 clamp(2.25rem, 4vw, 2.75rem)/1.05 Oswald, system-ui, sans-serif;
	letter-spacing: 0.005em;
	color: var(--pav-ink);
	margin-block: 40px 8px;
	text-wrap: pretty;
}

/* --- Eyebrow / kicker (acima dos H1/H2 das páginas) ------------------------ */
.pav-kicker {
	font: 600 0.8125rem/1 Oswald, system-ui, sans-serif;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--pav-brand-ink);
	margin: 0 0 14px;
}

/* --- Hero da página (kicker + H1 + lead), alinhado à esquerda -------------- */
.pav-page-hero { padding-block: 56px 8px; }
.pav-page-hero__title {
	font: 700 clamp(2.25rem, 4.5vw, 3.25rem)/1.03 Oswald, system-ui, sans-serif;
	letter-spacing: 0.005em;
	color: var(--pav-ink);
	margin: 0 0 20px;
	max-width: 880px;
	text-wrap: pretty;
}
.pav-lead {
	font-size: 1.1875rem;
	line-height: 1.6;
	color: var(--pav-ink);
	margin: 0 0 16px;
	max-width: 70ch;
}
.pav-lead--soft { font-size: 1.0625rem; line-height: 1.65; color: var(--pav-ink-soft); }
.pav-lead strong, .pav-lead--soft strong { color: var(--pav-ink); }

/* Container de leitura mais estreito (documentos legais: medida confortável) */
.pav-wrap--narrow { max-width: calc(880px + 48px); }

/* ===============================================================================
   ÍNDICE "TIMES E CAMPEONATOS" (page-explorar) — chips de termo (torneio/time).
   Reaproveita .pav-page-hero/.pav-secthead/.pav-champs/.pav-champ; só os chips e o
   estado vazio são novos. Os times ficam dentro dos quadros .pav-champ (superfície),
   por isso os chips são brancos (contraste); os torneios ficam no papel, por isso a
   pílula contornada continua legível.
   =============================================================================== */
.pav-termchips { display: flex; flex-wrap: wrap; gap: 10px; }

.pav-termchip {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	padding: 8px 14px;
	background: #fff;
	border: 1px solid var(--pav-border);
	border-radius: 999px;
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease;
}
.pav-termchip__name { font: 600 0.9375rem/1 Inter, sans-serif; color: var(--pav-ink); }
.pav-termchip__n {
	font: 600 0.75rem/1 Inter, sans-serif;
	color: var(--pav-ink-soft);
	font-feature-settings: "tnum" 1;
}
.pav-termchip:hover { border-color: var(--pav-ink); }
.pav-termchip:hover .pav-termchip__name { color: var(--pav-brand-ink); }

/* Chips maiores e em Oswald na seção "Campeonatos" (destino de navegação). */
.pav-termchips--lg .pav-termchip { padding: 11px 18px; }
.pav-termchips--lg .pav-termchip__name {
	font-family: Oswald, system-ui, sans-serif;
	font-size: 1.0625rem;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}

.pav-index-empty { font-size: 1.0625rem; color: var(--pav-ink-soft); margin: 0; }

/* --- Prosa institucional sóbria (Sobre): coluna de leitura, subtítulos simples,
   sem cards/bandas. Régua superior separa do hero (igual aos documentos legais). - */
.pav-prose { max-width: 680px; border-top: 1px solid var(--pav-border); padding-top: 36px; }
.pav-prose h2 {
	font: 600 1.5rem/1.2 Oswald, system-ui, sans-serif;
	letter-spacing: 0.01em;
	color: var(--pav-ink);
	margin: 38px 0 14px;
}
.pav-prose > h2:first-child { margin-top: 0; }
.pav-prose p { font-size: 1.0625rem; line-height: 1.7; color: var(--pav-ink); margin: 0 0 18px; }
.pav-prose p:last-child { margin-bottom: 0; }
.pav-prose a { color: var(--pav-brand-ink); font-weight: 600; }
.pav-prose strong { color: var(--pav-ink); }
.pav-prose ul { margin: 0 0 18px; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; }
.pav-prose li { font-size: 1.0625rem; line-height: 1.6; color: var(--pav-ink-soft); }
.pav-prose li strong { color: var(--pav-ink); }

/* --- Pílulas de meta (documentos legais: "Última atualização", "LGPD") ----- */
.pav-meta-chips { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; margin: 0 0 22px; }
.pav-pill {
	display: inline-flex;
	align-items: center;
	background: var(--pav-surface);
	border: 1px solid var(--pav-border);
	color: var(--pav-ink-soft);
	font: 600 0.8125rem/1 Inter, sans-serif;
	padding: 7px 13px;
	border-radius: 999px;
}

/* --- Seção genérica de página (ritmo vertical) ---------------------------- */
.pav-page-sec { padding-top: 56px; }

/* Os grids destas páginas são grupos de bloco (is-layout-flow), e o WP injeta
   margem vertical nos filhos via :where() (especificidade 0). Zeramos nos itens de
   grid — o espaçamento vem do gap. Especificidade > :where(), sem !important. */
.pav-cards > *,
.pav-principles > *,
.pav-rightsgrid > *,
.pav-meta-chips > *,
.pav-channels > *,
.pav-band__actions > * { margin-block: 0; }

/* --- Cartões informativos (Sobre · "O que nos diferencia") ----------------- */
.pav-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
}
.pav-infocard {
	background: var(--pav-surface);
	border: 1px solid var(--pav-border);
	border-radius: var(--pav-radius-card);
	padding: 28px 26px;
}
.pav-infocard__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 9px;
	background: var(--pav-ink);
	color: #fff;
	font: 700 1.25rem/1 Inter, sans-serif;
	margin-bottom: 18px;
}
.pav-infocard__icon--brand { background: var(--pav-brand); color: var(--pav-ink); }
.pav-infocard .pav-live-seal { margin-bottom: 18px; }
.pav-infocard__title { font: 600 1.375rem/1.15 Oswald, system-ui, sans-serif; color: var(--pav-ink); margin: 0 0 10px; }
.pav-infocard__text { font-size: 0.9375rem; line-height: 1.6; color: var(--pav-ink-soft); margin: 0; }

/* --- Faixa/band escura (princípios, comercial, DPO, isenção) --------------- */
.pav-band {
	background: var(--pav-ink);
	border-radius: 18px;
	padding: 48px 44px;
	color: #fff;
}
.pav-band--brand { background: var(--pav-brand-ink); }
.pav-band--sm { padding: 26px 28px; border-radius: 14px; }
.pav-band__kicker {
	font: 600 0.75rem/1 Oswald, system-ui, sans-serif;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--pav-brand);
	margin: 0 0 12px;
}
.pav-band--brand .pav-band__kicker { color: rgb(255 255 255 / 75%); }
.pav-band__title { font: 600 clamp(1.875rem, 3vw, 2.25rem)/1.08 Oswald, system-ui, sans-serif; color: #fff; margin: 0 0 16px; max-width: 24ch; }
.pav-band__text { font-size: 1rem; line-height: 1.6; color: #cbd5e1; margin: 0 0 8px; max-width: 64ch; }
.pav-band--brand .pav-band__text { color: rgb(255 255 255 / 88%); }
.pav-band__text:last-child { margin-bottom: 0; }
.pav-band__text strong { color: #fff; }

/* CTA verde-campo (banda escura) e ações */
.pav-band__split { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; }
.pav-band__actions { display: flex; flex-direction: column; gap: 10px; min-width: 240px; }
.pav-band__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 26px;
	border-radius: 10px;
	font: 700 1rem Inter, sans-serif;
	text-decoration: none;
	white-space: nowrap;
}
.pav-band--brand .pav-band__btn { background: #fff; color: var(--pav-brand-ink); }
.pav-band--brand .pav-band__btn:hover { background: var(--pav-surface); color: var(--pav-brand-ink); }
.pav-band--brand .pav-band__btn--ghost { background: transparent; color: #fff; border: 1.5px solid rgb(255 255 255 / 55%); }
.pav-band--brand .pav-band__btn--ghost:hover { background: rgb(255 255 255 / 8%); color: #fff; }
.pav-band .pav-band__btn--energy { background: var(--pav-brand); color: var(--pav-ink); }
.pav-band .pav-band__btn--energy:hover { background: #00a25e; color: var(--pav-ink); }

/* --- Princípios numerados (Sobre, dentro da band escura) ------------------- */
.pav-principles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 32px;
}
.pav-principle__num { font: 700 1.5rem/1 Oswald, system-ui, sans-serif; color: var(--pav-brand); margin: 0 0 8px; }
.pav-principle__title { font: 600 1.1875rem/1.2 Oswald, system-ui, sans-serif; color: #fff; margin: 0 0 8px; }
.pav-principle__text { font-size: 0.9375rem; line-height: 1.6; color: #cbd5e1; margin: 0; }

/* --- Split 2 colunas (Sobre "compromisso"; Contato form+canais) ------------ */
.pav-split { display: grid; grid-template-columns: 1fr 1.4fr; gap: 24px; align-items: stretch; }
.pav-split--contact { grid-template-columns: 1.5fr 1fr; align-items: start; }
.pav-splitcard {
	border: 1px solid var(--pav-border);
	border-radius: 16px;
	padding: 34px 32px;
}
.pav-splitcard--surface {
	background: var(--pav-surface);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
.pav-splitcard__title { font: 600 1.625rem/1.12 Oswald, system-ui, sans-serif; color: var(--pav-ink); margin: 0; }

/* --- Contato: canais diretos, redes, aviso -------------------------------- */
.pav-channels { display: flex; flex-direction: column; gap: 16px; }
.pav-channelbox {
	background: var(--pav-surface);
	border: 1px solid var(--pav-border);
	border-radius: 14px;
	padding: 24px;
}
.pav-channelbox__label {
	font: 600 0.6875rem/1 Inter, sans-serif;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pav-ink-soft);
	margin: 0 0 16px;
}
.pav-channel { padding-top: 16px; border-top: 1px solid var(--pav-border); }
.pav-channel:first-of-type { padding-top: 0; border-top: 0; }
.pav-channel__role { font: 600 0.8125rem Inter, sans-serif; color: var(--pav-ink-soft); margin: 0 0 3px; }
.pav-channel__value { font: 600 0.9375rem Inter, sans-serif; color: var(--pav-brand-ink); text-decoration: none; }
.pav-channel__value:hover { text-decoration: underline; }
.pav-sociallink {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 14px;
	background: var(--pav-paper);
	border: 1px solid var(--pav-border);
	border-radius: var(--pav-radius-btn);
	color: var(--pav-ink);
	font: 600 0.9375rem Inter, sans-serif;
	text-decoration: none;
	margin-bottom: 10px;
}
.pav-sociallink:last-child { margin-bottom: 0; }
.pav-sociallink:hover { border-color: var(--pav-brand-ink); }
.pav-sociallink span { color: var(--pav-ink-soft); font-weight: 500; font-size: 0.8125rem; }
.pav-note {
	border: 1px dashed var(--pav-ink-soft);
	border-radius: 14px;
	padding: 18px 20px;
	font-size: 0.8125rem;
	line-height: 1.55;
	color: var(--pav-ink-soft);
}
.pav-note p { margin: 0; }

/* Cartão do formulário de contato (recebe o shortcode do Fluent Forms) */
.pav-formcard { border: 1px solid var(--pav-border); border-radius: 16px; padding: 34px; }
.pav-formcard__placeholder {
	border: 1px dashed var(--pav-border);
	border-radius: 12px;
	padding: 28px;
	text-align: center;
	color: var(--pav-ink-soft);
	font-size: 0.9375rem;
	line-height: 1.6;
}

/* --- Documentos legais (Privacidade, Termos) ------------------------------ */
.pav-legal { counter-reset: pav-legal; max-width: 760px; border-top: 1px solid var(--pav-border); padding-top: 40px; }
.pav-legal__sec { counter-increment: pav-legal; padding-top: 44px; }
.pav-legal__sec:first-of-type { padding-top: 0; }
.pav-legal__sec > h2 {
	font: 600 1.625rem/1.15 Oswald, system-ui, sans-serif;
	letter-spacing: 0.01em;
	color: var(--pav-ink);
	margin: 0 0 14px;
}
.pav-legal__sec > h2::before {
	content: counter(pav-legal, decimal-leading-zero) "  ";
	color: var(--pav-brand-ink);
	font-weight: 600;
	margin-right: 6px;
}

/* Só os parágrafos de prosa (filhos diretos da seção) — não vaza para as faixas
   escuras (.pav-band) nem o callout aninhados, que têm cor própria. */
.pav-legal__sec > p { font-size: 1rem; line-height: 1.7; color: var(--pav-ink); max-width: none; }
.pav-legal__sec > p.pav-legal__soft { color: var(--pav-ink-soft); font-size: 0.9375rem; line-height: 1.65; }
.pav-legal ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 12px; }
.pav-legal li { font-size: 1rem; line-height: 1.65; color: var(--pav-ink-soft); }
.pav-legal li strong, .pav-legal__sec > p strong { color: var(--pav-ink); }
.pav-legal hr { border: 0; border-top: 1px solid var(--pav-border); margin: 36px 0 0; }

/* Tabela de definições (cookies) */
.pav-deftable { border: 1px solid var(--pav-border); border-radius: 12px; overflow: hidden; }
.pav-deftable__row { display: grid; grid-template-columns: 1fr 2fr; gap: 0; padding: 14px 18px; border-bottom: 1px solid var(--pav-border); }
.pav-deftable__row:last-child { border-bottom: 0; }
.pav-deftable__row--head { background: var(--pav-surface); }
.pav-deftable__row--head span {
	font: 600 0.6875rem/1 Inter, sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pav-ink-soft);
}
.pav-deftable__term { font: 700 0.9375rem Inter, sans-serif; color: var(--pav-ink); }
.pav-deftable__desc { font-size: 0.9375rem; line-height: 1.55; color: var(--pav-ink-soft); }

/* Grade de direitos do titular (LGPD) */
.pav-rightsgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pav-rightsgrid > div {
	background: var(--pav-surface);
	border: 1px solid var(--pav-border);
	border-radius: 10px;
	padding: 14px 16px;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--pav-ink-soft);
}
.pav-rightsgrid strong { color: var(--pav-ink); }

/* Callout 18+ (Termos §3) — superfície clara com selo */
.pav-callout {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	background: var(--pav-surface);
	border: 1px solid var(--pav-border);
	border-radius: 12px;
	padding: 22px 24px;
}
.pav-callout p { margin: 0; color: var(--pav-ink-soft); }

/* --- Responsivo (páginas institucionais) ---------------------------------- */
@media (width <= 880px) {
	.pav-split, .pav-split--contact, .pav-band__split { grid-template-columns: 1fr; }
	.pav-band__actions { min-width: 0; }
	.pav-band__split .pav-band__actions { flex-flow: row wrap; }
}
@media (width <= 560px) {
	.pav-band { padding: 32px 26px; }
	.pav-rightsgrid, .pav-deftable__row { grid-template-columns: 1fr; }
	.pav-deftable__row { gap: 4px; }
}

/* ===============================================================================
   NOSSOS ACERTOS (track-record) — KPIs, filtros, tabela, gráfico, placar
   Página dirigida pelo bloco palpite-ao-vivo/nossos-acertos (CPT pav_aposta).
   =============================================================================== */
.pav-acertos { padding-bottom: 8px; }
.pav-acertos__hero { padding-block: 48px 8px; }
.pav-acertos__title {
	font: 700 3rem/1.02 Oswald, system-ui, sans-serif;
	letter-spacing: 0.005em;
	margin: 0 0 14px;
	max-width: 20ch;
}

/* Rótulo mono reutilizável (KPIs, cabeçalho da tabela) */
.pav-kpi__label,
.pav-tabela__head span {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.6875rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pav-ink-soft);
	font-weight: 600;
}

/* --- Faixa de KPIs ----------------------------------------------------------- */
.pav-kpis {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	padding-top: 28px;
}
.pav-kpi {
	background: var(--pav-surface);
	border: 1px solid var(--pav-border);
	border-radius: var(--pav-radius-card);
	padding: 22px 24px;
}
.pav-kpi--dark { background: var(--pav-ink); border-color: var(--pav-ink); color: #fff; }
.pav-kpi--dark .pav-kpi__label { color: #94a3b8; }
.pav-kpi--dark .pav-kpi__sub { color: #cbd5e1; }
.pav-kpi__label { margin: 0 0 10px; }
.pav-kpi__value {
	font: 700 3rem/1 Oswald, system-ui, sans-serif;
	margin: 0;
	font-variant-numeric: tabular-nums;
}
.pav-kpi__value--sm { font-size: 1.625rem; font-weight: 600; line-height: 1.08; text-wrap: pretty; }
.pav-kpi__value--neg { color: var(--pav-live); }
.pav-kpi__pct { font-size: 1.5rem; color: var(--pav-brand); }
.pav-kpi__u { font-size: 1.25rem; color: var(--pav-ink-soft); font-weight: 600; }
.pav-kpi__sub { font-size: 0.8125rem; color: var(--pav-ink-soft); margin: 8px 0 0; }

/* --- Tabela de liquidados ---------------------------------------------------- */
.pav-tabela {
	border: 1px solid var(--pav-border);
	border-radius: var(--pav-radius-card);
	overflow: hidden;
}
.pav-tabela__head,
.pav-tabela__row {
	display: grid;
	grid-template-columns: 1.5fr 1.7fr 0.7fr 0.9fr 0.8fr;
	gap: 16px;
	padding: 14px 22px;
	align-items: center;
}
.pav-tabela__head { background: var(--pav-surface); border-bottom: 1px solid var(--pav-border); }
.pav-tabela__head .pav-tabela__r { text-align: right; }
.pav-tabela__row { padding: 16px 22px; border-bottom: 1px solid var(--pav-border); }
.pav-tabela__row:nth-child(even) { background: #fbfcfd; }

/* `display: grid` acima vence o [hidden] do UA — reforça o ocultar (paginação JS). */
.pav-tabela__row[hidden] { display: none; }
.pav-tabela__confronto { margin: 0; font-weight: 600; font-size: 0.9375rem; line-height: 1.25; text-wrap: pretty; }
.pav-tabela__confronto a { color: inherit; text-decoration: none; }
.pav-tabela__confronto a:hover { color: var(--pav-brand-ink); }
.pav-tabela__camp {
	display: inline-block;
	margin-top: 6px;
	padding: 3px 8px;
	background: var(--pav-energy);
	color: var(--pav-ink);
	font: 700 0.625rem Inter, sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 5px;
}
.pav-tabela__palpite { margin: 0; font-weight: 600; font-size: 0.9375rem; line-height: 1.25; color: var(--pav-brand-ink); }
.pav-tabela__mkt { margin: 3px 0 0; font-size: 0.8125rem; color: var(--pav-ink-soft); }
.pav-tabela__odd { text-align: right; font-size: 1.0625rem; font-variant-numeric: tabular-nums; }
.pav-tabela__data { text-align: right; font-size: 0.875rem; color: var(--pav-ink-soft); font-variant-numeric: tabular-nums; }
.pav-tabela__count { margin: 14px 2px 0; font-size: 0.8125rem; line-height: 1.5; color: var(--pav-ink-soft); }
.pav-tabela__count strong { color: var(--pav-ink); }

/* Pílula de resultado */
.pav-res {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 11px;
	border-radius: 999px;
	font: 700 0.8125rem Inter, sans-serif;
}
.pav-res--green { background: #e8f5ee; color: var(--pav-brand-ink); border: 1px solid var(--pav-brand); }
.pav-res--red { background: #fbe9e9; color: #b91c1c; border: 1px solid #dc2626; }
.pav-res--void { background: var(--pav-surface); color: var(--pav-ink-soft); border: 1px solid var(--pav-border); }

/* --- Gráfico de units por mês ------------------------------------------------ */
.pav-secthead--rule { align-items: baseline; }
.pav-secthead--rule span { font-size: 0.8125rem; font-weight: 400; color: var(--pav-ink-soft); text-transform: none; letter-spacing: 0; }
.pav-grafico {
	display: grid;
	grid-template-columns: repeat(var(--pav-cols, 6), 1fr);
	gap: 18px;
	align-items: end;
	height: 200px;
	padding: 28px;
	background: var(--pav-surface);
	border: 1px solid var(--pav-border);
	border-radius: var(--pav-radius-card);
}
.pav-grafico__col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 8px; height: 100%; }
.pav-grafico__val { font-size: 0.8125rem; font-weight: 700; color: var(--pav-brand-ink); font-variant-numeric: tabular-nums; }
.pav-grafico__val--neg { color: var(--pav-live); }
.pav-grafico__bar { width: 100%; max-width: 54px; background: var(--pav-brand); border-radius: 6px 6px 0 0; }
.pav-grafico__bar--neg { background: #e2c3c3; border: 1px solid #dc2626; }
.pav-grafico__lbl { font-size: 0.8125rem; font-weight: 600; color: var(--pav-ink-soft); }

/* --- "Como contamos" + aviso 18+ -------------------------------------------- */
.pav-comocontamos { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.pav-comocontamos__card {
	background: var(--pav-ink);
	color: #fff;
	border-radius: var(--pav-radius-widget);
	padding: 32px 34px;
}
.pav-comocontamos__card h2 { margin: 0 0 16px; font: 600 1.625rem/1.12 Oswald, system-ui, sans-serif; }
.pav-kicker--green { color: var(--pav-brand); }
.pav-comocontamos__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.pav-comocontamos__list li { display: flex; gap: 12px; font-size: 0.9375rem; line-height: 1.55; color: #cbd5e1; }
.pav-comocontamos__list strong { color: #fff; }
.pav-dot { flex: 0 0 auto; width: 7px; height: 7px; margin-top: 8px; border-radius: 50%; }
.pav-dot--green { background: var(--pav-brand); }
.pav-dot--red { background: #dc2626; }
.pav-dot--gray { background: #94a3b8; }
.pav-comocontamos__aviso {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 22px 26px;
	background: var(--pav-surface);
	border: 1px dashed var(--pav-border);
	border-radius: var(--pav-radius-card);
}
.pav-comocontamos__aviso p { margin: 0; font-size: 0.9375rem; line-height: 1.6; color: var(--pav-ink-soft); }
.pav-18 {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 36px;
	padding: 0 9px;
	border: 2px solid var(--pav-ink);
	border-radius: 8px;
	font: 700 0.9375rem Inter, sans-serif;
	color: var(--pav-ink);
}

/* ===============================================================================
   ARQUIVO DE SEGMENTO (categoria/Seção, torneio, time)
   Hero escuro + contador, chamada principal, grade 2-col + sidebar (card de
   eficácia do segmento + jogo responsável). Renderizado por palpite-ao-vivo/
   arquivo-termo (templates category.html, taxonomy-pav_torneio/time.html).
   =============================================================================== */
.pav-archive-termo { display: block; }

/* --- Hero escuro (faixa full-width, tinta) ----------------------------------- */
.pav-arc-hero { background: var(--pav-ink); color: #fff; }
.pav-arc-hero__inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
	flex-wrap: wrap;
	padding-block: 30px 34px;
}
.pav-arc-hero__text { max-width: 64ch; }
.pav-arc-hero__kicker {
	margin: 0 0 10px;
	font: 600 0.75rem/1 Oswald, system-ui, sans-serif;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--pav-brand);
}
.pav-arc-hero__title {
	margin: 0 0 14px;
	font: 700 clamp(2rem, 5.5vw, 3.25rem)/1 Oswald, system-ui, sans-serif;
	letter-spacing: 0.005em;
	text-transform: uppercase;
	text-wrap: pretty;
}
.pav-arc-hero__dot { color: var(--pav-brand); }
.pav-arc-hero__desc {
	margin: 0;
	font-size: 1.0625rem;
	line-height: 1.6;
	color: #cbd5e1;
	max-width: 64ch;
}
.pav-arc-hero__count { flex: none; text-align: right; }
.pav-arc-hero__num {
	display: block;
	font: 700 2.5rem/1 Oswald, system-ui, sans-serif;
	font-variant-numeric: tabular-nums;
}
.pav-arc-hero__unit {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #94a3b8;
}

/* --- Chamada principal (matéria de abertura, 1.5fr/1fr) ---------------------- */
.pav-arc-featuresec { padding-top: 32px; }
.pav-arc-feature {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 32px;
	align-items: center;
}
.pav-arc-feature__media {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: var(--pav-radius-widget);
	overflow: hidden;
	background: var(--pav-surface);
}
.pav-arc-feature__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pav-arc-feature__seal { position: absolute; top: 16px; left: 16px; }
.pav-arc-feature__chips { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.pav-arc-feature__title {
	margin: 0 0 12px;
	font: 700 2.125rem/1.06 Oswald, system-ui, sans-serif;
	letter-spacing: 0.005em;
	color: var(--pav-ink);
	text-wrap: pretty;
	transition: color 0.15s ease;
}
.pav-arc-feature__dek {
	margin: 0 0 14px;
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--pav-ink-soft);
	max-width: 60ch;
}

/* --- Grade 2-col + sidebar --------------------------------------------------- */
.pav-arc-layout {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 44px;
	align-items: start;
	padding-top: 44px;
}
.pav-arc-main { min-width: 0; }
.pav-arc-grid { grid-template-columns: repeat(2, 1fr); }
.pav-arc-side {
	display: flex;
	flex-direction: column;
	gap: 28px;
	position: sticky;
	top: 24px;
}

/* --- Card "Eficácia dos palpites" (segmento atual) --------------------------- */
.pav-efic {
	background: var(--pav-surface);
	border: 1px solid var(--pav-border);
	border-radius: var(--pav-radius-card);
	padding: 22px 24px;
}
.pav-efic__head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.pav-efic__bar {
	flex: 0 0 auto;
	width: 9px;
	height: 20px;
	border-radius: 3px;
	background: var(--pav-brand);
	display: inline-block;
}
.pav-efic__title {
	margin: 0;
	font: 700 1.125rem/1 Oswald, system-ui, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.pav-efic__scope { margin: 0 0 16px; font-size: 0.8125rem; color: var(--pav-ink-soft); }
.pav-efic__rate { display: flex; flex-direction: column; gap: 4px; margin-bottom: 4px; }
.pav-efic__pct {
	font: 700 2.75rem/1 Oswald, system-ui, sans-serif;
	color: var(--pav-ink);
	font-variant-numeric: tabular-nums;
}
.pav-efic__pctsign { font-size: 1.5rem; color: var(--pav-brand); }
.pav-efic__sub { font-size: 0.8125rem; color: var(--pav-ink-soft); }
.pav-efic__stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--pav-border);
}
.pav-efic__stat { display: flex; flex-direction: column; gap: 3px; }
.pav-efic__statval {
	font: 700 1.25rem/1 Oswald, system-ui, sans-serif;
	color: var(--pav-ink);
	font-variant-numeric: tabular-nums;
}
.pav-efic__statval--neg { color: var(--pav-live); }
.pav-efic__statlbl {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pav-ink-soft);
}
.pav-efic__micro { margin: 16px 0 14px; font-size: 0.75rem; color: var(--pav-ink-soft); }
.pav-efic__link {
	display: inline-block;
	font: 600 0.8125rem Inter, sans-serif;
	color: var(--pav-brand-ink);
	text-decoration: none;
}
.pav-efic__link:hover { color: var(--pav-brand-ink-hov); }

/* --- Card "Jogue com responsabilidade" (compacto) --------------------------- */
.pav-respo {
	border: 1px solid var(--pav-border);
	border-radius: var(--pav-radius-card);
	padding: 20px 22px;
}
.pav-respo__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.pav-respo__title { margin: 0; font: 600 1.0625rem/1.2 Oswald, system-ui, sans-serif; }
.pav-respo__text { margin: 0; font-size: 0.875rem; line-height: 1.55; color: var(--pav-ink-soft); }

/* --- Responsivo (arquivo de segmento) --------------------------------------- */
@media (width <= 880px) {
	.pav-arc-layout { grid-template-columns: 1fr; gap: 40px; padding-top: 40px; }
	.pav-arc-side { position: static; }
	.pav-arc-feature { grid-template-columns: 1fr; gap: 22px; }
}
@media (width <= 560px) {
	.pav-arc-grid { grid-template-columns: 1fr; }
	.pav-arc-feature__title { font-size: 1.625rem; }
	.pav-arc-hero__inner { flex-direction: column; align-items: flex-start; gap: 16px; }
	.pav-arc-hero__count { text-align: left; }
}

/* --- Selo agregado por matéria (cabeçalho do single) ------------------------ */
.pav-materia-selo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 11px;
	border-radius: 999px;
	background: #e8f5ee;
	color: var(--pav-brand-ink);
	border: 1px solid var(--pav-brand);
	font: 700 0.8125rem Inter, sans-serif;
}
.pav-materia-selo--neg { background: #fbe9e9; color: #b91c1c; border-color: #dc2626; }
.pav-materia-selo__u { font-weight: 600; font-variant-numeric: tabular-nums; }

/* --- Responsivo (track-record) ---------------------------------------------- */
@media (width <= 720px) {
	.pav-acertos__title { font-size: 2.25rem; }
	.pav-comocontamos { grid-template-columns: 1fr; }
	.pav-tabela__head { display: none; }
	.pav-tabela__row { grid-template-columns: 1fr auto; gap: 4px 12px; padding: 16px 18px; }
	.pav-tabela__jogo { grid-column: 1; grid-row: 1; }
	.pav-tabela__res { grid-column: 2; grid-row: 1; justify-self: end; }
	.pav-tabela__mercado { grid-column: 1 / -1; grid-row: 2; }
	.pav-tabela__odd { grid-column: 1; grid-row: 3; text-align: left; }
	.pav-tabela__data { grid-column: 2; grid-row: 3; justify-self: end; }
}
