/* ==========================================================================
   Milhasbot — folha consolidada (destino + home + review)
   Substitui mb-destino.css. Enfileirada via functions.php com filemtime().
   Cores herdam a paleta Blocksy (paleta navy aplicada em theme_mods_blocksy).
   ========================================================================== */

/* ---- Tokens GLOBAIS — site inteiro herda fonte/cor da marca (consistência) ---
   Antes só home/review/destino tinham; pilar/programa/ferramenta caíam na fonte
   padrão do Blocksy = "parecia outro site". Agora :root cobre tudo. ----------- */
:root {
	--mb-serif: 'Fraunces', Georgia, serif;
	--mb-sans:  'Schibsted Grotesk', 'Schibsted Fallback', 'Inter', 'Inter Fallback', system-ui, -apple-system, sans-serif;
	--mb-mono:  'JetBrains Mono', ui-monospace, monospace;
	--mb-brand:        var(--theme-palette-color-1, #2E6BB0);
	--mb-brand-strong: var(--theme-palette-color-2, #1E4F86);
	--mb-body:         var(--theme-palette-color-3, #2A3647);
	--mb-title:        var(--theme-palette-color-4, #14233A);
	--mb-border:       var(--theme-palette-color-5, #E2E8F0);
	--mb-bg:           var(--theme-palette-color-6, #F5F7FB);
	--mb-panel:        var(--theme-palette-color-7, #122139);
	--mb-soft:         var(--theme-palette-color-8, #EAF1FB);
}

/* ---- Tokens (nos wrappers de página) ------------------------------------ */
.mb-template-home,
.mb-template-review,
.mb-template-pilar,
.mb-template-destino {
	--mb-brand:        var(--theme-palette-color-1, #2E6BB0);
	--mb-brand-strong: var(--theme-palette-color-2, #1E4F86);
	--mb-body:         var(--theme-palette-color-3, #2A3647);
	--mb-title:        var(--theme-palette-color-4, #14233A);
	--mb-border:       var(--theme-palette-color-5, #E2E8F0);
	--mb-bg:           var(--theme-palette-color-6, #F5F7FB);
	--mb-panel:        var(--theme-palette-color-7, #122139);
	--mb-soft:         var(--theme-palette-color-8, #EAF1FB);

	--mb-verify:    #1D9E75;
	--mb-verify-bg: #E1F0E6;
	--mb-verify-tx: #0F6E56;
	--mb-danger:    #E24B4A;
	--mb-danger-tx: #A32D2D;
	--mb-accent:    #7FB0E6;
	--mb-on-dark:   #BCD0EC;
	--mb-chip:      #1D2F4C;

	--mb-serif: 'Fraunces', Georgia, serif;
	/* Body: Schibsted Grotesk (editorial grotesque) substitui Inter — 2026-05-28.
	   Inter mantida no stack como fallback durante a transição. */
	--mb-sans:  'Schibsted Grotesk', 'Schibsted Fallback', 'Inter', 'Inter Fallback', system-ui, -apple-system, sans-serif;
	--mb-mono:  'JetBrains Mono', ui-monospace, monospace;

	margin: 0 auto;
	font-family: var(--mb-sans);
	color: var(--mb-body);
}

/* CONTAINER WIDTH é DESACOPLADO de featured image — sempre 1140px (editorial wide-body).
 *
 * HISTÓRICO DO BUG (não repetir!): o template usava 760px por default e só virava
 * 1140px quando havia `_thumbnail_id` setado (via classe `.mb-template-destino--imagem`).
 * Isso quebrava TODA página nova até alguém adicionar featured image — bug
 * recorrente (Aruba ok, Amazônia quebrou, fix, África do Sul quebrou de novo).
 *
 * REGRA PERMANENTE: layout NUNCA deve depender de presença de asset.
 * Asset (featured image) controla APENAS o split do hero (`mb-destino-hero--split`),
 * não o container. */
.mb-template-destino,
.mb-template-review { max-width: 1140px; padding: 40px 22px 56px; }
/* Home: padding-top mínimo — magazine block já tem border-top como ancora visual.
   Reduz gap entre header (utility bar) e magazine block. */
.mb-template-home   { max-width: 1140px; padding: 4px 22px 56px; }

.mb-ico { vertical-align: -2px; flex-shrink: 0; }

/* ---- Eyebrow / título de seção ------------------------------------------ */
.mb-eyebrow {
	font-family: var(--mb-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mb-brand);
	margin: 0 0 12px;
}
.mb-eyebrow--light { color: var(--mb-accent); }

.mb-section-title {
	font-family: var(--mb-serif);
	font-weight: 400;
	color: var(--mb-title);
	font-size: clamp(20px, 3.2vw, 24px);
	line-height: 1.2;
	margin: 0 0 14px;
}

/* ---- Card de autor (EEAT, compartilhado) -------------------------------- */
.mb-autor {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #fff;
	border: 1px solid var(--mb-border);
	border-radius: 12px;
	padding: 14px 16px;
}
.mb-autor__avatar {
	width: 46px; height: 46px; flex-shrink: 0;
	border-radius: 50%;
	background: var(--mb-title);
	color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-size: 15px; font-weight: 500; letter-spacing: 0.02em;
}
.mb-autor__info { line-height: 1.45; }
.mb-autor__nome { margin: 0; font-size: 14px; color: var(--mb-title); }
.mb-autor__link { color: var(--mb-brand); }
.mb-autor__sub {
	margin: 2px 0 0; font-size: 13px; color: var(--mb-body);
	opacity: 0.72; display: flex; align-items: center; gap: 6px;
}
.mb-autor__sub .mb-ico { color: var(--mb-verify); }

/* Variante FOOTER — autor como signoff depois do conteúdo, antes da transparência.
   Conteúdo é mais importante que assinatura → autor "assina" no final. */
.mb-autor--footer {
	margin: 32px 0 20px;
}

/* Faixa única de verificação editorial no rodapé da página de destino.
   Substitui badges "verificado em DD/MM/YYYY" antes inline em cada card.
   UX: appears UMA vez por página com a data mais recente de qualquer item.
   Ver mb_render_page_verification_summary() em destino-bootstrap.php. */
.mb-page-verify {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: #F0F7FF;
	border: 1px solid #D4E5F7;
	border-left: 3px solid var(--mb-verify, #16A34A);
	border-radius: 8px;
	padding: 14px 18px;
	margin: 32px 0 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--mb-body);
}
.mb-page-verify__ico {
	color: var(--mb-verify, #16A34A);
	flex-shrink: 0;
	margin-top: 2px;
}
.mb-page-verify__texto strong {
	color: var(--mb-title);
	font-weight: 600;
}

/* Bloco "Outros guias de destino" — internal linking cluster builder.
   Renderiza no rodapé entre verificação e byline. Liquid Content: só aparece
   se houver outros destinos publicados (>0 results na query). */
.mb-related-destinos {
	margin: 40px 0 24px;
	padding-top: 32px;
	border-top: 1px solid var(--mb-border);
}
.mb-related-destinos__titulo {
	font-family: var(--mb-serif, var(--mb-sans));
	font-size: 22px;
	color: var(--mb-title);
	margin: 0 0 18px;
	font-weight: 600;
}
.mb-related-destinos__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}
.mb-related-destinos__card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid var(--mb-border);
	border-radius: 10px;
	color: var(--mb-body);
	text-decoration: none;
	transition: border-color 0.15s, transform 0.15s;
}
.mb-related-destinos__card:hover,
.mb-related-destinos__card:focus {
	border-color: var(--mb-brand);
	transform: translateY(-1px);
	text-decoration: none;
}
.mb-related-destinos__eyebrow {
	font-family: var(--mb-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mb-brand);
	font-weight: 600;
}
.mb-related-destinos__nome {
	font-family: var(--mb-serif, var(--mb-sans));
	font-size: 19px;
	color: var(--mb-title);
	margin: 0;
	font-weight: 600;
	line-height: 1.2;
}
.mb-related-destinos__intro {
	font-size: 13px;
	line-height: 1.5;
	color: var(--mb-body);
	opacity: 0.78;
	margin: 4px 0 8px;
}
.mb-related-destinos__cta {
	font-family: var(--mb-mono);
	font-size: 12px;
	color: var(--mb-brand);
	font-weight: 600;
	margin-top: auto;
}

/* ---- Corpo do artigo (compartilhado) ------------------------------------ */
.mb-corpo,
.mb-destino-corpo {
	font-size: 17px;
	line-height: 1.75;
	color: var(--mb-body);
}
.mb-corpo > *, .mb-destino-corpo > * { margin-top: 0; }
.mb-corpo p, .mb-destino-corpo p { margin: 0 0 20px; }

.mb-corpo a, .mb-destino-corpo a {
	color: var(--mb-brand);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}
.mb-corpo a:hover, .mb-destino-corpo a:hover {
	color: var(--mb-brand-strong);
	border-bottom-color: currentColor;
}
.mb-corpo h2, .mb-corpo .wp-block-heading, .mb-corpo .mb-section-title,
.mb-destino-corpo h2, .mb-destino-corpo .wp-block-heading, .mb-destino-corpo .mb-section-title {
	font-family: var(--mb-serif);
	font-weight: 400;
	color: var(--mb-title);
	font-size: clamp(21px, 3.2vw, 25px);
	line-height: 1.2;
	margin: 38px 0 14px;
}
.mb-corpo h3, .mb-destino-corpo h3 {
	font-family: var(--mb-sans);
	font-weight: 500;
	color: var(--mb-title);
	font-size: 18px;
	margin: 24px 0 8px;
}

/* TL;DR / resumo */
.mb-tldr {
	background: var(--mb-soft);
	border: 1px solid var(--mb-border);
	border-radius: 12px;
	padding: 20px 24px;
	margin: 0 0 30px;
}
.mb-tldr__titulo {
	font-family: var(--mb-mono);
	font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
	color: var(--mb-brand-strong); margin: 0 0 12px;
}
.mb-tldr__lista { margin: 0; padding-left: 20px; }
.mb-tldr__item { font-size: 15px; line-height: 1.6; margin-bottom: 8px; }
.mb-tldr__item:last-child { margin-bottom: 0; }

/* ---- Cards (bloco do the_content e home) -------------------------------- */
.mb-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	margin: 8px 0 30px;
}
.mb-card {
	background: #fff;
	border: 1px solid var(--mb-border);
	border-radius: 12px;
	padding: 18px;
	display: flex;
	flex-direction: column;
}
.mb-card-meta { display: flex; justify-content: flex-end; margin-bottom: 10px; }
/* NOTA: `.mb-card-date` (badge "verificado em DD/MM/YYYY" inline) removida
   em 2026-05-27 — agora aparece consolidada UMA vez por página via
   `.mb-page-verify`. CSS antigo permanece comentado caso queira reintroduzir. */
.mb-card-title {
	font-family: var(--mb-sans);
	font-weight: 500;
	color: var(--mb-title);
	font-size: 16px;
	margin: 0 0 6px;
}
.mb-card__endereco { font-size: 12px; color: var(--mb-body); opacity: 0.6; margin: 0 0 8px; }
.mb-card__nota, .mb-card__texto {
	font-size: 13px; line-height: 1.55; color: var(--mb-body); margin: 0 0 14px;
}
.mb-card-footer {
	display: flex; justify-content: space-between; align-items: center; gap: 10px;
	margin-top: auto; padding-top: 12px; border-top: 1px solid var(--mb-border);
}
.mb-muted {
	font-family: var(--mb-mono);
	font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase;
	color: var(--mb-brand);
}
.mb-card__check { font-size: 12px; color: var(--mb-verify-tx); display: inline-flex; align-items: center; gap: 4px; }
.mb-card__check::before {
	content: ""; width: 14px; height: 14px; border-radius: 50%;
	background: var(--mb-verify); display: inline-block; flex-shrink: 0;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center / 70% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center / 70% no-repeat;
}

/* Card como link (home) */
.mb-card--link { text-decoration: none; }
.mb-card--link:hover { border-color: var(--mb-brand); }
.mb-card--link .mb-card-title { margin: 6px 0 8px; line-height: 1.3; }
.mb-card__data { font-size: 12px; color: var(--mb-body); opacity: 0.6; margin-top: auto; }

/* ==========================================================================
   DESTINO
   ========================================================================== */
.mb-destino-hero { margin-bottom: 22px; }
.mb-destino-hero__eyebrow {
	font-family: var(--mb-mono); font-size: 12px; letter-spacing: 0.12em;
	text-transform: uppercase; color: var(--mb-brand); margin: 0 0 12px;
}
.mb-destino-hero__titulo {
	font-family: var(--mb-serif); font-weight: 400; color: var(--mb-title);
	font-size: clamp(28px, 4.4vw, 38px); line-height: 1.14; margin: 0 0 20px;
}

.mb-transparencia {
	display: flex; flex-wrap: wrap;
	background: var(--mb-soft); border: 1px solid var(--mb-border);
	border-radius: 12px; overflow: hidden; margin-bottom: 24px;
}
.mb-transparencia__item {
	flex: 1 1 180px; padding: 14px 18px;
	border-right: 1px solid var(--mb-border);
	text-decoration: none; transition: background 0.15s ease;
}
.mb-transparencia__item:last-child { border-right: 0; }
.mb-transparencia__item:hover { background: #fff; }
.mb-transparencia__rotulo { display: block; font-size: 12px; font-weight: 500; color: var(--mb-brand-strong); margin-bottom: 3px; }
.mb-transparencia__desc { display: block; font-size: 13px; color: var(--mb-title); }

.mb-painel {
	background: var(--mb-panel); color: #fff;
	border-radius: 12px; padding: 24px 26px; margin-bottom: 30px;
}
.mb-painel__head {
	font-family: var(--mb-mono); font-size: 12px; letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--mb-accent); margin-bottom: 18px;
}
.mb-painel__nums {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 22px; margin-bottom: 20px;
}
.mb-painel__label { display: block; font-size: 12px; color: var(--mb-on-dark); margin-bottom: 6px; }
.mb-painel__valor { display: block; font-family: var(--mb-mono); font-size: clamp(28px, 6vw, 34px); line-height: 1.06; color: #fff; }
/* "(por trecho…)" — unidade em fonte bem menor (sans, mutada) que o número grande. */
.mb-painel__unid { font-family: var(--mb-sans, sans-serif); font-size: 0.45em; font-weight: 400; color: var(--mb-on-dark, #9FB4D2); letter-spacing: 0; }

/* ===== RADAR DE MILHAS (home) — o diferencial: menores emissões observadas =====
   Banda no herói, após o H1, antes da grade de destinos. O NÚMERO de milhas é o
   herói visual (é o "menores valores"). Auto dos dados (Liquid). */
.mb-radar { margin: 6px 0 38px; padding: 22px 0 0; border-top: 2px solid var(--mb-gold, #B08A3E); }
.mb-radar__eyebrow { font-family: var(--mb-mono, monospace); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mb-gold, #B08A3E); margin: 0 0 6px; }
.mb-radar__titulo { font-family: var(--mb-serif, Georgia, serif); font-size: clamp(22px, 4vw, 30px); font-weight: 600; line-height: 1.12; color: var(--mb-ink, #0E1B2E); margin: 0 0 7px; letter-spacing: -0.01em; }
.mb-radar__dek { font-family: var(--mb-sans, sans-serif); font-size: 13.5px; line-height: 1.5; color: var(--mb-body, #2A3647); margin: 0 0 18px; max-width: 760px; }
/* 4 colunas fixas: 8 cards = 4+4 (2 linhas cheias). auto-fit dava 5 col → 5+3 com
   2 buracos à direita na 2ª linha ("não vai até o fim"). O build trava a contagem
   num múltiplo de 4 pra a última linha nunca ficar quebrada. */
.mb-radar__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.mb-radar__card { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; background: #fff; border: 1px solid var(--mb-border, #E2E8F0); border-radius: 12px; text-decoration: none; transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease; }
.mb-radar__card:hover { border-color: var(--mb-gold, #B08A3E); transform: translateY(-2px); box-shadow: 0 6px 18px rgba(14,27,46,0.08); }
.mb-radar__dest { font-family: var(--mb-sans, sans-serif); font-size: 14px; font-weight: 600; color: var(--mb-ink, #0E1B2E); }
.mb-radar__pts { font-family: var(--mb-mono, monospace); font-size: 26px; line-height: 1.05; color: var(--mb-brand-strong, #1E4F86); margin: 1px 0; }
.mb-radar__prog { font-family: var(--mb-sans, sans-serif); font-size: 11.5px; color: var(--mb-body, #5A6B82); }
.mb-radar__intl { color: var(--mb-gold, #B08A3E); font-weight: 600; }
.mb-radar__cta { display: inline-block; font-family: var(--mb-mono, monospace); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--mb-brand, #2E6BB0); text-decoration: none; font-weight: 600; }
.mb-radar__cta:hover { text-decoration: underline; }
@media (max-width: 720px) { .mb-radar__grid { grid-template-columns: 1fr 1fr; gap: 9px; } .mb-radar__pts { font-size: 23px; } }

/* Badge de milhas no card de destino (/destinos/ e grades) — "a partir de Xk · prog".
   Menor emissão econômica observada (12m). O número é o destaque. */
.mb-card-milhas { margin: 9px 0 0; padding-top: 9px; border-top: 1px solid var(--mb-border, #E2E8F0); display: flex; align-items: baseline; gap: 5px; flex-wrap: wrap; }
.mb-card-milhas__lbl { font-family: var(--mb-mono, monospace); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--mb-muted, #8A97A8); }
.mb-card-milhas__pts { font-family: var(--mb-mono, monospace); font-size: 16px; font-weight: 700; line-height: 1; color: var(--mb-brand-strong, #1E4F86); }
.mb-card-milhas__prog { font-family: var(--mb-sans, sans-serif); font-size: 12px; color: var(--mb-body, #2A3647); }

/* Footer do radar: conecta o DADO (menores emissões) ao MÉTODO (ferramentas que
   analisamos — seats.aero etc.). Diferencial + internal linking. */
.mb-radar__foot { display: flex; flex-direction: column; gap: 9px; }
.mb-radar__tools { font-family: var(--mb-sans, sans-serif); font-size: 13px; line-height: 1.5; color: var(--mb-body, #2A3647); margin: 0; max-width: 760px; }
.mb-radar__tools strong { color: var(--mb-ink, #0E1B2E); }
.mb-radar__tools a { color: var(--mb-brand, #2E6BB0); font-weight: 600; }
.mb-radar__tools a:hover { text-decoration: underline; }
.mb-painel__chips {
	display: flex; flex-wrap: wrap; gap: 8px;
	border-top: 1px solid rgba(255,255,255,0.12); padding-top: 16px;
}
.mb-chip { font-size: 12px; background: var(--mb-chip); color: var(--mb-on-dark); padding: 5px 11px; border-radius: 6px; white-space: nowrap; }

/* Menor emissão econômica por TIPO de programa (nacional vs internacional) no painel
   de voo. Ensina a otimização (programa de fora costuma ser sweet spot). Compacto,
   1 linha de rótulo + itens. Auto dos dados observados (Liquid). */
.mb-painel__menor {
	display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 26px;
	border-top: 1px solid rgba(255,255,255,0.12);
	padding-top: 14px; margin-bottom: 18px;
}
.mb-painel__menor-lbl {
	width: 100%; font-family: var(--mb-mono); font-size: 11px;
	letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--mb-on-dark, #9FB4D2); margin-bottom: 4px;
}
.mb-painel__menor-item { font-size: 15px; color: #fff; }
.mb-painel__menor-tag {
	font-size: 11px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
	color: #CFA24E; margin-right: 5px;
}
.mb-painel__menor-val { font-family: var(--mb-mono); color: #fff; }
.mb-painel__menor-sub { font-size: 12.5px; color: var(--mb-on-dark, #9FB4D2); }

/* "Melhor época para ir" — movida do chip do painel para o fluxo do texto
   (entre o painel e o corpo). Nota editorial leve sobre superfície clara. */
.mb-melhor-epoca {
	font-family: var(--mb-sans, sans-serif); font-size: 14.5px; line-height: 1.55;
	color: var(--mb-body, #2A3647); margin: 0 0 24px;
}
.mb-melhor-epoca__lbl {
	font-family: var(--mb-mono, monospace); font-size: 11px; letter-spacing: 0.08em;
	text-transform: uppercase; color: var(--mb-brand-strong, #1E4F86); margin-right: 8px;
}

/* ==========================================================================
   HOME
   ========================================================================== */

/* Esconder Blocksy auto page-title na home — temos nosso próprio hero (mb-home-hero).
 * Sem isso a home tem 2 H1s (Blocksy "Home" + nosso "Viajar mais. E melhor.") — bug SEO.
 * Achado pelo searchfit-seo audit (2026-05-27).
 * Mantém display:none + aria-hidden no PHP idealmente, mas CSS-only é defensive net. */
body.home .page-title,
body.page-id-2 .page-title,
body.home .ct-hero-section,
body.page-id-2 .ct-hero-section,
body.mb-ranking-page .page-title,
body.mb-ranking-page .ct-hero-section,
body.mb-ranking-page .entry-header,
body.single-ferramenta .page-title,
body.single-ferramenta .ct-hero-section,
body.single-ferramenta .entry-header,
body.single-programa .page-title,
body.single-programa .ct-hero-section,
body.single-programa .entry-header,
body.mb-tools-hub-page .page-title,
body.mb-tools-hub-page .ct-hero-section,
body.mb-tools-hub-page .entry-header,
body.page-id-3297 .page-title,
body.page-id-3297 .ct-hero-section,
body.page-id-3297 .entry-header {
	display: none !important;
}

/* CPT ferramenta (calculadora, bonus-ativos, buscadores) renderiza com fundo
   navy escuro por default do tema → título/tabela (texto escuro) ficavam
   invisíveis. Força fundo claro como nas pages. Fix 2026-05-28. */
body.single-ferramenta,
body.single-ferramenta .site-main,
body.single-ferramenta .ct-container-full,
body.single-ferramenta .entry-content,
body.single-programa,
body.single-programa .site-main,
body.single-programa .ct-container-full,
body.single-programa .entry-content {
	background: var(--theme-palette-color-6, #F5F7FB) !important;
}
/* Fonte da marca no corpo de programa/ferramenta (entry-content do tema não herdava). */
body.single-programa .entry-content,
body.single-ferramenta .entry-content {
	font-family: var(--mb-sans, 'Schibsted Grotesk', 'Inter', system-ui, sans-serif);
	color: var(--mb-body, #2A3647);
}
body.single-ferramenta .ct-container-full,
body.single-programa .ct-container-full { padding-top: 8px; }

/* Guia de programa (CPT programa): tipografia editorial como nos pilares. */
/* Guia de programa: largura editorial cheia (~1096px, igual aos pilares) — era 820px
   centrado num container 1280, deixando lateral vazia. Fix "texto até o final" 2026-06-01. */
body.single-programa .entry-content { max-width: 1096px; margin-left: auto; margin-right: auto; }
body.single-programa .entry-content h1 { font-family: var(--mb-serif, 'Fraunces', Georgia, serif); font-size: clamp(30px, 4vw, 46px); line-height: 1.05; letter-spacing: -0.02em; color: var(--theme-palette-color-4, #14233A); margin: 8px 0 16px; }
body.single-programa .entry-content h2 { font-family: var(--mb-serif, 'Fraunces', Georgia, serif); font-size: clamp(22px, 2.6vw, 30px); margin-top: 34px; color: var(--theme-palette-color-4, #14233A); }

.mb-home-hero {
	background: var(--mb-panel); color: #fff;
	border-radius: 14px;
	padding: 48px 56px 44px;
	margin-bottom: 20px;
}
.mb-home-hero__titulo {
	font-family: var(--mb-serif); font-weight: 400; color: #fff;
	font-size: clamp(28px, 5vw, 42px); line-height: 1.1; margin: 12px 0 14px;
	letter-spacing: -0.02em;
	max-width: 720px;
}
.mb-home-hero__sub {
	font-size: 17px;
	line-height: 1.55;
	color: var(--mb-on-dark);
	margin: 0;
	max-width: 680px;
}

@media (max-width: 720px) {
	.mb-home-hero { padding: 32px 24px 28px; }
	.mb-home-hero__sub { font-size: 15px; }
}

/* A calculadora sobe sobre o herói. O conteúdo vem do shortcode. */
.mb-calc-wrap { margin: -44px 0 24px; }
.mb-calc-wrap > * {
	background: #fff;
	border: 1px solid var(--mb-border);
	border-radius: 12px;
	padding: 20px 22px;
}

.mb-silos {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px; margin-bottom: 30px;
}
.mb-silo {
	background: #fff; border: 1px solid var(--mb-border); border-radius: 12px;
	padding: 16px; text-decoration: none; transition: border-color 0.15s ease;
}
.mb-silo:hover { border-color: var(--mb-brand); }
.mb-silo__titulo { display: block; font-size: 15px; font-weight: 500; color: var(--mb-title); margin-bottom: 3px; }
.mb-silo__desc { display: block; font-size: 12px; color: var(--mb-body); opacity: 0.7; }

.mb-home-recentes { margin-bottom: 30px; }

.mb-lead {
	background: var(--mb-panel); color: #fff; border-radius: 14px;
	padding: 24px 26px; display: flex; flex-wrap: wrap;
	align-items: center; justify-content: space-between; gap: 16px;
}
.mb-lead__txt { flex: 1; min-width: 220px; }
.mb-lead__titulo { font-family: var(--mb-serif); font-weight: 400; color: #fff; font-size: 19px; line-height: 1.25; margin: 0 0 4px; }
.mb-lead__sub { font-size: 13px; color: var(--mb-on-dark); margin: 0; }
.mb-lead__form input[type="email"] {
	border: 1px solid var(--mb-border); border-radius: 6px; padding: 9px 14px; font-size: 14px; min-width: 200px;
}
.mb-lead__form button {
	background: var(--mb-brand); color: #fff; border: 0; border-radius: 6px;
	padding: 10px 18px; font-size: 14px; cursor: pointer;
}
.mb-lead__form button:hover { background: var(--mb-brand-strong); }

/* ==========================================================================
   REVIEW
   ========================================================================== */
.mb-aviso {
	background: var(--mb-soft); border: 1px solid var(--mb-border); border-radius: 8px;
	padding: 10px 14px; font-size: 12px; color: var(--mb-brand-strong);
	display: flex; align-items: center; gap: 8px; margin: 0 0 20px;
}
.mb-aviso .mb-ico { color: var(--mb-brand); }
.mb-aviso a { color: var(--mb-brand); }

.mb-review-head { margin-bottom: 22px; }
.mb-review__titulo {
	font-family: var(--mb-serif); font-weight: 400; color: var(--mb-title);
	font-size: clamp(26px, 4.2vw, 34px); line-height: 1.14; margin: 10px 0 18px;
}

.mb-veredito {
	display: grid; grid-template-columns: 1fr 160px;
	background: #fff; border: 1px solid var(--mb-border); border-radius: 12px;
	overflow: hidden; margin-bottom: 30px;
}
.mb-veredito__col { padding: 20px 22px; }
.mb-veredito__resumo { font-size: 14px; line-height: 1.55; color: var(--mb-body); margin: 0 0 16px; }
.mb-veredito__rotulo {
	font-family: var(--mb-mono); font-size: 11px; letter-spacing: 0.08em;
	text-transform: uppercase; margin: 0 0 6px;
}
.mb-veredito__rotulo--pro { color: var(--mb-verify-tx); }
.mb-veredito__rotulo--contra { color: var(--mb-danger-tx); margin-top: 14px; }

.mb-lista { list-style: none; margin: 0; padding: 0; }
.mb-lista li {
	display: flex; align-items: flex-start; gap: 8px;
	font-size: 13px; line-height: 1.5; color: var(--mb-body); margin-bottom: 6px;
}
.mb-lista--pro .mb-ico { color: var(--mb-verify); }
.mb-lista--contra .mb-ico { color: var(--mb-danger); }

.mb-nota {
	background: var(--mb-panel); color: #fff;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	padding: 20px 10px; text-align: center;
}
.mb-nota__valor { font-family: var(--mb-mono); font-size: 44px; line-height: 1; color: #fff; }
.mb-nota__label {
	font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase;
	color: var(--mb-accent); margin-top: 8px;
}

.mb-review-corpo { max-width: 640px; }

/* ---- Mobile -------------------------------------------------------------- */
@media (max-width: 560px) {
	.mb-template-destino, .mb-template-review { padding: 28px 16px 44px; }
	.mb-template-home { padding: 24px 16px 44px; }
	.mb-transparencia__item {
		flex-basis: 100%; border-right: 0; border-bottom: 1px solid var(--mb-border);
	}
	.mb-transparencia__item:last-child { border-bottom: 0; }
	.mb-painel__nums { grid-template-columns: 1fr 1fr; }
	.mb-veredito { grid-template-columns: 1fr; }
	.mb-nota { flex-direction: row; gap: 10px; padding: 14px; }
	.mb-nota__label { margin-top: 0; }
}

/* ==========================================================================
   DEFENSIVE OVERRIDES — navy hardcoded
   Garante painel escuro mesmo se o Blocksy não regenerar dynamic CSS
   (já tivemos esse caso: theme_mods_blocksy-child sai de sync
   com a paleta ativa, e o painel saía claro). Direção Claude Chat.
   ========================================================================== */

.mb-template-destino .mb-painel        { background: #122139 !important; }
.mb-template-destino .mb-painel__head  { color: #7FB0E6 !important; }
.mb-template-destino .mb-painel__label { color: #9FB4D2 !important; }
.mb-template-destino .mb-painel__valor { color: #fff !important; }
.mb-template-destino .mb-chip          { background: #1D2F4C !important; color: #BCD0EC !important; }

/* Silos da home: força 4-col desktop, 2-col mobile.
   minmax(0, 1fr) protege contra conteúdo wide forçar overflow */
.mb-silos {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
@media (max-width: 900px) {
	.mb-silos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==========================================================================
   AJUSTES DE DENSIDADE — mais conteúdo acima da dobra
   ========================================================================== */

/* Home hero mais compacto (era 34px 36px 30px) */
.mb-home-hero {
	padding: 28px 32px 24px;
	margin-bottom: 16px;
}

.mb-home-hero__titulo {
	font-size: clamp(24px, 4vw, 30px);
	margin: 8px 0 8px;
	line-height: 1.1;
}

.mb-home-hero__sub {
	font-size: 14px;
	line-height: 1.5;
}

/* Calc-wrap sobe MENOS sobre o hero para não tirar tanto espaço */
.mb-calc-wrap { margin: -28px 0 20px; }
.mb-calc-wrap > * { padding: 16px 20px; }

/* Silos mais finos */
.mb-silo { padding: 14px; }
.mb-silo__titulo { font-size: 14px; }
.mb-silo__desc { font-size: 12px; line-height: 1.45; }

/* Em destaque cards mais compactos */
.mb-card { padding: 16px; }
.mb-card-title { font-size: 15px; }
.mb-card__texto { font-size: 13px; line-height: 1.5; margin-bottom: 8px; }

/* Lead capture mais compacto */
.mb-lead { padding: 18px 22px; }
.mb-lead__titulo { font-size: 17px; }
.mb-lead__sub { font-size: 12px; }

/* Espaçamento entre seções na home */
.mb-template-home > .mb-section-title { margin-top: 24px; }
.mb-template-home > .mb-home-recentes { margin-bottom: 20px; }

/* DESTINO: mais compacto também */
.mb-template-destino { padding: 24px 22px 48px; }
.mb-destino-hero { margin-bottom: 16px; }
.mb-destino-hero__titulo {
	font-size: clamp(26px, 4vw, 34px);
	line-height: 1.1;
	margin: 0 0 14px;
}
.mb-transparencia { margin-bottom: 18px; }
.mb-transparencia__item { padding: 11px 16px; }
.mb-painel { padding: 18px 22px; margin-bottom: 22px; }
.mb-painel__head { margin-bottom: 14px; font-size: 11px; }
.mb-painel__nums { gap: 18px; margin-bottom: 14px; }
.mb-painel__valor { font-size: clamp(24px, 5vw, 30px); }

.mb-tldr { padding: 16px 20px; margin-bottom: 22px; }
.mb-tldr__titulo { margin-bottom: 10px; }
.mb-tldr__item { margin-bottom: 6px; }

.mb-destino-corpo p { margin-bottom: 16px; }
.mb-destino-corpo h2,
.mb-destino-corpo .wp-block-heading,
.mb-destino-corpo .mb-section-title {
	margin: 28px 0 12px;
	font-size: clamp(20px, 3vw, 24px);
}

.mb-cards { margin: 6px 0 22px; gap: 16px; }

/* ==========================================================================
   UPGRADE VISUAL — auditoria Gemini (2026-05-25)
   Hero split, cards com imagem, TL;DR com ícone, painel mais destacado
   ========================================================================== */

/* ---- HERO SPLIT (2-col desktop quando tem featured image) -------------- */
.mb-destino-hero--split {
	display: grid;
	gap: 28px;
	grid-template-columns: 1fr;
	align-items: center;
	margin-bottom: 24px;
}

@media (min-width: 760px) {
	.mb-destino-hero--split {
		/* Texto MAIS LARGO que imagem — H1 + autor não devem competir com foto */
		grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
		gap: 40px;
		align-items: center;
	}
	.mb-destino-hero__titulo {
		font-size: clamp(36px, 5vw, 52px);
	}
}

/* Painel + faixa transparência + cards aproveitam container completo (1140px).
 * NOTA: regras desacopladas de `--imagem` (que só controla hero split agora).
 * Layout NÃO depende de featured image — ver comentário no topo do template-destino. */
.mb-template-destino .mb-transparencia,
.mb-template-destino .mb-painel,
.mb-template-destino .mb-destino-corpo {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* Texto corrido fica em até 1080px (modern editorial wide-body — NerdWallet/Medium pattern).
   ~90ch em Inter 17px. Decisão consciente preferindo "uso completo do viewport" sobre
   "linha mais curta = melhor leitura". User feedback: 760-900px ficava com lateral vazia. */
.mb-template-destino .mb-destino-corpo > p,
.mb-template-destino .mb-destino-corpo > .wp-block-paragraph,
.mb-template-destino .mb-destino-corpo > h2,
.mb-template-destino .mb-destino-corpo > h3,
.mb-template-destino .mb-destino-corpo > .wp-block-heading,
.mb-template-destino .mb-destino-corpo > .wp-block-milhasbot-tldr,
.mb-template-destino .mb-destino-corpo > .mb-tldr,
.mb-template-destino .mb-destino-corpo > ul,
.mb-template-destino .mb-destino-corpo > ol,
.mb-template-destino .mb-destino-corpo > .wp-block-list {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* Cards Liquid Content quebram do constraint pra ocupar largura editorial completa */
.mb-template-destino .mb-destino-corpo > .wp-block-milhasbot-cards,
.mb-template-destino .mb-destino-corpo > .mb-cards,
.mb-template-destino .mb-destino-corpo .mb-cards,
.mb-template-destino .mb-destino-corpo .mb-cards--ativos {
	max-width: 100%;
}

.mb-destino-hero__imagem {
	margin: 0;
	border-radius: 12px;
	overflow: hidden;
	/* 16:10 cinematic em vez de 4:3 (que estica vertical demais) */
	aspect-ratio: 16 / 10;
	background: var(--mb-soft);
	/* Cap altura mesmo que coluna seja larga em monitor amplo */
	max-height: 380px;
}

.mb-destino-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ---- CARDS COM THUMBNAIL TOPO (16:9) ----------------------------------- */
.mb-template-destino .mb-card {
	padding: 0;
	overflow: hidden;
}

.mb-card-media {
	margin: 0;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--mb-soft);
}

.mb-card-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.mb-card:hover .mb-card-thumb {
	transform: scale(1.04);
}

/* Quando NÃO tem imagem, o body fica sem o gap visual da figure */
.mb-template-destino .mb-card-body {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.mb-template-destino .mb-card:not(:has(.mb-card-media)) .mb-card-body {
	padding-top: 18px;
}

/* `.mb-card-date` removida — consolidada em `.mb-page-verify` no rodapé.
   Ver mb_render_page_verification_summary() em destino-bootstrap.php. */

/* Selo "Verificado" no footer com ícone shield */
.mb-template-destino .mb-card__check {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.mb-template-destino .mb-card__check::before {
	display: none; /* desabilita o circle-mask antigo, usa SVG inline agora */
}

.mb-card__check-ico {
	color: var(--mb-verify);
	flex-shrink: 0;
}

/* ---- TL;DR com ícone lightning + background tint sutil ----------------- */
.mb-tldr {
	position: relative;
	background: linear-gradient(135deg, var(--mb-soft) 0%, #F5F9FF 100%);
	border-left: 3px solid var(--mb-brand);
	padding-left: 48px;
}

.mb-tldr::before {
	content: "";
	position: absolute;
	left: 16px;
	top: 22px;
	width: 20px;
	height: 20px;
	background-color: var(--mb-brand);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%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 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---- PAINEL: Flight Board com __grid (head + nums lado-a-lado) -------- */

.mb-painel {
	padding: 22px 26px;
}

.mb-painel__grid {
	display: flex;
	flex-direction: column;
	gap: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	padding-bottom: 18px;
	margin-bottom: 14px;
}

@media (min-width: 640px) {
	.mb-painel__grid {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-end;
		gap: 32px;
	}
}

/* Coluna esquerda: rota principal */
.mb-painel__info-voo {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.mb-painel__head-label {
	font-family: var(--mb-mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #7FB0E6;
	font-weight: 600;
}

.mb-painel__head {
	font-family: var(--mb-serif);
	font-size: 18px;
	font-weight: 600;
	color: #fff;
	line-height: 1.25;
	letter-spacing: -0.01em;
	text-transform: none;
	margin: 0;
}

.mb-painel__via {
	display: block;
	font-family: var(--mb-sans);
	font-size: 13px;
	font-weight: 400;
	color: #9FB4D2;
	margin-top: 4px;
}

/* Coluna direita: números side-by-side */
.mb-painel__nums {
	display: flex;
	gap: 24px;
	margin: 0;
	flex-wrap: wrap;
}

@media (min-width: 640px) {
	.mb-painel__nums {
		gap: 32px;
		justify-content: flex-end;
	}
}

.mb-painel__num {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.mb-painel__label {
	font-family: var(--mb-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #9FB4D2;
	font-weight: 600;
}

.mb-painel__valor {
	font-family: var(--mb-mono);
	font-size: clamp(28px, 4vw, 36px);
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.02em;
	line-height: 1;
}

/* Chips como pílulas translucentes (vidro-líquido style) */
.mb-template-destino .mb-chip {
	background: rgba(127, 176, 230, 0.12) !important;
	color: #BCD0EC !important;
	border: 1px solid rgba(127, 176, 230, 0.25);
	padding: 5px 11px;
	border-radius: 999px;
	font-family: var(--mb-mono);
	font-size: 11px;
	letter-spacing: 0.02em;
	backdrop-filter: blur(8px);
	white-space: nowrap;
}

.mb-painel__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	border-top: 0;
	padding-top: 0;
	margin-top: 0;
}

/* ---- HERO IMAGEM: shadow editorial premium ----------------------------- */
.mb-destino-hero__imagem {
	box-shadow: 0 12px 24px -8px rgba(20, 35, 58, 0.18), 0 4px 8px -2px rgba(20, 35, 58, 0.08);
}

/* ==========================================================================
   BREADCRUMBS — Schema.org BreadcrumbList + visual
   ========================================================================== */

.mb-breadcrumbs {
	font-family: var(--mb-sans, sans-serif);
	font-size: 13px;
	line-height: 1.4;
	color: var(--mb-body, #2A3647);
	margin: 0 0 24px;
	max-width: 1080px;
}

.mb-breadcrumbs__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
}

.mb-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.mb-breadcrumbs__item:not(:last-child)::after {
	content: "›";
	margin-left: 6px;
	color: var(--mb-body, #2A3647);
	opacity: 0.5;
	font-weight: 400;
}

.mb-breadcrumbs__item a {
	color: var(--mb-brand, #2E6BB0);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color 0.15s ease;
}
.mb-breadcrumbs__item a:hover {
	border-bottom-color: var(--mb-brand, #2E6BB0);
}

.mb-breadcrumbs__item span[aria-current="page"] {
	color: var(--mb-title, #14233A);
	opacity: 0.7;
}

/* Em template-destino, breadcrumb fica em até 1140px (igual container).
   Margin top zero — breadcrumb está no TOPO da página (padrão SEO + UX),
   antes do hero. Margem inferior cria respiro até o eyebrow do hero. */
.mb-template-destino .mb-breadcrumbs {
	max-width: 100%;
	margin: 0 0 24px;
}

/* ==========================================================================
   TRANSPARÊNCIA FOOTER — variante quando aparece ao final do destino
   ========================================================================== */

.mb-transparencia--footer {
	margin-top: 40px;
	margin-bottom: 0;
	border-top: 1px solid var(--mb-border, #E2E8F0);
	background: transparent;
	border-radius: 0;
	padding-top: 24px;
	border-left: 0;
	border-right: 0;
	border-bottom: 0;
}

.mb-transparencia--footer::before {
	content: "Transparência editorial";
	display: block;
	font-family: var(--mb-mono, monospace);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mb-brand, #2E6BB0);
	width: 100%;
	margin-bottom: 14px;
	font-weight: 600;
}

/* ---- PÁGINA /destinos/: grid dinâmico via [milhasbot_destinos] ---------- */
.mb-cards--destinos {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin: 20px 0 32px;
}
@media (min-width: 720px) {
	.mb-cards--destinos { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1000px) {
	.mb-cards--destinos { grid-template-columns: repeat(3, 1fr); }
}

.mb-cards--destinos .mb-card--link {
	display: flex;
	flex-direction: column;
	padding: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--mb-border, #E2E8F0);
	border-radius: 10px;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.mb-cards--destinos .mb-card--link:hover {
	border-color: var(--mb-brand, #2E6BB0);
	transform: translateY(-3px);
	box-shadow: 0 12px 24px -10px rgba(20, 35, 58, 0.15);
}
.mb-cards--destinos .mb-card-media {
	aspect-ratio: 16 / 10;
	margin: 0;
	overflow: hidden;
}
.mb-cards--destinos .mb-card-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}
.mb-cards--destinos .mb-card--link:hover .mb-card-thumb {
	transform: scale(1.05);
}
.mb-cards--destinos .mb-card-body {
	padding: 16px 18px 18px;
}
.mb-cards--destinos .mb-muted {
	font-family: var(--mb-mono, monospace);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mb-brand, #2E6BB0);
	margin: 0 0 6px;
	font-weight: 600;
}
.mb-cards--destinos .mb-card-title {
	font-family: var(--mb-serif, serif);
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--mb-title, #14233A);
	margin: 0 0 8px;
	line-height: 1.25;
}
.mb-cards--destinos .mb-card__texto {
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--mb-body, #2A3647);
	margin: 0;
}

/* Headers de continente — editorial (look da home): régua navy no topo,
   nome em Fraunces, contagem em mono dourado à direita. Redesign 2026-05-28. */
.mb-destinos-secao { margin: 0 0 12px; }
.mb-destinos-grupo {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	margin: 44px 0 22px;
	padding-top: 18px;
	/* 3px navy: mesma assinatura editorial da borda do magazine na home */
	border-top: 3px solid var(--theme-palette-color-4, #14233A);
}
.mb-destinos-secao:first-child .mb-destinos-grupo { margin-top: 8px; }
.mb-destinos-grupo__nome {
	font-size: clamp(24px, 3.5vw, 34px);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--theme-palette-color-4, #14233A);
	line-height: 1;
}
.mb-destinos-grupo__count {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #B8893B;
	font-weight: 600;
	white-space: nowrap;
}

/* Container do template-pilar (faltava): max-width + padding, senão o conteúdo
   cola na lateral. Espelha .mb-template-home/destino. Fix 2026-05-28. */
.mb-template-pilar {
	max-width: 1140px;
	margin: 0 auto;
	padding: 8px 22px 56px;
}
/* Header editorial unificado das páginas-pilar (mesma linguagem da home/destino). */
.mb-pilar-hero { padding: 10px 0 14px; border-bottom: 1px solid var(--mb-border, #E2E8F0); margin-bottom: 20px; }
.mb-pilar-hero__image { margin: 0 0 14px; }
.mb-pilar-hero__image img { display: block; width: 100%; aspect-ratio: 16 / 9; max-height: 260px; object-fit: cover; border-radius: 6px; }
.mb-pilar-hero__titulo {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-weight: 700; font-size: clamp(34px, 5vw, 56px); line-height: 1.04; letter-spacing: -0.025em;
	color: var(--mb-title, #14233A); margin: 0 0 12px;
}
.mb-pilar-hero__meta {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mb-body, #2A3647); opacity: 0.72; margin: 0;
}
/* Corpo: prosa alinhada à largura do conteúdo (igual a tabelas/calc/cards/grids).
   Decisão do usuário (2026-06-01): "o texto não vai até o final" — o cap de 820px
   deixava a prosa mais estreita que os componentes full-width abaixo, criando vazio
   à direita. Agora tudo na mesma largura (~1096px do corpo do pilar). */
.mb-pilar-corpo { max-width: 100%; }
.mb-pilar-corpo > p, .mb-pilar-corpo > .wp-block-paragraph,
.mb-pilar-corpo > h2, .mb-pilar-corpo > h3, .mb-pilar-corpo > .wp-block-heading,
.mb-pilar-corpo > ul, .mb-pilar-corpo > ol, .mb-pilar-corpo > .wp-block-list {
	max-width: 100%;
}
/* TL;DR é um BOX/callout, não prosa corrida: deve ocupar a largura cheia do conteúdo
   (igual ao comparador/cards abaixo). Antes ficava em 820px e "não ia até o final"
   enquanto a grade abaixo era 1096px → desalinhamento visual. FIX 2026-05-30. */
.mb-pilar-corpo > .wp-block-milhasbot-tldr, .mb-pilar-corpo > .mb-tldr { max-width: 100%; }
/* FIX SISTÊMICO 2026-05-30: a regra de prosa (820px) acima clampava QUALQUER `> ol`/`> ul`
   direto — inclusive componentes nossos usados como grade (ex.: `.mb-ca-steps` é um <ol>
   stepper). Resultado: o componente ficava preso em 820px e "não ia até o final" (sobrava
   vazio à direita). Qualquer filho direto cuja classe COMECE com `mb-` é componente, não
   prosa → largura cheia. [class^=] tem specificity de classe (vence o clamp element+classe);
   o `[class*=" mb-"]` cobre quando `mb-*` não é a 1ª classe. Cobre todos os pilares (atuais
   e futuros) sem listar cada componente. NÃO casa "thumb-" (não começa com mb-). */
.mb-pilar-corpo > [class^="mb-"],
.mb-pilar-corpo > [class*=" mb-"] { max-width: 100%; }

/* Placeholder de imagem em cards de destino sem featured image (anti-quebrado).
   Bloco navy com gradiente sutil + ícone de localização + label do continente. */
.mb-card-media--ph {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background:
		radial-gradient(120% 120% at 30% 20%, #1B2E4D 0%, var(--theme-palette-color-4, #14233A) 70%);
	color: rgba(255, 255, 255, 0.45);
}
.mb-card-media__ico { color: #B8893B; opacity: 0.9; }
.mb-card-media__ph-label {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
	font-weight: 600;
}
/* No magazine col1 o placeholder usa a altura do feature-img */
.mb-magazine__feature-img.mb-card-media--ph {
	height: 260px;
	display: flex;
}

/* /destinos/ usa template-pilar: amplia o título nativo pro estilo da home
   (escopo só nesta página pra não afetar outros pilares). */
body.page-id-3297 .mb-pilar-hero__titulo {
	font-size: clamp(28px, 4vw, 46px);
	line-height: 1.02;
	letter-spacing: -0.02em;
}
body.page-id-3297 .mb-destinos-dek {
	font-size: clamp(16px, 2vw, 18px);
	line-height: 1.6;
	color: var(--mb-body, #2A3647);
	max-width: none; /* dek vai até o fim do container (era 64ch e parava no meio) */
	margin: 4px 0 8px;
}

/* Hero editorial do /destinos/ (espelha a home) */
.mb-destinos-hero {
	border-bottom: 1px solid var(--theme-palette-color-5, #E2E8F0);
	padding-bottom: 28px;
	margin-bottom: 8px;
}
.mb-destinos-hero__eyebrow {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--theme-palette-color-1, #2E6BB0);
	font-weight: 600;
	margin: 0 0 14px;
}
.mb-destinos-hero__titulo {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-weight: 700;
	font-size: clamp(40px, 6vw, 72px);
	line-height: 0.98;
	letter-spacing: -0.03em;
	color: var(--theme-palette-color-4, #14233A);
	margin: 0 0 16px;
}
.mb-destinos-hero__dek {
	font-size: clamp(16px, 2vw, 18px);
	line-height: 1.6;
	color: var(--mb-body, #2A3647);
	max-width: 64ch;
	margin: 0;
}

/* ==========================================================================
   HOME — Cards "Em destaque" com thumbnail topo (mb-card--link)
   ========================================================================== */

.mb-template-home .mb-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	margin: 8px 0 26px;
}

@media (min-width: 720px) {
	.mb-template-home .mb-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}
}

.mb-template-home .mb-card--link {
	display: flex;
	flex-direction: column;
	padding: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--mb-border);
	border-radius: 10px;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.mb-template-home .mb-card--link:hover {
	border-color: var(--mb-brand);
	transform: translateY(-3px);
	box-shadow: 0 12px 24px -10px rgba(20, 35, 58, 0.15);
}

.mb-template-home .mb-card-media {
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--mb-soft);
}

.mb-template-home .mb-card-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.mb-template-home .mb-card--link:hover .mb-card-thumb {
	transform: scale(1.05);
}

.mb-template-home .mb-card-body {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.mb-template-home .mb-card--link .mb-muted {
	font-family: var(--mb-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mb-brand);
	margin: 0 0 6px;
	font-weight: 600;
}

.mb-template-home .mb-card--link .mb-card-title {
	font-family: var(--mb-serif);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--mb-title);
	margin: 0 0 8px;
	line-height: 1.25;
}

.mb-template-home .mb-card--link .mb-card__texto {
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--mb-body);
	margin: 0;
}

/* ---- DETAILS/SUMMARY nativo (substitui o JS antigo) ------------------- */
.mb-arquivo-historico {
	margin-top: 12px;
	border-top: 1px solid var(--mb-border);
	padding-top: 16px;
}

.mb-arquivo-historico--ativos {
	margin-top: 8px;
	border-top: 0;
	padding-top: 0;
}

.mb-arquivo-historico summary {
	cursor: pointer;
	font-family: var(--mb-mono);
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mb-brand);
	padding: 10px 0;
	user-select: none;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 8px;
}

.mb-arquivo-historico summary::-webkit-details-marker { display: none; }

.mb-arquivo-historico summary::before {
	content: "+";
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	transition: transform 0.2s ease;
	width: 16px;
	display: inline-block;
}

.mb-arquivo-historico[open] summary::before {
	content: "−";
}

.mb-arquivo-historico summary:hover {
	color: var(--mb-brand-strong);
}

/* ============================================================================
   HOME — BLOCO 2 (Barra de números) + BLOCO 6 (Bônus ativos) + AdSense slots
   Briefing 2026-05-27. Lógica em mu-plugin/inc/home-blocks.php.
   ============================================================================ */

/* ----- Barra de números (autoridade editorial) ----- */
.mb-barra-numeros {
	background: linear-gradient(135deg, var(--theme-palette-color-7) 0%, var(--theme-palette-color-4) 100%);
	color: #fff;
	padding: 22px 32px;
	border-radius: 10px;
	margin: 36px 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
	align-items: center;
	box-shadow: 0 8px 24px rgba(18, 33, 57, 0.08);
}
.mb-barra-numeros__item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	border-left: 1px solid rgba(255, 255, 255, 0.12);
	padding-left: 24px;
}
.mb-barra-numeros__item:first-child {
	border-left: 0;
	padding-left: 0;
}
.mb-barra-numeros__num {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 34px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: #fff;
}
.mb-barra-numeros__label {
	font-family: var(--mb-sans, 'Inter', system-ui, sans-serif);
	font-size: 11px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.4;
}
@media (max-width: 768px) {
	.mb-barra-numeros {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 16px;
		padding: 20px 22px;
	}
	.mb-barra-numeros__item {
		border-left: 0;
		padding-left: 0;
	}
	.mb-barra-numeros__num { font-size: 28px; }
}

/* ----- Painel de bônus de transferência ativos ----- */
.mb-bonus-painel {
	background: #fff;
	border: 1px solid var(--theme-palette-color-5);
	border-radius: 12px;
	padding: 28px;
	margin: 40px 0;
	box-shadow: 0 12px 24px rgba(34, 56, 101, 0.04);
}
.mb-bonus-painel__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	margin-bottom: 22px;
	border-bottom: 1px solid var(--theme-palette-color-5);
	padding-bottom: 18px;
}
.mb-bonus-painel__titulos h2 {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--theme-palette-color-4);
	margin: 0 0 4px 0;
}
.mb-bonus-painel__sub {
	font-size: 13px;
	color: var(--theme-palette-color-3);
	margin: 0;
	opacity: 0.7;
}
.mb-bonus-painel__verificado {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	color: var(--theme-palette-color-1);
	display: flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}
.mb-bonus-painel__verificado::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #1D9E75;
	display: inline-block;
}
.mb-bonus-painel__vazio {
	text-align: center;
	padding: 28px 18px;
	color: var(--theme-palette-color-3);
	font-size: 14px;
	line-height: 1.6;
	background: var(--theme-palette-color-6);
	border-radius: 8px;
	margin: 0;
}
.mb-bonus-tabela {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.mb-bonus-tabela thead th {
	text-align: left;
	font-family: var(--mb-sans, 'Inter', system-ui, sans-serif);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--theme-palette-color-3);
	padding: 10px 12px;
	border-bottom: 2px solid var(--theme-palette-color-5);
}
.mb-bonus-tabela tbody tr {
	border-bottom: 1px solid var(--theme-palette-color-5);
	transition: background 0.15s ease;
}
.mb-bonus-tabela tbody tr:hover { background: var(--theme-palette-color-8); }
.mb-bonus-tabela tbody tr:last-child { border-bottom: 0; }
.mb-bonus-tabela td {
	padding: 14px 12px;
	vertical-align: middle;
	color: var(--theme-palette-color-3);
}
.mb-bonus-rota { font-weight: 500; color: var(--theme-palette-color-4); }
.mb-bonus-rota__seta { color: var(--theme-palette-color-1); margin: 0 6px; font-weight: 400; }
.mb-bonus-percent {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 14px;
	font-weight: 500;
	color: var(--theme-palette-color-1);
}
.mb-bonus-vence {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 12px;
	color: var(--theme-palette-color-3);
	opacity: 0.8;
}
.mb-bonus-veredito {
	letter-spacing: 1px;
	color: #B8893B;
	font-size: 14px;
}
.mb-bonus-veredito__off { color: var(--theme-palette-color-5); }
.mb-bonus-link {
	color: var(--theme-palette-color-1);
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
}
.mb-bonus-link:hover { text-decoration: underline; }
.mb-bonus-painel__rodape {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--theme-palette-color-5);
	font-size: 13px;
	flex-wrap: wrap;
	gap: 12px;
}
.mb-bonus-painel__metodologia { color: var(--theme-palette-color-3); opacity: 0.7; }
.mb-bonus-painel__ver-todos { font-weight: 500; color: var(--theme-palette-color-1); text-decoration: none; }
.mb-bonus-painel__ver-todos:hover { text-decoration: underline; }
@media (max-width: 768px) {
	.mb-bonus-painel { padding: 20px 16px; }
	.mb-bonus-painel__header { flex-direction: column; align-items: flex-start; gap: 8px; }
	.mb-bonus-tabela thead { display: none; }
	.mb-bonus-tabela,
	.mb-bonus-tabela tbody,
	.mb-bonus-tabela tr,
	.mb-bonus-tabela td { display: block; width: 100%; }
	.mb-bonus-tabela tr { padding: 12px 0; }
	.mb-bonus-tabela td { padding: 4px 0; }
	.mb-bonus-tabela td::before {
		content: attr(data-label) ': ';
		font-size: 10px;
		text-transform: uppercase;
		letter-spacing: 0.06em;
		color: var(--theme-palette-color-3);
		opacity: 0.7;
		margin-right: 6px;
	}
}

/* ----- Slots AdSense (reservados anti-CLS) ----- */
.mb-ads-slot {
	min-height: 280px;
	margin: 32px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--theme-palette-color-6);
	border-radius: 6px;
	position: relative;
	overflow: hidden;
}
.mb-ads-slot::before {
	content: 'Publicidade';
	position: absolute;
	top: 6px;
	left: 12px;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--theme-palette-color-3);
	opacity: 0.45;
}
.mb-ads-slot--horizontal { min-height: 100px; }
@media (max-width: 768px) {
	.mb-ads-slot { min-height: 250px; }
	.mb-ads-slot--horizontal { min-height: 100px; }
}

/* ============================================================================
   DESIGN CRITIQUE 2026-05-27 — implementações dos 6 fixes
   ============================================================================ */

/* ----- 1. Hero 50/50 split (Move #1 da crítica) ----- */
.mb-home-hero--split {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 36px;
	align-items: center;
	padding: 40px 44px;
}
.mb-home-hero--split .mb-home-hero__texto { max-width: 540px; }
.mb-home-hero--split .mb-home-hero__titulo {
	font-size: clamp(32px, 3.6vw, 46px);
	line-height: 1.1;
	letter-spacing: -0.025em;
	margin: 6px 0 16px;
}
.mb-home-hero--split .mb-home-hero__sub {
	font-size: 16px;
	line-height: 1.55;
	opacity: 0.85;
}

/* Card dinâmico "Em destaque agora" — bloco navy claro com tipografia editorial */
.mb-home-hero__card { display: flex; }
.mb-hero-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 12px;
	padding: 22px 22px;
	text-decoration: none;
	color: #fff;
	width: 100%;
	transition: transform .2s, border-color .2s, background .2s;
}
.mb-hero-card:hover,
.mb-hero-card:focus {
	border-color: #B8893B;
	background: rgba(255, 255, 255, 0.12);
	transform: translateY(-2px);
}
.mb-hero-card__eyebrow {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #B8893B;
	font-weight: 600;
}
.mb-hero-card__rota {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.02em;
	margin: 2px 0 4px;
	color: #fff;
}
.mb-hero-card__seta { color: #B8893B; margin: 0 6px; font-weight: 400; }
.mb-hero-card__percent {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 34px;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1;
	color: #fff;
	margin: 2px 0 4px;
}
.mb-hero-card__meta {
	display: flex; align-items: center; gap: 14px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.75);
}
.mb-hero-card__vere {
	color: #B8893B;
	letter-spacing: 2px;
	font-size: 14px;
}
.mb-hero-card__cta {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 12px;
	letter-spacing: 0.04em;
	color: #B8893B;
	margin-top: 6px;
	font-weight: 600;
}
.mb-hero-card__sub {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
	margin: 0;
}

@media (max-width: 900px) {
	.mb-home-hero--split {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 36px 28px;
		min-height: 0;
	}
	.mb-hero-card { padding: 22px 20px; }
	.mb-hero-card__rota { font-size: 22px; }
	.mb-hero-card__percent { font-size: 36px; }
}

/* ----- 2. Cards "Em destaque" assimétricos (Move #2 da crítica) -----
   Specificity: `.mb-cards.mb-cards--asymmetric` (double-class) vence o
   `auto-fit, minmax(220px, 1fr)` da regra base `.mb-cards`. */
.mb-cards.mb-cards--asymmetric {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: 20px;
	width: 100%;
}
.mb-cards.mb-cards--asymmetric .mb-card--feature {
	grid-row: 1 / span 2;
	display: flex;
	flex-direction: column;
}
/* ============================================================================
   FEATURE CARD — Foto top + body bottom (estilo igual aos outros cards, só MAIOR).
   Layout: grid 1.6fr / 1fr (card grande + stack 2 menores).
   ============================================================================ */
.mb-cards.mb-cards--asymmetric .mb-card--feature {
	display: flex;
	flex-direction: column;
}

/* Foto: cresce pra preencher altura disponível (elimina espaço vazio quando
   grid estica o card pra igualar altura do stack à direita). */
.mb-cards.mb-cards--asymmetric .mb-card--feature .mb-card-media {
	flex: 1 1 auto;
	min-height: 320px;
	aspect-ratio: auto;
	overflow: hidden;
}
.mb-cards.mb-cards--asymmetric .mb-card--feature .mb-card-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Body: estilo padrão, padding levemente maior que cards default */
.mb-cards.mb-cards--asymmetric .mb-card--feature .mb-card-body {
	padding: 24px 24px 24px;
}
.mb-cards.mb-cards--asymmetric .mb-card--feature .mb-card-title {
	font-size: 24px;
	line-height: 1.2;
	margin: 4px 0 6px;
}
.mb-cards.mb-cards--asymmetric .mb-card--feature .mb-card__texto {
	font-size: 14px;
	line-height: 1.6;
	-webkit-line-clamp: unset;
	margin: 0;
}
/* Regras antigas removidas — Magazine Cover style (acima) gerencia tudo. */

/* Bloco extra (CTA + stats): sem border-top "footer corporativo". Em vez
   disso, distância maior pra criar separação por ESPAÇO em vez de LINHA. */
.mb-card-extra {
	margin-top: auto;
	padding-top: 28px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	border-top: 0;
}

/* CTA: link sutil cor brand */
.mb-card-cta-link {
	font-family: var(--mb-sans, 'Inter', system-ui, sans-serif);
	font-size: 13px;
	font-weight: 600;
	color: var(--theme-palette-color-1, #2E6BB0);
	text-decoration: none;
	display: inline-block;
	margin-top: 4px;
}
.mb-card-cta-link:hover { color: #B8893B; }

.mb-card-meta-inline {
	font-family: var(--mb-sans, 'Inter', system-ui, sans-serif);
	font-size: 12px;
	color: var(--theme-palette-color-3, #2A3647);
	opacity: 0.6;
}

.mb-card-extra {
	margin-top: auto;
	padding-top: 16px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	border-top: 0;
}
.mb-cards.mb-cards--asymmetric .mb-card--feature .mb-card-title {
	font-size: 28px;
	letter-spacing: -0.02em;
	line-height: 1.2;
}
.mb-cards.mb-cards--asymmetric .mb-card--feature .mb-card__texto {
	font-size: 15px;
	line-height: 1.6;
	-webkit-line-clamp: 3;
}
.mb-card-stack { display: flex; flex-direction: column; gap: 18px; }
.mb-card-stack .mb-card { flex: 1; }
.mb-card-stack .mb-card-media,
.mb-card-stack .mb-card-thumb {
	min-height: 130px;
	max-height: 160px;
	object-fit: cover;
}
@media (max-width: 900px) {
	.mb-cards.mb-cards--asymmetric { grid-template-columns: 1fr; }
	.mb-cards.mb-cards--asymmetric .mb-card--feature { grid-row: auto; }
	.mb-cards.mb-cards--asymmetric .mb-card--feature .mb-card-media,
	.mb-cards.mb-cards--asymmetric .mb-card--feature .mb-card-thumb { min-height: 220px; }
}

/* ----- 4. Barra de números — editorial cream (Move #4 da crítica) ----- */
/* Override do gradiente navy: vira fundo cream com tipografia gigante.
   Acima de tudo, mantém o accent dourado pra unificar com o resto da marca. */
.mb-barra-numeros {
	background: #FBF8F2 !important;
	color: var(--theme-palette-color-4, #14233A) !important;
	padding: 44px 40px !important;
	border-radius: 14px !important;
	border: 1px solid var(--theme-palette-color-5, #E2E8F0);
	box-shadow: 0 12px 32px rgba(34, 56, 101, 0.04) !important;
}
.mb-barra-numeros__item {
	border-left: 1px solid rgba(20, 35, 58, 0.12) !important;
	padding-left: 28px !important;
}
.mb-barra-numeros__num {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif) !important;
	font-size: clamp(48px, 5vw, 64px) !important;
	font-weight: 500 !important;
	letter-spacing: -0.04em !important;
	color: var(--theme-palette-color-4, #14233A) !important;
	line-height: 1 !important;
}
.mb-barra-numeros__label {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace) !important;
	font-size: 11px !important;
	letter-spacing: 0.1em !important;
	color: var(--theme-palette-color-3, #2A3647) !important;
	opacity: 0.7;
	margin-top: 8px !important;
}
@media (max-width: 768px) {
	.mb-barra-numeros { padding: 28px 22px !important; }
	.mb-barra-numeros__num { font-size: clamp(36px, 9vw, 44px) !important; }
}

/* ----- 3. Tabela bônus com pulse + ticker (Move #3 da crítica) ----- */
.mb-bonus-ticker {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--theme-palette-color-4, #14233A);
	color: rgba(255, 255, 255, 0.92);
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	letter-spacing: 0.06em;
	padding: 10px 16px;
	border-radius: 8px;
	margin-bottom: 20px;
}
.mb-bonus-ticker strong { color: #FBB360; font-weight: 600; }
.mb-bonus-ticker__pulse {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #1D9E75;
	box-shadow: 0 0 0 0 rgba(29, 158, 117, 0.7);
	animation: mb-pulse 2s infinite;
	flex-shrink: 0;
}
@keyframes mb-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(29, 158, 117, 0.7); }
	70%  { box-shadow: 0 0 0 10px rgba(29, 158, 117, 0); }
	100% { box-shadow: 0 0 0 0 rgba(29, 158, 117, 0); }
}
.mb-bonus-vence--safe   { color: var(--theme-palette-color-3, #2A3647); }
.mb-bonus-vence--warn   { color: #B8893B; font-weight: 600; }
.mb-bonus-vence--danger { color: #C0392B; font-weight: 700; }

/* Selo Veredito SVG component */
.mb-veredito-selo { display: inline-flex; line-height: 0; vertical-align: middle; }
.mb-veredito-selo svg { display: block; }
.mb-veredito-selo--sm { width: 22px; height: 22px; }
.mb-veredito-selo--md { width: 64px; height: 64px; }
.mb-veredito-selo--lg { width: 200px; height: 200px; }

/* ----- 5. Footer signoff editorial (Move #5 da crítica) ----- */
.mb-footer-signoff {
	max-width: 1290px;
	margin: 0 auto;
	padding: 56px 24px 36px;
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(28px, 3.5vw, 44px);
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--theme-palette-color-4, #14233A);
	text-align: left;
}
.mb-footer-signoff strong {
	font-weight: 600;
	font-style: normal;
	color: #B8893B;
}
@media (max-width: 768px) {
	.mb-footer-signoff { padding: 36px 18px 24px; }
}

/* ==========================================================================
   IMPECCABLE A11Y FIXES — keyboard focus + reduce-motion + touch targets.
   Adicionado em 2026-05-27 após critique impeccable (P1: focus-visible ausente).
   ========================================================================== */

/* Focus visível em TODOS os interativos — keyboard nav clara, sem outline default ugly.
   Cor: brand blue (#2E6BB0) com offset 3px pra não colar no elemento. */
.mb-template-home a:focus-visible,
.mb-template-home button:focus-visible,
.mb-template-destino a:focus-visible,
.mb-template-destino button:focus-visible,
.mb-template-review a:focus-visible,
.mb-template-review button:focus-visible,
.mb-template-tool a:focus-visible,
.mb-template-tool button:focus-visible,
.mb-utility-bar a:focus-visible,
.mb-utility-bar button:focus-visible,
.mb-magazine a:focus-visible,
.mb-magazine button:focus-visible {
	outline: 2px solid var(--theme-palette-color-1, #2E6BB0);
	outline-offset: 3px;
	border-radius: 3px;
}

/* Touch targets — utility bar icons + tags inline devem ter área tocável >=44px */
.mb-utility-icons a,
.mb-utility-icons button,
.mb-utility-search {
	min-width: 36px;
	min-height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Reduce-motion: respeita pref do usuário (a11y) */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
	.mb-bonus-ticker__pulse { animation: none !important; }
}

/* ==========================================================================
   DESTINO SEM FEATURED IMAGE — não renderizar o split half vazio.
   Body class .mb-destino-sem-imagem é setada no PHP do template-destino quando
   has_post_thumbnail() é false. CSS oculta o lado vazio do hero.
   ========================================================================== */
body.mb-destino-sem-imagem .mb-destino-hero--split {
	grid-template-columns: 1fr;
}
body.mb-destino-sem-imagem .mb-destino-hero--split .mb-destino-hero__media,
body.mb-destino-sem-imagem .mb-destino-hero__media,
body.mb-destino-sem-imagem .mb-template-destino--imagem .wp-post-image {
	display: none;
}

/* ==========================================================================
   CALCULADORA do milheiro — visual editorial (ferramenta core).
   Layout: 3 inputs lado a lado em desktop, stack mobile. Resultado destacado
   em painel navy com numero gigante dourado.
   ========================================================================== */
.mb-template-tool {
	max-width: 920px;
	margin: 0 auto;
	padding: 4px 22px 56px;
}

.mb-tool-head {
	padding: 16px 0 28px;
	border-bottom: 1px solid var(--mb-border, #E2E8F0);
	margin-bottom: 32px;
}

.mb-tool-titulo {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-weight: 700;
	font-size: clamp(36px, 4.5vw, 56px);
	line-height: 1.05;
	letter-spacing: -0.025em;
	color: var(--mb-title, #14233A);
	margin: 4px 0 14px;
}

.mb-tool-sub {
	font-family: var(--mb-sans, 'Inter', sans-serif);
	font-size: 17px;
	line-height: 1.6;
	color: var(--mb-body, #2A3647);
	max-width: 680px;
	margin: 0;
}

.mb-calc {
	background: #fff;
	border: 1px solid var(--mb-border, #E2E8F0);
	border-radius: 4px;
	padding: 32px 36px;
	margin-bottom: 32px;
}

.mb-calc__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 22px;
	margin-bottom: 28px;
}

.mb-calc__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mb-calc__field span {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mb-brand, #2E6BB0);
	font-weight: 600;
}

.mb-calc__field input {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 24px;
	font-weight: 500;
	color: var(--mb-title, #14233A);
	background: var(--mb-bg, #F5F7FB);
	border: 1px solid var(--mb-border, #E2E8F0);
	border-radius: 4px;
	padding: 14px 16px;
	min-height: 56px;
	outline: none;
	transition: border-color .15s ease;
}

.mb-calc__field input:focus {
	border-color: var(--mb-brand, #2E6BB0);
}

.mb-calc__resultado {
	background: var(--mb-panel, #14233A);
	color: #fff;
	padding: 28px 32px;
	border-radius: 4px;
	min-height: 140px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.mb-calc__placeholder {
	font-family: var(--mb-sans, 'Inter', sans-serif);
	color: rgba(255, 255, 255, 0.6);
	margin: 0;
	font-size: 14px;
}

.mb-calc__numero {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: clamp(40px, 5vw, 64px);
	font-weight: 700;
	color: #B8893B;
	letter-spacing: -0.03em;
	line-height: 1;
}

.mb-calc__label {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
	margin: 6px 0 14px;
}

.mb-calc__detalhe {
	font-family: var(--mb-sans, 'Inter', sans-serif);
	font-size: 14px;
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 10px;
}

.mb-calc__veredito {
	font-family: var(--mb-sans, 'Inter', sans-serif);
	font-size: 13px;
	padding: 8px 14px;
	border-radius: 3px;
	display: inline-block;
	margin-top: 6px;
}

.mb-calc__veredito--ok   { background: rgba(29, 158, 117, 0.15); color: #6BCFA3; }
.mb-calc__veredito--warn { background: rgba(184, 137, 59, 0.18); color: #D7A65A; }
.mb-calc__veredito--bad  { background: rgba(192, 57, 43, 0.18); color: #E27566; }

.mb-calc__metodologia {
	font-family: var(--mb-sans, 'Inter', sans-serif);
	font-size: 13px;
	line-height: 1.6;
	color: var(--mb-body, #2A3647);
	margin: 22px 0 0;
	padding-top: 22px;
	border-top: 1px solid var(--mb-border, #E2E8F0);
}

.mb-tool-cta {
	padding: 28px 32px;
	background: var(--mb-soft, #EAF1FB);
	border-radius: 4px;
}

.mb-tool-cta h2 {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 24px;
	font-weight: 600;
	color: var(--mb-title, #14233A);
	margin: 0 0 8px;
	letter-spacing: -0.02em;
}

.mb-tool-cta p {
	font-family: var(--mb-sans, 'Inter', sans-serif);
	font-size: 15px;
	color: var(--mb-body, #2A3647);
	margin: 0;
	line-height: 1.6;
}

.mb-tool-cta a {
	color: var(--mb-brand, #2E6BB0);
	font-weight: 600;
}

@media (max-width: 720px) {
	.mb-calc { padding: 22px 18px; }
	.mb-calc__field input { font-size: 20px; }
}

/* ==========================================================================
   MAGAZINE HERO — adaptação do Claude Design (variante Magazine, sem ticker).
   Substitui hero split + 3-cards-iguais por bloco editorial unificado em 3
   colunas com hairlines. Tipografia: Fraunces 700 (display) + italic 400
   (subtítulo). Borda 3px black topo, 2px black base — assinatura editorial.
   ========================================================================== */

.mb-magazine {
	/* Background papel off-white quente (era #fff puro) — atmosfera de publicação
	   impressa premium sobre o body tinted. Grão SVG sutil via ::after. */
	background: #FFFDF8;
	border-top: 3px solid var(--theme-palette-color-4, #14233A);
	border-bottom: 2px solid var(--theme-palette-color-4, #14233A);
	padding: 22px 28px 32px;
	margin: 0 0 32px;
	box-shadow: 0 14px 36px rgba(20, 35, 58, 0.05);
	position: relative;
	overflow: hidden;
}

/* Grão de papel — textura imperceptível (2.8%) que tira o "chapado" do branco.
   feTurbulence inline, pointer-events none, sobre o conteúdo sem atrapalhar. */
.mb-magazine::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 2;
	opacity: 0.028;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.mb-magazine > * { position: relative; z-index: 1; }

/* ==========================================================================
   PAGE-LOAD ORQUESTRADO — reveal escalonado da home magazine.
   head → col1 → col2 → col3, fade-up suave. Easing ease-out. Reduce-motion off.
   (Critique frontend 2026-05-28: motion era 4/10, o ponto mais fraco.)
   ========================================================================== */
@keyframes mb-reveal {
	from { opacity: 0; transform: translateY(16px); }
	to   { opacity: 1; transform: translateY(0); }
}

.mb-magazine__head,
.mb-magazine__col--1,
.mb-magazine__col--2,
.mb-magazine__col--3 {
	animation: mb-reveal 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.mb-magazine__head      { animation-delay: 0.05s; }
.mb-magazine__col--1    { animation-delay: 0.22s; }
.mb-magazine__col--2    { animation-delay: 0.34s; }
.mb-magazine__col--3    { animation-delay: 0.46s; }
.mb-magazine .mb-magazine__divider {
	animation: mb-reveal 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
	animation-delay: 0.4s;
}

/* Count-up: enquanto anima, o número fica em tabular pra não dar "pulo" de largura */
.mb-magazine__bonus-card__percent[data-countup],
.mb-magazine__lista-pct[data-countup] {
	font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
	.mb-magazine__head,
	.mb-magazine__col--1,
	.mb-magazine__col--2,
	.mb-magazine__col--3,
	.mb-magazine .mb-magazine__divider {
		animation: none;
	}
}

/* Mata o gap entre header e magazine: Blocksy container + template padding.
   Magazine block já tem border-top 3px como âncora visual; não precisa de ar antes.
   !important porque Blocksy seta padding via CSS var com especificidade alta. */
body.home .ct-container-full { padding-top: 0 !important; padding-bottom: 0 !important; }
body.home main .ct-container-full { padding-top: 0 !important; }
body.home .mb-template-home { padding-top: 0 !important; padding-bottom: 8px !important; }
body.home .entry-content { padding-top: 0 !important; margin-top: 0 !important; }
/* O magazine encosta no header com respiro mínimo de 4px. */
body.home .mb-magazine { margin-top: 4px; }
/* Newsletter (último bloco da home) sem margem morta antes do footer. */
body.home .mb-lead { margin-bottom: 0; }

.mb-magazine__head {
	display: grid;
	grid-template-columns: 1fr minmax(0, 280px);
	gap: 32px;
	align-items: start;
	padding-bottom: 10px;
	margin-bottom: 14px;
	border-bottom: 1px solid var(--theme-palette-color-5, #E2E8F0);
}

.mb-magazine__h1 {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-weight: 700;
	/* 2 linhas: "Viajar mais. E melhor." / "Com milhas." (linha 1 mais longa).
	   Histórico: 52/7.5vw/110 → 40/5.5vw/78 → 38/5vw/70 → 34/4.2vw/56 → 36/4.4vw/60 (3 linhas) → 34/4vw/54 (2 linhas, linha 1 longa). */
	font-size: clamp(34px, 4vw, 54px);
	line-height: 1.0;
	letter-spacing: -0.03em;
	color: var(--theme-palette-color-4, #14233A);
	margin: 0;
	text-wrap: balance;
}

.mb-magazine__h1 em {
	font-style: italic;
	font-weight: 400;
}

/* "Com milhas." — 3ª linha em dourado: amarra o foco do site (milhas) ao
   accent da marca. Crescendo editorial: bold navy → italic navy → bold dourado. */
.mb-magazine__h1-milhas {
	color: #B8893B;
}

.mb-magazine__sub {
	font-family: var(--mb-sans, 'Inter', system-ui, sans-serif);
	font-size: 13px;
	color: var(--mb-body, #2A3647);
	line-height: 1.6;
	text-align: right;
	margin: 0;
	/* alinha opticamente com a cap-height da 1ª linha do H1 (line-height 0.95) */
	padding-top: 10px;
}

.mb-magazine__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) 1px minmax(0, 1fr) 1px minmax(0, 1fr);
	gap: 0;
}

.mb-magazine__divider {
	/* Hairline editorial entre colunas — mais escuro que o border default
	   pra ler como "rule" de jornal impresso sobre o fundo branco. */
	background: #94A3B8;
	width: 1px;
	opacity: 0.45;
}

.mb-magazine__col {
	display: flex;
	flex-direction: column;
}

.mb-magazine__col--1 { padding-right: 32px; }
.mb-magazine__col--2 { padding: 0 32px; }
.mb-magazine__col--3 { padding-left: 32px; }

.mb-magazine__feature-link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.mb-magazine__feature-img {
	width: 100%;
	height: 260px;
	object-fit: cover;
	display: block;
	margin-bottom: 18px;
	transition: transform .6s ease;
}

.mb-magazine__feature-link:hover .mb-magazine__feature-img {
	transform: scale(1.02);
}

.mb-magazine__eyebrow {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.22em;
	color: var(--theme-palette-color-1, #2E6BB0);
	font-weight: 600;
	text-transform: uppercase;
	margin: 0 0 10px;
}

.mb-magazine__eyebrow--muted {
	color: var(--mb-body, #2A3647);
	opacity: 0.55;
}

.mb-magazine__title {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--theme-palette-color-4, #14233A);
	margin: 0 0 10px;
	letter-spacing: -0.018em;
	/* Altura previsível: até 2 linhas, reservando 2 linhas (cards alinhados). */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	min-height: 2.4em;
	text-wrap: balance;
}

.mb-magazine__title--small {
	font-size: 20px;
}

.mb-magazine__excerpt {
	font-family: var(--mb-sans, 'Inter', system-ui, sans-serif);
	font-size: 14px;
	line-height: 1.65;
	color: var(--mb-body, #2A3647);
	margin: 0;
	text-wrap: pretty;
	/* Resolve "cada post muda o layout": trava em 3 linhas e reserva 3 linhas,
	   independentemente do tamanho do texto. O cap word-safe no PHP (mb_home_excerpt,
	   165 chars) garante que o corte caia natural; o clamp é o backstop visual p/
	   qualquer destino que rotacione pra home. min = max = altura idêntica em todos. */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	min-height: 4.95em; /* 3 × 1.65 */
}

.mb-magazine__excerpt--small {
	font-size: 13px;
	line-height: 1.6;
	min-height: 4.8em; /* 3 × 1.6 — col2 alinhado (cards top/bottom iguais) */
}

/* "Em destaque agora" — stat editorial SEM box navy (decisão 2026-05-28: o card
   navy preenchido era o "hero-metric template", cliché de SaaS/AI flagrado pelo
   impeccable). Agora é tipográfico puro: número dourado gigante sobre o branco,
   consistente com a lista "Bônus ativos" da col 3. Gold = único accent (Restrained). */
.mb-magazine__bonus-card {
	display: block;
	text-decoration: none;
	padding: 0 0 22px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--theme-palette-color-5, #E2E8F0);
}

/* Variante col 3: destaque 120% vive EMBAIXO da lista "Bônus ativos".
   Separador vira border-top (não bottom), sem margem inferior. */
.mb-magazine__bonus-card--col3 {
	border-bottom: 0;
	border-top: 1px solid var(--theme-palette-color-5, #E2E8F0);
	padding: 24px 0 0;
	margin-top: 28px;
	margin-bottom: 0;
}
.mb-magazine__bonus-card--col3 .mb-magazine__eyebrow {
	margin-bottom: 10px;
}

/* Hairline editorial separando os dois destinos da col 2 */
.mb-magazine__col-rule {
	border: 0;
	border-top: 1px solid var(--theme-palette-color-5, #E2E8F0);
	margin: 22px 0;
	width: 100%;
}

.mb-magazine__bonus-card:hover .mb-magazine__bonus-card__percent {
	color: #C99746;
}

.mb-magazine__bonus-card__rota {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 16px;
	color: var(--theme-palette-color-4, #14233A);
	font-weight: 500;
	margin: 0 0 2px;
	letter-spacing: -0.01em;
}

.mb-magazine__bonus-card__seta {
	color: #B8893B;
	margin: 0 4px;
}

.mb-magazine__bonus-card__percent {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: clamp(56px, 6vw, 72px);
	font-weight: 700;
	color: #B8893B;
	line-height: 0.95;
	letter-spacing: -0.035em;
	display: block;
	transition: color .2s ease;
}

.mb-magazine__bonus-card__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 6px;
}

.mb-magazine__bonus-card__stars {
	color: #B8893B;
	font-size: 12px;
	letter-spacing: 1px;
}

.mb-magazine__bonus-card__exp {
	font-size: 11px;
	color: var(--mb-body, #2A3647);
	opacity: 0.6;
	font-family: var(--mb-sans, 'Inter', system-ui, sans-serif);
}

.mb-magazine__brand-text {
	font-family: var(--mb-sans, 'Inter', system-ui, sans-serif);
	font-size: 14px;
	color: var(--mb-body, #2A3647);
	line-height: 1.75;
	margin: 0 0 24px;
}

.mb-magazine__lista {
	border-top: 1px solid var(--theme-palette-color-5, #E2E8F0);
	padding-top: 18px;
	margin-top: 4px;
}

.mb-magazine__lista-titulo {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	/* Mesma cor do eyebrow "Em destaque agora" — unifica visual entre col 2 e col 3 */
	color: var(--theme-palette-color-1, #2E6BB0);
	font-weight: 600;
	margin: 0 0 12px;
}

.mb-magazine__lista-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 9px 0;
	border-bottom: 1px solid #f3f4f6;
	text-decoration: none;
	color: inherit;
}

.mb-magazine__lista-row:last-child { border-bottom: 0; }

.mb-magazine__lista-row:hover .mb-magazine__lista-pct {
	color: #C99746;
}

.mb-magazine__lista-rota {
	font-family: var(--mb-sans, 'Inter', system-ui, sans-serif);
	font-size: 12px;
	color: var(--mb-body, #2A3647);
}

.mb-magazine__lista-pct {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 17px;
	color: #B8893B;
	font-weight: 700;
	transition: color .2s ease;
}

@media (max-width: 920px) {
	.mb-magazine {
		padding: 18px 0 24px;
		margin: 8px 0 28px;
	}
	.mb-magazine__head {
		grid-template-columns: 1fr;
		align-items: flex-start;
		gap: 10px;
		padding-bottom: 8px;
		margin-bottom: 14px;
	}
	.mb-magazine__sub {
		text-align: left;
		padding-bottom: 0;
	}
	.mb-magazine__grid {
		grid-template-columns: 1fr;
	}
	.mb-magazine__divider { display: none; }
	.mb-magazine__col--1,
	.mb-magazine__col--2,
	.mb-magazine__col--3 { padding: 0; }
	.mb-magazine__col--2,
	.mb-magazine__col--3 {
		border-top: 1px solid var(--theme-palette-color-5, #E2E8F0);
		padding-top: 28px;
		margin-top: 28px;
	}
	.mb-magazine__feature-img { height: 220px; }
}

/* ==========================================================================
   RANKING / LISTICLE — formato world-class (CNT Gold List style).
   Numerais Fraunces gigantes em dourado, cada item numa linha editorial,
   #1 em destaque, índice sticky lateral, reveal no scroll. 2026-05-28.
   ========================================================================== */

.mb-ranking {
	max-width: 1080px;
	margin: 0 auto;
	padding: 8px 22px 64px;
	font-family: var(--mb-sans, 'Schibsted Grotesk', sans-serif);
	color: var(--mb-body, #2A3647);
}

/* ---- Cabeçalho ---- */
.mb-ranking-head {
	border-bottom: 2px solid var(--theme-palette-color-4, #14233A);
	padding-bottom: 28px;
	margin-bottom: 40px;
}
.mb-ranking-head__eyebrow {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--theme-palette-color-1, #2E6BB0);
	font-weight: 600;
	margin: 0 0 14px;
}
.mb-ranking-head__titulo {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-weight: 700;
	font-size: clamp(34px, 5vw, 58px);
	line-height: 1.04;
	letter-spacing: -0.025em;
	color: var(--theme-palette-color-4, #14233A);
	margin: 0 0 18px;
	text-wrap: balance;
}
.mb-ranking-head__dek {
	font-size: clamp(16px, 2vw, 19px);
	line-height: 1.6;
	color: var(--mb-body, #2A3647);
	max-width: 64ch;
	margin: 0 0 18px;
	text-wrap: pretty;
}
.mb-ranking-head__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	letter-spacing: 0.06em;
	color: var(--mb-body, #2A3647);
	opacity: 0.6;
}
.mb-ranking-head__meta span { white-space: nowrap; }

/* ---- Layout: índice + lista ---- */
.mb-ranking-layout { display: grid; grid-template-columns: 1fr; gap: 0; }

.mb-ranking-index { display: none; }
@media (min-width: 1040px) {
	.mb-ranking-layout { grid-template-columns: 184px 1fr; gap: 56px; }
	.mb-ranking-index { display: block; position: sticky; top: 96px; align-self: start; }
}
.mb-ranking-index__t {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--mb-body, #2A3647);
	opacity: 0.5;
	font-weight: 600;
	margin: 0 0 14px;
}
.mb-ranking-index__list { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.mb-ranking-index__list a {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 9px 0;
	border-bottom: 1px solid var(--theme-palette-color-5, #E2E8F0);
	text-decoration: none;
	color: var(--theme-palette-color-4, #14233A);
	transition: color .15s ease;
}
.mb-ranking-index__list a:hover { color: var(--theme-palette-color-1, #2E6BB0); }
.mb-ranking-index__n {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 15px;
	font-weight: 700;
	color: #B8893B;
	min-width: 22px;
}
.mb-ranking-index__nome {
	font-size: 13px;
	line-height: 1.3;
}

/* ---- Nota de metodologia ---- */
.mb-ranking-metodo {
	font-size: 14px;
	line-height: 1.6;
	color: var(--mb-body, #2A3647);
	background: var(--theme-palette-color-8, #EAF1FB);
	border-radius: 4px;
	padding: 16px 20px;
	margin: 0 0 12px;
}
.mb-ranking-metodo a { color: var(--theme-palette-color-1, #2E6BB0); font-weight: 600; }

/* ---- Item do ranking ---- */
.mb-rank-item {
	display: grid;
	grid-template-columns: clamp(64px, 11vw, 124px) 1fr;
	gap: clamp(16px, 3vw, 40px);
	padding: 40px 0;
	border-bottom: 1px solid var(--theme-palette-color-5, #E2E8F0);
	align-items: start;
	/* reveal no scroll */
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .6s cubic-bezier(0.22,1,0.36,1), transform .6s cubic-bezier(0.22,1,0.36,1);
}
.mb-rank-item.is-in { opacity: 1; transform: none; }
.mb-rank-item:last-child { border-bottom: 0; }

.mb-rank-num {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-weight: 700;
	font-size: clamp(58px, 9vw, 116px);
	line-height: 0.82;
	letter-spacing: -0.04em;
	color: #B8893B;
	font-variant-numeric: lining-nums;
}

/* #1 em destaque: tint quente + régua dourada no topo + numeral maior */
.mb-rank-item--top {
	background: linear-gradient(180deg, #FBF6EC 0%, #FFFDF8 70%);
	border-top: 3px solid #B8893B;
	border-bottom: 1px solid var(--theme-palette-color-5, #E2E8F0);
	padding: 36px clamp(18px, 3vw, 34px) 40px;
	border-radius: 0 0 4px 4px;
}
.mb-rank-item--top .mb-rank-num { font-size: clamp(72px, 11vw, 140px); }

.mb-rank-eyebrow {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--theme-palette-color-1, #2E6BB0);
	font-weight: 600;
	margin: 0 0 8px;
}
.mb-rank-titulo {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-weight: 600;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--theme-palette-color-4, #14233A);
	margin: 0 0 16px;
}
.mb-rank-titulo__pos {
	color: #B8893B;
	font-weight: 700;
	margin-right: 6px;
}

.mb-rank-meta {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}
.mb-rank-melhoruso { display: flex; flex-direction: column; gap: 2px; }
.mb-rank-melhoruso__label {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 9px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mb-body, #2A3647);
	opacity: 0.5;
	font-weight: 600;
}
.mb-rank-melhoruso__val {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 18px;
	font-weight: 500;
	color: var(--theme-palette-color-4, #14233A);
}
.mb-rank-selo { flex-shrink: 0; }

.mb-rank-texto {
	font-size: 16px;
	line-height: 1.65;
	color: var(--mb-body, #2A3647);
	max-width: 68ch;
	margin: 0 0 18px;
	text-wrap: pretty;
}

.mb-rank-proscons {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	margin-bottom: 18px;
}
.mb-rank-proscons__label {
	display: block;
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 9px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 6px;
}
.mb-rank-pros .mb-rank-proscons__label { color: var(--mb-verify-tx, #0F6E56); }
.mb-rank-contras .mb-rank-proscons__label { color: #B8893B; }
.mb-rank-proscons ul { list-style: none; margin: 0; padding: 0; }
.mb-rank-proscons li {
	font-size: 14px;
	line-height: 1.5;
	color: var(--mb-body, #2A3647);
	padding-left: 18px;
	position: relative;
	margin-bottom: 4px;
}
.mb-rank-pros li::before {
	content: '✓'; position: absolute; left: 0; color: var(--mb-verify, #1D9E75); font-weight: 700;
}
.mb-rank-contras li::before {
	content: '!'; position: absolute; left: 2px; color: #B8893B; font-weight: 700;
}

.mb-rank-cta {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 12px;
	letter-spacing: 0.04em;
	font-weight: 600;
	color: var(--theme-palette-color-1, #2E6BB0);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color .15s ease;
}
.mb-rank-cta:hover { border-bottom-color: var(--theme-palette-color-1, #2E6BB0); }

@media (max-width: 600px) {
	.mb-rank-item { grid-template-columns: 1fr; gap: 4px; padding: 30px 0; }
	.mb-rank-num { font-size: 56px; line-height: 1; }
	.mb-rank-item--top { padding: 24px 18px 30px; }
	.mb-rank-titulo__pos { display: none; } /* numeral já comunica a posição */
}

@media (prefers-reduced-motion: reduce) {
	.mb-rank-item { opacity: 1; transform: none; transition: none; }
}

/* Callout que linka o ranking a partir de páginas-pilar (anti-órfã) */
.mb-ranking-callout {
	display: flex;
	flex-direction: column;
	gap: 4px;
	background: linear-gradient(180deg, #FBF6EC 0%, #FFFDF8 100%);
	border: 1px solid #E8D8B8;
	border-left: none;
	border-top: 3px solid #B8893B;
	border-radius: 0 0 6px 6px;
	padding: 20px 24px;
	margin: 0 0 28px;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
.mb-ranking-callout:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(184, 137, 59, 0.12);
}
.mb-ranking-callout__eyebrow {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #B8893B;
	font-weight: 600;
}
.mb-ranking-callout__titulo {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: clamp(20px, 3vw, 26px);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--theme-palette-color-4, #14233A);
}
.mb-ranking-callout__cta {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 12px;
	font-weight: 600;
	color: var(--theme-palette-color-1, #2E6BB0);
	margin-top: 6px;
}

/* ==========================================================================
   COMPARATIVO DE FERRAMENTAS — 2 cards lado a lado + tabela + chips.
   Usado em /ferramentas/ pra comparar buscadores de award (seats.aero/SeatSpy).
   2026-05-28.
   ========================================================================== */

.mb-compare-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin: 0 0 40px;
}
@media (min-width: 760px) {
	.mb-compare-grid { grid-template-columns: 1fr 1fr; }
}

.mb-compare-card {
	border: 1px solid var(--theme-palette-color-5, #E2E8F0);
	border-radius: 6px;
	padding: 26px 24px;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.mb-compare-card--pick {
	border: 1px solid #E8D8B8;
	border-top: 3px solid #B8893B;
	background: linear-gradient(180deg, #FBF6EC 0%, #FFFDF8 55%);
}
.mb-compare-card__badge {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #B8893B;
	font-weight: 600;
}
.mb-compare-card__nome {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: clamp(24px, 3vw, 30px);
	font-weight: 700;
	color: var(--theme-palette-color-4, #14233A);
	letter-spacing: -0.02em;
	margin: 0;
	line-height: 1;
}
.mb-compare-card__tag {
	font-size: 14px;
	line-height: 1.5;
	color: var(--mb-body, #2A3647);
	margin: 0;
}
.mb-compare-card__block { display: flex; flex-direction: column; gap: 6px; }
.mb-compare-card__label {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 9px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mb-body, #2A3647);
	opacity: 0.55;
	font-weight: 600;
}
.mb-compare-card__preco {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 20px;
	font-weight: 600;
	color: var(--theme-palette-color-4, #14233A);
}
.mb-compare-card__preco small {
	font-family: var(--mb-sans, sans-serif);
	font-size: 13px;
	font-weight: 400;
	color: var(--mb-body, #2A3647);
	opacity: 0.7;
}
.mb-compare-card__val { font-size: 14px; line-height: 1.5; color: var(--mb-body, #2A3647); }
.mb-compare-card__cta {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 12px;
	font-weight: 600;
	color: var(--theme-palette-color-1, #2E6BB0);
	text-decoration: none;
	margin-top: auto;
	border-bottom: 1px solid transparent;
	align-self: flex-start;
	transition: border-color .15s ease;
}
.mb-compare-card__cta:hover { border-bottom-color: var(--theme-palette-color-1, #2E6BB0); }

/* Chips de programas/cias */
.mb-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.mb-chip-prog {
	font-family: var(--mb-sans, sans-serif);
	font-size: 12px;
	line-height: 1;
	color: var(--theme-palette-color-4, #14233A);
	background: var(--theme-palette-color-8, #EAF1FB);
	border: 1px solid var(--theme-palette-color-5, #E2E8F0);
	border-radius: 100px;
	padding: 6px 11px;
	white-space: nowrap;
}
.mb-chip-prog--br {
	background: #FBF1DE;
	border-color: #E8D8B8;
	color: #7A5A1E;
	font-weight: 600;
}

/* Tabela comparativa de features */
.mb-compare-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 40px;
	font-size: 14px;
}
.mb-compare-table caption {
	text-align: left;
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--theme-palette-color-1, #2E6BB0);
	font-weight: 600;
	margin-bottom: 12px;
}
.mb-compare-table th,
.mb-compare-table td {
	text-align: left;
	padding: 13px 14px;
	border-bottom: 1px solid var(--theme-palette-color-5, #E2E8F0);
	vertical-align: top;
	line-height: 1.45;
}
.mb-compare-table thead th {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 16px;
	font-weight: 700;
	color: var(--theme-palette-color-4, #14233A);
}
.mb-compare-table thead th:first-child { font-family: var(--mb-sans, sans-serif); font-size: 10px; }
.mb-compare-table tbody td:first-child {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mb-body, #2A3647);
	opacity: 0.6;
	white-space: nowrap;
}
.mb-compare-table tbody tr:hover td { background: rgba(234, 241, 251, 0.4); }

/* Veredito box (qual usar quando) */
.mb-verdict-box {
	background: var(--theme-palette-color-4, #14233A);
	color: #fff;
	border-radius: 6px;
	padding: 30px 32px;
	margin: 0 0 36px;
}
.mb-verdict-box__label {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #B8893B;
	font-weight: 600;
	margin: 0 0 12px;
}
.mb-verdict-box h2 {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: clamp(22px, 3vw, 28px);
	font-weight: 600;
	color: #fff;
	margin: 0 0 14px;
	letter-spacing: -0.02em;
}
.mb-verdict-box p { font-size: 15px; line-height: 1.65; color: rgba(255,255,255,0.85); margin: 0 0 12px; }
.mb-verdict-box p:last-child { margin-bottom: 0; }
.mb-verdict-box strong { color: #fff; }
.mb-verdict-box em { color: #E8C98A; font-style: normal; font-weight: 600; }

/* ==========================================================================
   HUB DE FERRAMENTAS — /ferramentas/ (índice das ferramentas). 2026-05-28.
   ========================================================================== */
.mb-tools-hub {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	margin: 0 0 12px;
}
@media (min-width: 720px) {
	.mb-tools-hub { grid-template-columns: 1fr 1fr; }
}
.mb-tool-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: #fff;
	border: 1px solid var(--theme-palette-color-5, #E2E8F0);
	border-radius: 6px;
	padding: 26px 24px;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.mb-tool-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 32px rgba(20, 35, 58, 0.08);
	border-color: #B8893B;
}
.mb-tool-card__eyebrow {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--theme-palette-color-1, #2E6BB0);
	font-weight: 600;
}
.mb-tool-card__nome {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: clamp(22px, 3vw, 28px);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--theme-palette-color-4, #14233A);
	margin: 0;
	line-height: 1.1;
}
.mb-tool-card__desc {
	font-size: 14px;
	line-height: 1.6;
	color: var(--mb-body, #2A3647);
	margin: 0;
	flex: 1;
}
.mb-tool-card__cta {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 12px;
	font-weight: 600;
	color: var(--theme-palette-color-1, #2E6BB0);
	margin-top: 4px;
}

/* ==========================================================================
   DOCUMENTAÇÃO PARA BRASILEIROS — card Liquid Content (só destinos internacionais).
   Renderizado pelo template-destino via mb_render_doc_brasileiro(). 2026-05-28.
   ========================================================================== */
.mb-doc-card {
	background: var(--theme-palette-color-8, #EAF1FB);
	border: 1px solid var(--theme-palette-color-5, #E2E8F0);
	border-top: 3px solid #B8893B;
	border-radius: 0 0 6px 6px;
	padding: 26px 28px;
	margin: 40px 0;
}
.mb-doc-card__eyebrow {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #B8893B;
	font-weight: 600;
	margin: 0 0 6px;
}
.mb-doc-card__titulo {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: clamp(20px, 3vw, 26px);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--theme-palette-color-4, #14233A);
	margin: 0 0 20px;
	line-height: 1.15;
}
.mb-doc-card__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
@media (min-width: 640px) {
	.mb-doc-card__grid { grid-template-columns: repeat(3, 1fr); }
}
.mb-doc-card__item { display: flex; flex-direction: column; gap: 6px; }
.mb-doc-card__label {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--theme-palette-color-1, #2E6BB0);
	font-weight: 600;
}
.mb-doc-card__item p {
	font-size: 14px;
	line-height: 1.55;
	color: var(--mb-body, #2A3647);
	margin: 0;
}
.mb-doc-card__extra {
	font-size: 14px;
	line-height: 1.6;
	color: var(--mb-body, #2A3647);
	margin: 20px 0 0;
	padding: 14px 16px;
	background: #FBF1DE;
	border-radius: 4px;
}
.mb-doc-card__rg {
	margin-top: 14px;
	padding: 12px 14px;
	background: #FBF1DE;
	border-left: 3px solid #B8893B;
	border-radius: 4px;
}
.mb-doc-card__rg .mb-doc-card__label { color: #B8893B; }
.mb-doc-card__rg p {
	font-size: 14px;
	line-height: 1.6;
	color: var(--mb-body, #2A3647);
	margin: 4px 0 0;
}
.mb-doc-card__nota {
	font-size: 12px;
	line-height: 1.5;
	color: var(--mb-body, #2A3647);
	opacity: 0.7;
	margin: 18px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--theme-palette-color-5, #E2E8F0);
}

/* ==========================================================================
   "Últimos guias" — seção dinâmica na home (onde o conteúdo novo aparece).
   ========================================================================== */
.mb-ultimos { margin: 36px 0; }
.mb-ultimos__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	border-top: 3px solid var(--theme-palette-color-4, #14233A);
	padding-top: 18px;
	margin-bottom: 22px;
}
.mb-ultimos__titulo {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: clamp(24px, 3.5vw, 34px);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--theme-palette-color-4, #14233A);
	margin: 0;
	line-height: 1;
}
.mb-ultimos__ver {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--theme-palette-color-1, #2E6BB0);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.mb-ultimos__ver:hover { color: #B8893B; }
.mb-ultimos .mb-cards--destinos { margin-top: 0; }

/* Conteúdo das páginas-pilar (Comece aqui, Premium, Cartões): tipografia editorial */
.mb-pilar-corpo h2 {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--theme-palette-color-4, #14233A);
	margin: 36px 0 12px;
	padding-top: 16px;
	border-top: 1px solid var(--theme-palette-color-5, #E2E8F0);
}
.mb-pilar-corpo h2:first-child { border-top: 0; padding-top: 0; margin-top: 8px; }
.mb-pilar-corpo p, .mb-pilar-corpo li {
	font-size: 16px;
	line-height: 1.65;
	color: var(--mb-body, #2A3647);
}
.mb-pilar-corpo a { color: var(--theme-palette-color-1, #2E6BB0); font-weight: 600; }
.mb-pilar-corpo ul { padding-left: 20px; }
.mb-pilar-corpo li { margin-bottom: 6px; }

/* ==========================================================================
   CALCULADORA DE MILHAS v2 — multi-modo (shortcode [milhasbot_calculadora])
   ========================================================================== */
.mb-calc2 { margin: 0 0 32px; }

.mb-calc2__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	border-bottom: 1px solid var(--mb-border, #E2E8F0);
}
.mb-calc2__tab {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--mb-body, #2A3647);
	background: transparent;
	border: none;
	border-bottom: 2px solid transparent;
	padding: 12px 16px;
	margin-bottom: -1px;
	cursor: pointer;
	transition: color .15s ease, border-color .15s ease;
}
.mb-calc2__tab:hover { color: var(--mb-brand, #2E6BB0); }
.mb-calc2__tab.is-active {
	color: var(--mb-brand-strong, #1E4F86);
	border-bottom-color: var(--mb-brand, #2E6BB0);
}

.mb-calc2__panel {
	background: #fff;
	border: 1px solid var(--mb-border, #E2E8F0);
	border-top: none;
	border-radius: 0 0 4px 4px;
	padding: 28px 32px;
}
.mb-calc2__lead {
	font-family: var(--mb-sans, 'Inter', sans-serif);
	font-size: 15px;
	line-height: 1.55;
	color: var(--mb-body, #2A3647);
	margin: 0 0 22px;
}
.mb-calc2__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
	margin-bottom: 26px;
}
.mb-calc2__field { display: flex; flex-direction: column; gap: 8px; }
.mb-calc2__field > span {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mb-brand, #2E6BB0);
	font-weight: 600;
}
.mb-calc2__field input,
.mb-calc2__field select {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 22px;
	font-weight: 500;
	color: var(--mb-title, #14233A);
	background: var(--mb-bg, #F5F7FB);
	border: 1px solid var(--mb-border, #E2E8F0);
	border-radius: 4px;
	padding: 13px 15px;
	min-height: 54px;
	width: 100%;
	outline: none;
	transition: border-color .15s ease;
}
.mb-calc2__field select { font-size: 16px; font-family: var(--mb-sans, 'Inter', sans-serif); }
.mb-calc2__field input:focus,
.mb-calc2__field select:focus { border-color: var(--mb-brand, #2E6BB0); }
.mb-calc2__hint {
	font-family: var(--mb-sans, 'Inter', sans-serif);
	font-size: 11px;
	line-height: 1.4;
	color: var(--mb-body, #2A3647);
	opacity: 0.7;
	margin-top: 2px;
}

.mb-calc2__out {
	background: var(--mb-panel, #14233A);
	color: #fff;
	padding: 26px 30px;
	border-radius: 4px;
	min-height: 130px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.mb-calc2__ph { font-family: var(--mb-sans, 'Inter', sans-serif); color: rgba(255,255,255,0.6); margin: 0; font-size: 14px; }
.mb-calc2__numero {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: clamp(38px, 5vw, 60px);
	font-weight: 700;
	color: #B8893B;
	letter-spacing: -0.03em;
	line-height: 1;
}
.mb-calc2__sub {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	letter-spacing: 0.06em;
	color: rgba(255,255,255,0.7);
	margin: 8px 0 14px;
}
.mb-calc2__verdict {
	font-family: var(--mb-sans, 'Inter', sans-serif);
	font-size: 13.5px;
	line-height: 1.55;
	padding: 12px 16px;
	border-radius: 3px;
}
.mb-calc2__verdict--ok   { background: rgba(29, 158, 117, 0.15); color: #8BD9B6; }
.mb-calc2__verdict--warn { background: rgba(184, 137, 59, 0.18); color: #E0B470; }
.mb-calc2__verdict--bad  { background: rgba(192, 57, 43, 0.18); color: #EC8E81; }
.mb-calc2__verdict strong { color: #fff; }

.mb-calc2__share {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mb-brand, #2E6BB0);
	background: var(--mb-soft, #EAF1FB);
	border: 1px solid var(--mb-border, #E2E8F0);
	border-radius: 4px;
	padding: 9px 14px;
	margin-top: 14px;
	cursor: pointer;
}
.mb-calc2__share:hover { background: #fff; }
.mb-calc2__metodologia {
	font-family: var(--mb-sans, 'Inter', sans-serif);
	font-size: 13px;
	line-height: 1.6;
	color: var(--mb-body, #2A3647);
	margin: 20px 0 0;
}
@media (max-width: 720px) {
	.mb-calc2__panel { padding: 22px 18px; }
	.mb-calc2__field input, .mb-calc2__field select { font-size: 18px; }
	.mb-calc2__tab { padding: 11px 12px; font-size: 10px; }
}

/* ==========================================================================
   PASSAGENS EM MILHAS — painel por destino + explorador (banco de ofertas)
   ========================================================================== */
.mb-passagens {
	margin: 40px 0;
	padding: 26px 28px;
	background: var(--mb-bg, #F5F7FB);
	border: 1px solid var(--mb-border, #E2E8F0);
	border-radius: 4px;
}
.mb-passagens__title {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: clamp(22px, 2.6vw, 28px);
	color: var(--mb-title, #14233A);
	margin: 0 0 6px;
	letter-spacing: -0.02em;
}
.mb-passagens__dek {
	font-family: var(--mb-sans, 'Inter', sans-serif);
	font-size: 14px; line-height: 1.55; color: var(--mb-body, #2A3647);
	margin: 0 0 18px; max-width: 70ch;
}
.mb-passagens__cards {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px;
}
.mb-passagens__card {
	display: flex; flex-direction: column; gap: 4px;
	background: #fff; border: 1px solid var(--mb-border, #E2E8F0); border-radius: 4px; padding: 16px 18px;
}
.mb-passagens__cabine {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mb-brand, #2E6BB0); font-weight: 600;
}
.mb-passagens__pontos {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 28px; font-weight: 700; color: var(--mb-title, #14233A); letter-spacing: -0.02em;
}
.mb-passagens__pontos small { font-size: 13px; font-weight: 500; color: var(--mb-body, #2A3647); }
.mb-passagens__meta { font-family: var(--mb-sans, 'Inter', sans-serif); font-size: 12.5px; color: var(--mb-body, #2A3647); }
.mb-passagens__nota { font-family: var(--mb-sans, 'Inter', sans-serif); font-size: 13px; color: var(--mb-body, #2A3647); margin: 18px 0 0; }
.mb-passagens__nota a, .mb-passagens__dek a { color: var(--mb-brand, #2E6BB0); font-weight: 600; }

.mb-explorador { margin: 8px 0 32px; }
.mb-explorador__controls { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.mb-explorador__controls input, .mb-explorador__controls select {
	font-family: var(--mb-sans, 'Inter', sans-serif); font-size: 15px;
	padding: 11px 14px; border: 1px solid var(--mb-border, #E2E8F0); border-radius: 4px; background: #fff; color: var(--mb-title, #14233A);
}
.mb-explorador__controls input { flex: 1 1 260px; min-width: 200px; }
.mb-explorador__wrap { overflow-x: auto; border: 1px solid var(--mb-border, #E2E8F0); border-radius: 4px; }
.mb-explorador__table { width: 100%; border-collapse: collapse; font-family: var(--mb-sans, 'Inter', sans-serif); font-size: 14px; }
.mb-explorador__table th {
	text-align: left; font-family: var(--mb-mono, 'JetBrains Mono', monospace); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--mb-body, #2A3647); background: var(--mb-bg, #F5F7FB); padding: 10px 14px; border-bottom: 1px solid var(--mb-border, #E2E8F0); white-space: nowrap;
}
.mb-explorador__table th[data-sort] { cursor: pointer; color: var(--mb-brand, #2E6BB0); }
.mb-explorador__table td { padding: 12px 14px; border-bottom: 1px solid var(--mb-border, #E2E8F0); color: var(--mb-body, #2A3647); vertical-align: top; }
.mb-explorador__table td small { color: rgba(42,54,71,0.7); }
.mb-explorador__table tr:hover td { background: var(--mb-soft, #EAF1FB); }
.mb-explorador__table .mbx-num { text-align: right; font-family: var(--mb-mono, 'JetBrains Mono', monospace); font-weight: 600; color: var(--mb-title, #14233A); white-space: nowrap; }
.mbx-calc { color: var(--mb-brand, #2E6BB0); font-weight: 600; font-size: 13px; white-space: nowrap; }
.mb-explorador__nota { font-family: var(--mb-sans, 'Inter', sans-serif); font-size: 12.5px; color: var(--mb-body, #2A3647); margin: 12px 0 0; }
@media (max-width: 720px) {
	.mb-passagens { padding: 20px 16px; }
	.mb-explorador__table { font-size: 13px; }
	.mb-explorador__table td, .mb-explorador__table th { padding: 9px 10px; }
}

/* passagens: faixa observada + comparador por programa + sparkline + sweet badge + checkbox */
.mb-passagens__faixa { font-size: 11.5px; color: rgba(42,54,71,0.75); }
.mb-passagens__prog, .mb-passagens__hist { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--mb-border, #E2E8F0); }
.mb-passagens__prog-lbl {
	display: block; font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mb-brand, #2E6BB0); font-weight: 600; margin-bottom: 10px;
}
.mb-passagens__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mb-passagens__chip {
	font-family: var(--mb-sans, 'Inter', sans-serif); font-size: 13px; color: var(--mb-body, #2A3647);
	background: #fff; border: 1px solid var(--mb-border, #E2E8F0); border-radius: 999px; padding: 6px 12px;
}
.mb-passagens__chip strong { color: var(--mb-title, #14233A); font-family: var(--mb-mono, 'JetBrains Mono', monospace); }
.mb-passagens__spark { width: 100%; max-width: 360px; height: 46px; display: block; }
.mbx-sweet {
	display: inline-block; margin-left: 6px; font-family: var(--mb-sans, 'Inter', sans-serif);
	font-size: 10px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase;
	color: #1D6E4F; background: rgba(29,158,117,0.16); border-radius: 3px; padding: 2px 7px; vertical-align: middle;
}
.mbx-check { display: inline-flex; align-items: center; gap: 7px; font-family: var(--mb-sans, 'Inter', sans-serif); font-size: 14px; color: var(--mb-body, #2A3647); cursor: pointer; }
.mbx-check input { width: 16px; height: 16px; }
.mbx-dest { color: var(--mb-brand, #2E6BB0); font-weight: 600; font-size: 12px; }

/* painel-âncora de executiva por região (#10) */
.mb-exec-ancora { background: var(--mb-panel, #14233A); color: #fff; border-radius: 4px; padding: 26px 30px; margin: 24px 0; }
.mb-exec-ancora__eyebrow { display: block; font-family: var(--mb-mono, 'JetBrains Mono', monospace); font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 16px; }
.mb-exec-ancora__grid { display: flex; flex-wrap: wrap; gap: 32px; }
.mb-exec-ancora__item { display: flex; flex-direction: column; gap: 2px; }
.mb-exec-ancora__regiao { font-family: var(--mb-sans, 'Inter', sans-serif); font-size: 13px; color: rgba(255,255,255,0.8); }
.mb-exec-ancora__num { font-family: var(--mb-serif, 'Fraunces', Georgia, serif); font-size: clamp(30px, 4vw, 46px); font-weight: 700; color: #B8893B; line-height: 1; letter-spacing: -0.02em; }
.mb-exec-ancora__u { font-family: var(--mb-mono, 'JetBrains Mono', monospace); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.55); }
.mb-exec-ancora__nota { display: block; margin-top: 16px; font-family: var(--mb-sans, 'Inter', sans-serif); font-size: 12px; color: rgba(255,255,255,0.55); }

/* nome do card (hotel/restaurante/atração/praia) vira link para a página do local */
.mb-card-title a { color: inherit; text-decoration: none; }
.mb-card-title a:hover { color: var(--mb-brand, #2E6BB0); text-decoration: underline; }

/* nav de deep-dives no topo de /programas/ */
.mb-prog-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 28px; padding: 14px 0; border-top: 1px solid var(--mb-border,#E2E8F0); border-bottom: 1px solid var(--mb-border,#E2E8F0); }
.mb-prog-nav__lbl { font-family: var(--mb-mono,monospace); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--mb-body,#2A3647); opacity:.7; margin-right: 4px; }
.mb-prog-nav a { font-family: var(--mb-sans,sans-serif); font-size: 13px; font-weight: 600; color: var(--mb-brand,#2E6BB0); background: var(--mb-soft,#EAF1FB); border:1px solid var(--mb-border,#E2E8F0); border-radius: 999px; padding: 5px 12px; text-decoration: none; }
.mb-prog-nav a:hover { background:#fff; }

/* ============================================================
   Comparador de Cartões — [mb_cartoes_comparador]
   ============================================================ */
.mb-cc { margin: 28px 0 8px; }
.mb-cc--vazio { padding: 28px; border:1px dashed var(--mb-border,#E2E8F0); border-radius:14px; color:var(--mb-body,#2A3647); text-align:center; font-family:var(--mb-sans,sans-serif); }

.mb-cc__filtros { display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; padding:16px 0; margin-bottom:22px; border-top:1px solid var(--mb-border,#E2E8F0); border-bottom:1px solid var(--mb-border,#E2E8F0); }
.mb-cc__chips { display:flex; flex-wrap:wrap; gap:8px; }
.mb-cc__chip { font-family:var(--mb-sans,sans-serif); font-size:13px; font-weight:600; color:var(--mb-body,#2A3647); background:#fff; border:1px solid var(--mb-border,#E2E8F0); border-radius:999px; padding:6px 14px; cursor:pointer; transition:all .15s ease; }
.mb-cc__chip:hover { border-color:var(--mb-brand,#2E6BB0); color:var(--mb-brand,#2E6BB0); }
.mb-cc__chip.is-on { background:var(--mb-ink,#0E1B2E); color:#fff; border-color:var(--mb-ink,#0E1B2E); }
.mb-cc__renda { display:flex; align-items:center; gap:8px; font-family:var(--mb-mono,monospace); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--mb-body,#2A3647); opacity:.85; }
.mb-cc__renda select { font-family:var(--mb-sans,sans-serif); font-size:13px; text-transform:none; letter-spacing:0; color:var(--mb-ink,#0E1B2E); padding:6px 10px; border:1px solid var(--mb-border,#E2E8F0); border-radius:8px; background:#fff; cursor:pointer; }
.mb-cc__count { margin:0; margin-left:auto; font-family:var(--mb-mono,monospace); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--mb-gold,#B08A3E); }

.mb-cc__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:20px; }

.mb-cc-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--mb-border,#E2E8F0); border-radius:16px; padding:22px 22px 18px; box-shadow:0 1px 2px rgba(14,27,46,.04); transition:box-shadow .18s ease, transform .18s ease; }
.mb-cc-card:hover { box-shadow:0 12px 32px rgba(14,27,46,.10); transform:translateY(-2px); }
.mb-cc-card__head { border-bottom:1px solid var(--mb-border,#E2E8F0); padding-bottom:12px; margin-bottom:12px; }
.mb-cc-card__emissor { margin:0 0 4px; font-family:var(--mb-mono,monospace); font-size:10px; letter-spacing:.14em; color:var(--mb-gold,#B08A3E); }
.mb-cc-card__nome { margin:0 0 2px; font-family:var(--mb-serif,serif); font-size:20px; line-height:1.2; font-weight:600; }
.mb-cc-card__nome a { color:var(--mb-ink,#0E1B2E); text-decoration:none; background-image:linear-gradient(var(--mb-gold,#B08A3E),var(--mb-gold,#B08A3E)); background-size:0 1px; background-position:0 100%; background-repeat:no-repeat; transition:background-size .25s ease; }
.mb-cc-card__nome a:hover { background-size:100% 1px; }
.mb-cc-card__bandeira { margin:2px 0 0; font-family:var(--mb-sans,sans-serif); font-size:12px; color:var(--mb-body,#2A3647); opacity:.8; }
.mb-cc-card__veredito { margin:8px 0 0; display:flex; align-items:center; gap:8px; font-family:var(--mb-sans,sans-serif); font-size:12px; color:var(--mb-body,#2A3647); }
.mb-cc-card__stars { color:var(--mb-gold,#B08A3E); letter-spacing:1px; }

.mb-cc-card__badges { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.mb-cc-card__badge { font-family:var(--mb-mono,monospace); font-size:9px; letter-spacing:.1em; text-transform:uppercase; padding:3px 8px; border-radius:999px; background:var(--mb-soft,#EAF1FB); color:var(--mb-brand,#2E6BB0); }
.mb-cc-card__badge--premium { background:#F4ECDA; color:#8A6A28; }
.mb-cc-card__badge--sem-anuidade { background:#E6F4EA; color:#2C7A45; }

.mb-cc-card__destaque { margin:0 0 14px; font-family:var(--mb-sans,sans-serif); font-size:14px; line-height:1.5; color:var(--mb-body,#2A3647); }
.mb-cc-card__ficha { margin:0 0 16px; display:grid; grid-template-columns:auto 1fr; gap:6px 14px; }
.mb-cc-card__ficha dt { font-family:var(--mb-mono,monospace); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--mb-body,#2A3647); opacity:.65; align-self:start; padding-top:2px; }
.mb-cc-card__ficha dd { margin:0; font-family:var(--mb-sans,sans-serif); font-size:13.5px; line-height:1.45; color:var(--mb-ink,#0E1B2E); }

.mb-cc-card__cta { margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; padding-top:14px; border-top:1px solid var(--mb-border,#E2E8F0); }
.mb-cc-card__analise { font-family:var(--mb-sans,sans-serif); font-size:13px; font-weight:700; color:var(--mb-ink,#0E1B2E); text-decoration:none; }
.mb-cc-card__analise:hover { color:var(--mb-brand,#2E6BB0); }
.mb-cc-card__oficial { font-family:var(--mb-sans,sans-serif); font-size:12px; color:var(--mb-brand,#2E6BB0); text-decoration:none; margin-left:auto; }
.mb-cc-card__oficial:hover { text-decoration:underline; }

.mb-cc__nenhum { margin:24px 0; padding:18px; text-align:center; font-family:var(--mb-sans,sans-serif); color:var(--mb-body,#2A3647); background:var(--mb-soft,#EAF1FB); border-radius:12px; }
.mb-cc__nota { margin:20px 0 0; font-family:var(--mb-sans,sans-serif); font-size:12.5px; line-height:1.5; color:var(--mb-body,#2A3647); opacity:.85; border-left:3px solid var(--mb-gold,#B08A3E); padding-left:12px; }

@media (max-width:600px){
  .mb-cc__filtros { gap:12px; }
  .mb-cc__count { margin-left:0; width:100%; }
  .mb-cc__grid { grid-template-columns:1fr; }
}

/* ============================================================
   Single Cartão — single-cartao.php
   ============================================================ */
.mb-single-cartao { font-family: var(--mb-sans, sans-serif); color: var(--mb-ink,#0E1B2E); }
/* FIX 2026-05-30: single-cartao tinha o MESMO bug do single-local — sem fundo claro,
   o body navy vazava e título/subtítulo/corpo (texto escuro) ficavam ilegíveis; só os
   cards brancos da ficha salvavam. Sheet claro resolve. */
.mb-sc { max-width: 1080px; margin: 0 auto 56px; padding: 40px clamp(20px,5vw,52px) 56px; background: #fff; border-radius: 14px; box-shadow: 0 24px 70px rgba(8,17,32,.18); }

.mb-sc__hero { border-bottom: 1px solid var(--mb-border,#E2E8F0); padding-bottom: 24px; margin-bottom: 28px; }
.mb-sc__emissor { margin: 0 0 8px; font-family: var(--mb-mono,monospace); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--mb-gold,#B08A3E); }
.mb-sc__titulo { margin: 0 0 10px; font-family: var(--mb-serif,serif); font-weight: 600; line-height: 1.1; font-size: clamp(30px, 5vw, 48px); color: var(--mb-ink,#0E1B2E); }
.mb-sc__destaque { margin: 0 0 16px; font-family: var(--mb-serif,serif); font-style: italic; font-size: 19px; line-height: 1.45; color: var(--mb-body,#2A3647); }
.mb-sc__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.mb-sc__veredito { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--mb-body,#2A3647); }
.mb-sc__stars { color: var(--mb-gold,#B08A3E); letter-spacing: 1px; }
.mb-sc__selo { font-family: var(--mb-mono,monospace); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.mb-sc__badges { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.mb-sc__badge { font-family: var(--mb-mono,monospace); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; background: var(--mb-soft,#EAF1FB); color: var(--mb-brand,#2E6BB0); }
.mb-sc__badge--premium { background:#F4ECDA; color:#8A6A28; }
.mb-sc__badge--sem-anuidade { background:#E6F4EA; color:#2C7A45; }
.mb-sc__cta-wrap { margin: 20px 0 0; }
.mb-sc__cta { display: inline-block; font-family: var(--mb-sans,sans-serif); font-weight: 700; font-size: 14px; color: #fff; background: var(--mb-ink,#0E1B2E); padding: 12px 22px; border-radius: 10px; text-decoration: none; transition: background .15s ease; }
.mb-sc__cta:hover { background: var(--mb-brand,#2E6BB0); }

.mb-sc__ficha-wrap { margin: 0 0 32px; }
.mb-sc__ficha { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 1px; margin: 0; background: var(--mb-border,#E2E8F0); border: 1px solid var(--mb-border,#E2E8F0); border-radius: 14px; overflow: hidden; }
.mb-sc__ficha > div { background: #fff; padding: 16px 18px; }
.mb-sc__ficha dt { margin: 0 0 4px; font-family: var(--mb-mono,monospace); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--mb-body,#2A3647); opacity: .65; }
.mb-sc__ficha dd { margin: 0; font-size: 15px; line-height: 1.45; color: var(--mb-ink,#0E1B2E); }

.mb-sc__corpo { font-size: 17px; line-height: 1.7; color: var(--mb-body,#2A3647); }
.mb-sc__corpo h2 { font-family: var(--mb-serif,serif); font-size: 26px; margin: 32px 0 12px; color: var(--mb-ink,#0E1B2E); }
.mb-sc__corpo ul { padding-left: 1.2em; }
.mb-sc__corpo li { margin: 6px 0; }
.mb-sc__corpo a { color: var(--mb-brand,#2E6BB0); }

.mb-sc__veja { margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--mb-border,#E2E8F0); }
.mb-sc__veja h2 { font-family: var(--mb-serif,serif); font-size: 22px; margin: 0 0 16px; color: var(--mb-ink,#0E1B2E); }
.mb-sc__veja-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); gap: 14px; }
.mb-sc__veja-card { display: flex; flex-direction: column; gap: 4px; padding: 16px; background: #fff; border: 1px solid var(--mb-border,#E2E8F0); border-radius: 12px; text-decoration: none; transition: box-shadow .15s ease, transform .15s ease; }
.mb-sc__veja-card:hover { box-shadow: 0 8px 22px rgba(14,27,46,.08); transform: translateY(-2px); }
.mb-sc__veja-emissor { font-family: var(--mb-mono,monospace); font-size: 9px; letter-spacing: .12em; color: var(--mb-gold,#B08A3E); }
.mb-sc__veja-card strong { font-family: var(--mb-serif,serif); font-size: 16px; font-weight: 600; color: var(--mb-ink,#0E1B2E); line-height: 1.2; }
.mb-sc__veja-anuidade { font-size: 12.5px; color: var(--mb-body,#2A3647); opacity: .85; }
.mb-sc__veja-cta { margin: 18px 0 0; }
.mb-sc__veja-cta a { font-family: var(--mb-sans,sans-serif); font-weight: 700; font-size: 14px; color: var(--mb-ink,#0E1B2E); text-decoration: none; }
.mb-sc__veja-cta a:hover { color: var(--mb-brand,#2E6BB0); }

@media (max-width:1120px){ .mb-sc { max-width: none; margin: 0 0 32px; border-radius: 0; box-shadow: none; } }
@media (max-width:600px){ .mb-sc { padding: 28px 16px 48px; } .mb-sc__ficha { grid-template-columns: 1fr 1fr; } }

/* ============================================================
   Hub Salas VIP — [mb_salas_vip] + bloco em single-local
   ============================================================ */
.mb-sv { margin: 28px 0 8px; }
.mb-sv--vazio { padding: 28px; border:1px dashed var(--mb-border,#E2E8F0); border-radius:14px; text-align:center; font-family:var(--mb-sans,sans-serif); color:var(--mb-body,#2A3647); }

.mb-sv__filtros { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; padding:16px 0; margin-bottom:8px; border-top:1px solid var(--mb-border,#E2E8F0); border-bottom:1px solid var(--mb-border,#E2E8F0); }
.mb-sv__flbl { font-family:var(--mb-mono,monospace); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--mb-body,#2A3647); opacity:.7; }
.mb-sv__chips { display:flex; flex-wrap:wrap; gap:8px; }
.mb-sv__chip { font-family:var(--mb-sans,sans-serif); font-size:13px; font-weight:600; color:var(--mb-body,#2A3647); background:#fff; border:1px solid var(--mb-border,#E2E8F0); border-radius:999px; padding:6px 14px; cursor:pointer; transition:all .15s ease; }
.mb-sv__chip:hover { border-color:var(--mb-brand,#2E6BB0); color:var(--mb-brand,#2E6BB0); }
.mb-sv__chip.is-on { background:var(--mb-ink,#0E1B2E); color:#fff; border-color:var(--mb-ink,#0E1B2E); }

.mb-sv__nav { display:flex; flex-wrap:wrap; gap:6px; margin:18px 0 8px; }
.mb-sv__nav a { font-family:var(--mb-mono,monospace); font-size:11px; letter-spacing:.05em; font-weight:600; color:var(--mb-brand,#2E6BB0); background:var(--mb-soft,#EAF1FB); border-radius:6px; padding:4px 9px; text-decoration:none; }
.mb-sv__nav a:hover { background:#fff; border:1px solid var(--mb-border,#E2E8F0); padding:3px 8px; }

.mb-sv__grupo { margin:32px 0 0; scroll-margin-top:90px; }
.mb-sv__grupo-titulo { font-family:var(--mb-serif,serif); font-size:22px; font-weight:600; color:var(--mb-ink,#0E1B2E); margin:0 0 16px; display:flex; align-items:baseline; gap:10px; }
.mb-sv__iata { font-family:var(--mb-mono,monospace); font-size:13px; letter-spacing:.06em; color:#fff; background:var(--mb-gold,#B08A3E); border-radius:6px; padding:3px 8px; }
.mb-sv__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:18px; }

.mb-sv-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--mb-border,#E2E8F0); border-radius:16px; padding:20px; box-shadow:0 1px 2px rgba(14,27,46,.04); transition:box-shadow .18s ease, transform .18s ease; }
.mb-sv-card:hover { box-shadow:0 12px 30px rgba(14,27,46,.10); transform:translateY(-2px); }
.mb-sv-card__rede { margin:0 0 4px; font-family:var(--mb-mono,monospace); font-size:10px; letter-spacing:.12em; color:var(--mb-gold,#B08A3E); }
.mb-sv-card__nome { margin:0 0 4px; font-family:var(--mb-serif,serif); font-size:18px; line-height:1.2; font-weight:600; }
.mb-sv-card__nome a { color:var(--mb-ink,#0E1B2E); text-decoration:none; background-image:linear-gradient(var(--mb-gold,#B08A3E),var(--mb-gold,#B08A3E)); background-size:0 1px; background-position:0 100%; background-repeat:no-repeat; transition:background-size .25s ease; }
.mb-sv-card__nome a:hover { background-size:100% 1px; }
.mb-sv-card__terminal { margin:0 0 10px; font-family:var(--mb-sans,sans-serif); font-size:12.5px; color:var(--mb-body,#2A3647); opacity:.85; }
.mb-sv-card__resumo { margin:0 0 12px; font-family:var(--mb-sans,sans-serif); font-size:14px; line-height:1.5; color:var(--mb-body,#2A3647); }
.mb-sv-card__badges { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.mb-sv-card__badge { font-family:var(--mb-mono,monospace); font-size:9px; letter-spacing:.08em; text-transform:uppercase; padding:3px 8px; border-radius:999px; background:var(--mb-soft,#EAF1FB); color:var(--mb-brand,#2E6BB0); }
.mb-sv-card__cta { margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; padding-top:14px; border-top:1px solid var(--mb-border,#E2E8F0); }
.mb-sv-card__ver { font-family:var(--mb-sans,sans-serif); font-size:13px; font-weight:700; color:var(--mb-ink,#0E1B2E); text-decoration:none; }
.mb-sv-card__ver:hover { color:var(--mb-brand,#2E6BB0); }
.mb-sv-card__oficial { font-family:var(--mb-sans,sans-serif); font-size:12px; color:var(--mb-brand,#2E6BB0); text-decoration:none; margin-left:auto; }
.mb-sv-card__oficial:hover { text-decoration:underline; }

.mb-sv__nenhum { margin:24px 0; padding:18px; text-align:center; font-family:var(--mb-sans,sans-serif); color:var(--mb-body,#2A3647); background:var(--mb-soft,#EAF1FB); border-radius:12px; }
.mb-sv__nota { margin:24px 0 0; font-family:var(--mb-sans,sans-serif); font-size:12.5px; line-height:1.5; color:var(--mb-body,#2A3647); opacity:.85; border-left:3px solid var(--mb-gold,#B08A3E); padding-left:12px; }

/* bloco de sala VIP em single-local.php */
.mb-local-sala { margin:18px 0; padding:16px 18px; background:var(--mb-soft,#EAF1FB); border:1px solid var(--mb-border,#E2E8F0); border-radius:12px; }
.mb-local-sala__head { margin:0 0 4px; font-family:var(--mb-sans,sans-serif); font-weight:700; font-size:15px; color:var(--mb-ink,#0E1B2E); }
.mb-local-sala__iata { font-family:var(--mb-mono,monospace); font-size:12px; color:#fff; background:var(--mb-gold,#B08A3E); border-radius:5px; padding:2px 7px; margin-right:4px; }
.mb-local-sala__rede { margin:0 0 6px; font-family:var(--mb-mono,monospace); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--mb-gold,#B08A3E); }
.mb-local-sala__resumo { margin:0 0 10px; font-family:var(--mb-sans,sans-serif); font-size:14px; line-height:1.5; color:var(--mb-body,#2A3647); }
.mb-local-sala__badges { display:flex; flex-wrap:wrap; gap:6px; }
.mb-local-sala__badge { font-family:var(--mb-mono,monospace); font-size:9px; letter-spacing:.08em; text-transform:uppercase; padding:3px 8px; border-radius:999px; background:#fff; border:1px solid var(--mb-border,#E2E8F0); color:var(--mb-brand,#2E6BB0); }

@media (max-width:600px){ .mb-sv__grid { grid-template-columns:1fr; } }

/* ==========================================================================
   Single LOCAL (single-local.php) — "sheet" claro + reading column
   FIX 2026-05-30: o template NUNCA recebeu fundo claro nem coluna de leitura.
   Como o body é navy (#122139) e o conteúdo é transparente com texto escuro,
   TODO o corpo da página caía em texto-escuro-sobre-navy = ILEGÍVEL. Afeta as
   ~330 páginas de `local` (hotéis/restaurantes/atrações/salas-vip/reviews).
   Tokens (fonte/cor) já vêm de :root; aqui só falta a superfície + tipografia.
   ========================================================================== */
.mb-single-local {
  background: #fff;
  max-width: 1080px;
  margin: 0 auto 56px;
  border-radius: 14px;
  box-shadow: 0 24px 70px rgba(8,17,32,.18);
  overflow: hidden;
}
/* Hero */
.mb-local-hero { background: var(--mb-soft,#EAF1FB); }
.mb-local-hero > img,
.mb-local-hero .wp-post-image {
  display: block; width: 100%; height: auto; max-height: 440px; object-fit: cover;
}
.mb-local-hero__content { max-width: 100%; margin: 0 auto; padding: 34px clamp(20px,5vw,48px) 6px; }
.mb-single-local .mb-eyebrow { color: var(--mb-gold,#B08A3E); margin: 0 0 10px; }
.mb-single-local h1 {
  font-family: var(--mb-serif); font-weight: 400; color: var(--mb-title,#14233A);
  font-size: clamp(28px,3.5vw,44px); line-height: 1.12; margin: 0 0 14px;
}
.mb-local-veredito { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 2px; }
.mb-local-veredito__stars { color: var(--mb-gold,#B08A3E); font-size: 19px; letter-spacing: 2px; }
.mb-local-veredito__nota { font-family: var(--mb-mono,monospace); font-weight: 600; font-size: 14px; color: var(--mb-title,#14233A); }
.mb-local-veredito__selo {
  font-family: var(--mb-mono,monospace); font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
  color: #fff; background: var(--mb-gold,#B08A3E); padding: 3px 8px; border-radius: 5px;
}
/* Corpo — coluna de leitura preenche o sheet (era 820 dentro de sheet 1080 = gap interno) */
.mb-local-corpo { max-width: 100%; margin: 0 auto; padding: 6px clamp(20px,5vw,48px) 46px; color: var(--mb-body,#2A3647); }
.mb-byline { color: var(--mb-body,#2A3647); opacity: .78; font-size: 14px; line-height: 1.5; margin: 0 0 18px; }
.mb-local-dados > h2, .mb-local-relacionados > h2, .mb-local-roteiros > h2 {
  font-family: var(--mb-serif); font-weight: 400; color: var(--mb-title,#14233A);
  font-size: clamp(20px,2.2vw,26px); line-height: 1.2; margin: 26px 0 10px;
}
/* Ficha técnica (dl) */
.mb-ficha-tecnica { display: grid; grid-template-columns: auto 1fr; gap: 7px 16px; margin: 0 0 6px; font-size: 15px; }
.mb-ficha-tecnica dt { font-family: var(--mb-mono,monospace); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--mb-brand,#2E6BB0); align-self: start; padding-top: 2px; }
.mb-ficha-tecnica dd { margin: 0; color: var(--mb-body,#2A3647); line-height: 1.5; }
.mb-ficha-tecnica a { color: var(--mb-brand,#2E6BB0); }
.mb-local-nota { margin: 14px 0; color: var(--mb-body,#2A3647); }
.mb-local-cta-wrapper { margin: 16px 0 4px; }
/* Conteúdo editorial (the_content): review longform */
.mb-local-conteudo h2 {
  font-family: var(--mb-serif); font-weight: 400; color: var(--mb-title,#14233A);
  font-size: clamp(22px,2.5vw,30px); line-height: 1.18; margin: 32px 0 10px;
}
.mb-local-conteudo h3 { font-family: var(--mb-serif); font-weight: 400; color: var(--mb-title,#14233A); font-size: clamp(18px,2vw,22px); margin: 22px 0 8px; }
.mb-local-conteudo p, .mb-local-conteudo li { font-size: 1.06rem; line-height: 1.72; color: var(--mb-body,#2A3647); }
.mb-local-conteudo p { margin: 0 0 14px; }
.mb-local-conteudo ul { margin: 0 0 16px; padding-left: 1.15em; }
.mb-local-conteudo li { margin: 5px 0; }
.mb-local-conteudo a { color: var(--mb-brand,#2E6BB0); text-decoration: underline; text-underline-offset: 2px; }
.mb-local-conteudo a:hover { color: var(--mb-brand-strong,#1E4F86); }
/* Fotos inline (figuras) na review */
.mb-local-conteudo figure, .mb-local-conteudo .wp-block-image { margin: 20px 0; }
.mb-local-conteudo figure img, .mb-local-conteudo .wp-block-image img { width: 100%; height: auto; border-radius: 12px; display: block; }
.mb-local-conteudo figcaption { margin: 7px 0 0; font-family: var(--mb-sans,sans-serif); font-size: 13px; line-height: 1.45; color: var(--mb-body,#2A3647); opacity: .72; }
/* Dicas/roteiros relacionados */
.mb-local-relacionados .mb-cards { display: grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap: 12px; }

@media (max-width: 880px) {
  .mb-single-local { max-width: none; margin: 0 0 32px; border-radius: 0; box-shadow: none; }
}
@media (max-width: 600px) {
  .mb-ficha-tecnica { grid-template-columns: 1fr; gap: 2px 0; }
  .mb-ficha-tecnica dt { margin-top: 8px; }
  .mb-local-relacionados .mb-cards { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Hero de ÍNDICE/HUB — compacto, content-first (2026-05-30)
   Numa página de LISTAGEM a 1ª dobra deve mostrar nav + cards, não um hero
   de artigo. Best practice: above-the-fold = navegação + início do conteúdo.
   ========================================================================== */
/* /destinos/ é listagem pura → hero ainda mais curto que os demais pilares */
body.page-id-3297 .mb-pilar-hero__image img { max-height: 200px; }
body.page-id-3297 .mb-pilar-hero { padding-top: 6px; margin-bottom: 16px; }

/* Mobile: hero vira faixa fina; o grid começa quase imediato */
@media (max-width: 768px) {
  .mb-pilar-hero__image img { max-height: 170px; }
  .mb-pilar-hero { padding: 8px 0 10px; margin-bottom: 14px; }
  .mb-pilar-hero__image { margin: 0 0 10px; }
  body.page-id-3297 .mb-pilar-hero__image img { max-height: 140px; }
}

/* /cartoes/ (3298) — hub de listagem: hero compacto p/ TL;DR + comparador na 1ª dobra */
body.page-id-3298 .mb-pilar-hero__image img { max-height: 200px; }
body.page-id-3298 .mb-pilar-hero { padding-top: 6px; margin-bottom: 16px; }
@media (max-width: 768px) { body.page-id-3298 .mb-pilar-hero__image img { max-height: 140px; } }

/* Tile-CTA "Ver todos os destinos" — preenche o slot vago da grade da home */
.mb-card--cta { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 8px; min-height: 220px; padding: 28px; background: var(--mb-ink, #0E1B2E); border-radius: 6px; text-decoration: none; transition: background .18s ease, transform .18s ease; }
.mb-card--cta:hover { background: #13243d; transform: translateY(-2px); }
.mb-card-cta__eyebrow { font-family: var(--mb-mono, monospace); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--mb-gold, #B08A3E); }
.mb-card-cta__titulo { font-family: var(--mb-serif, Georgia, serif); font-size: clamp(22px, 2.4vw, 28px); line-height: 1.1; color: #fff; font-weight: 600; }
.mb-card-cta__seta { font-family: var(--mb-serif, Georgia, serif); font-size: 26px; color: var(--mb-gold, #B08A3E); margin-top: 4px; transition: transform .18s ease; }
.mb-card--cta:hover .mb-card-cta__seta { transform: translateX(4px); }

/* ==========================================================================
   Benchmark de bônus — caixa de veredito data-driven (single) + badge inline
   ========================================================================== */
.mb-bench { border:1px solid var(--mb-border,#E2E8F0); border-left-width:4px; border-radius:12px; padding:16px 18px; margin:18px 0; background:#fff; font-family:var(--mb-sans,sans-serif); }
.mb-bench__head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.mb-bench__tier { font-weight:700; font-size:15px; color:var(--mb-title,#14233A); display:inline-flex; align-items:center; gap:6px; }
.mb-bench__emoji { font-size:18px; line-height:1; }
.mb-bench__pct { font-family:var(--mb-mono,monospace); font-weight:700; font-size:22px; color:var(--mb-title,#14233A); }
.mb-bench__nota { margin:8px 0 0; font-size:14px; line-height:1.5; color:var(--mb-body,#2A3647); }
.mb-bench__ctx { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin:12px 0 0; padding-top:10px; border-top:1px solid var(--mb-border,#E2E8F0); }
.mb-bench__stat { font-size:12px; color:var(--mb-body,#2A3647); }
.mb-bench__stat b { font-family:var(--mb-mono,monospace); font-size:14px; color:var(--mb-title,#14233A); }
.mb-bench__spark { display:block; margin-left:auto; }
.mb-bench__hedge { margin:10px 0 0; font-size:11.5px; color:var(--mb-body,#2A3647); opacity:.7; }
.mb-tier--top   { border-left-color:#B08A3E; }
.mb-tier--boa   { border-left-color:#1D9E75; }
.mb-tier--med   { border-left-color:#C9A227; }
.mb-tier--fraca { border-left-color:#E24B4A; }
.mb-tier--neutro{ border-left-color:#94A3B8; }
.mb-tier-badge { font-family:var(--mb-mono,monospace); font-size:10px; font-weight:700; letter-spacing:.03em; padding:2px 7px; border-radius:999px; white-space:nowrap; }
.mb-tier-badge--top   { background:#F4ECDA; color:#8A6A28; }
.mb-tier-badge--boa   { background:#E1F0E6; color:#0F6E56; }
.mb-tier-badge--med   { background:#FBF3D9; color:#8A6A28; }
.mb-tier-badge--fraca { background:#FBE3E3; color:#A32D2D; }
.mb-tier-badge--neutro{ background:#EEF2F7; color:#475569; }

/* Placar histórico de bônus (/promocoes/) */
.mb-placar { margin:24px 0; }
.mb-placar__intro { font-size:15px; line-height:1.6; color:var(--mb-body,#2A3647); max-width:760px; }
.mb-placar__prog { margin:22px 0; }
.mb-placar__prog-nome { font-family:var(--mb-serif,Georgia,serif); font-weight:400; color:var(--mb-title,#14233A); font-size:clamp(18px,2.2vw,24px); margin:0 0 8px; }
.mb-placar__tab { width:100%; border-collapse:collapse; font-family:var(--mb-sans,sans-serif); background:#fff; }
.mb-placar__tab th { text-align:left; font-family:var(--mb-mono,monospace); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--mb-body,#2A3647); opacity:.6; padding:6px 10px; border-bottom:1px solid var(--mb-border,#E2E8F0); }
.mb-placar__tab td { padding:9px 10px; border-bottom:1px solid var(--mb-border,#E2E8F0); font-size:14px; color:var(--mb-body,#2A3647); }
.mb-placar__teto { font-family:var(--mb-mono,monospace); font-size:16px; color:var(--mb-gold,#B08A3E); }
.mb-placar__data { font-size:11px; color:var(--mb-body,#2A3647); opacity:.6; }
.mb-placar__hedge { font-size:11.5px; color:var(--mb-body,#2A3647); opacity:.7; margin-top:14px; }
.mb-placar-vazio { color:var(--mb-body,#2A3647); opacity:.7; }
@media (max-width:600px){ .mb-placar__tab th:nth-child(4), .mb-placar__tab td:nth-child(4){ display:none; } }

/* ============================================================
   Hub de Ferramentas — [mb_ferramentas] (look da home, Liquid)
   ============================================================ */
.mb-fer-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: 18px; margin: 8px 0 0; }
.mb-fer-card { display: flex; flex-direction: column; gap: 8px; background: #fff; border: 1px solid var(--mb-border,#E2E8F0); border-radius: 16px; padding: 24px; text-decoration: none; box-shadow: 0 1px 2px rgba(14,27,46,.04); transition: box-shadow .18s ease, transform .18s ease; }
.mb-fer-card:hover { box-shadow: 0 14px 34px rgba(14,27,46,.10); transform: translateY(-3px); }
.mb-fer-card__eyebrow { font-family: var(--mb-mono,monospace); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--mb-gold,#B08A3E); }
.mb-fer-card__titulo { font-family: var(--mb-serif,Georgia,serif); font-size: 22px; line-height: 1.15; font-weight: 600; color: var(--mb-ink,#0E1B2E); }
.mb-fer-card__dek { font-family: var(--mb-sans,sans-serif); font-size: 14px; line-height: 1.55; color: var(--mb-body,#2A3647); flex: 1 1 auto; }
.mb-fer-card__cta { font-family: var(--mb-sans,sans-serif); font-size: 13px; font-weight: 700; color: var(--mb-brand,#2E6BB0); margin-top: 4px; }
.mb-fer-card:hover .mb-fer-card__cta { color: var(--mb-ink,#0E1B2E); }
/* /ferramentas/ (3633) — hero compacto de listagem */
body.page-id-3633 .mb-pilar-hero__image img { max-height: 200px; }
body.page-id-3633 .mb-pilar-hero { padding-top: 6px; margin-bottom: 16px; }
@media (max-width:600px){ .mb-fer-grid { grid-template-columns: 1fr; } body.page-id-3633 .mb-pilar-hero__image img { max-height: 140px; } }

/* ============================================================
   /comece-aqui/ — stepper + princípios + grid (look da marca)
   ============================================================ */
.mb-ca-steps { list-style: none; margin: 8px 0 28px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: 16px; }
.mb-ca-step { display: flex; gap: 16px; align-items: flex-start; background: #fff; border: 1px solid var(--mb-border,#E2E8F0); border-radius: 16px; padding: 22px; }
.mb-ca-step__n { flex: 0 0 auto; font-family: var(--mb-serif,Georgia,serif); font-weight: 700; font-size: 30px; line-height: 1; color: #fff; background: var(--mb-ink,#0E1B2E); width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.mb-ca-step h3 { font-family: var(--mb-serif,Georgia,serif); font-size: 19px; font-weight: 600; margin: 2px 0 6px; color: var(--mb-ink,#0E1B2E); }
.mb-ca-step p { font-family: var(--mb-sans,sans-serif); font-size: 14px; line-height: 1.55; color: var(--mb-body,#2A3647); margin: 0; }
.mb-ca-step a { color: var(--mb-brand,#2E6BB0); font-weight: 600; }

.mb-ca-principios { background: var(--mb-soft,#EAF1FB); border-left: 4px solid var(--mb-gold,#B08A3E); border-radius: 0 12px 12px 0; padding: 20px 24px; margin: 0 0 32px; }
.mb-ca-principios h2 { font-family: var(--mb-serif,Georgia,serif); font-size: 20px; margin: 0 0 10px; color: var(--mb-ink,#0E1B2E); border: 0; padding: 0; }
.mb-ca-principios ul { margin: 0; padding-left: 18px; }
.mb-ca-principios li { font-family: var(--mb-sans,sans-serif); font-size: 14.5px; line-height: 1.6; color: var(--mb-body,#2A3647); margin: 4px 0; }

.mb-ca-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 16px; margin: 8px 0 0; }
.mb-ca-grupo { display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid var(--mb-border,#E2E8F0); border-radius: 14px; padding: 18px 20px; }
.mb-ca-grupo__lbl { font-family: var(--mb-mono,monospace); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--mb-gold,#B08A3E); margin-bottom: 4px; }
.mb-ca-grupo a { font-family: var(--mb-sans,sans-serif); font-size: 14.5px; color: var(--mb-ink,#0E1B2E); text-decoration: none; padding: 3px 0; border-bottom: 1px solid transparent; width: fit-content; }
.mb-ca-grupo a:hover { color: var(--mb-brand,#2E6BB0); border-bottom-color: var(--mb-brand,#2E6BB0); }

/* "A regra que mais economiza" — callout-chave em /comece-aqui/: sempre comparar
   valor em milhas vs dinheiro antes de emitir. Navy + dourado p/ destacar na
   página clara. */
.mb-ca-regra { margin: 4px 0 32px; padding: 22px 26px; background: var(--mb-ink, #0E1B2E); border-radius: 14px; }
/* prefixo .mb-ca-regra bumpa a specificity p/ vencer `.mb-pilar-corpo p/a` (0,1,1). */
.mb-ca-regra .mb-ca-regra__lbl { font-family: var(--mb-mono, monospace); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #D9B978; margin: 0 0 9px; }
.mb-ca-regra .mb-ca-regra__txt { font-family: var(--mb-sans, sans-serif); font-size: 15px; line-height: 1.62; color: #E6EDF6 !important; margin: 0 0 13px; }
.mb-ca-regra .mb-ca-regra__txt strong { color: #fff; }
.mb-ca-regra .mb-ca-regra__txt em { color: #F0E2C4; }
.mb-ca-regra__cta { margin: 0; }
.mb-ca-regra .mb-ca-regra__cta a { font-family: var(--mb-mono, monospace); font-size: 12.5px; letter-spacing: 0.04em; text-transform: uppercase; color: #D9B978; font-weight: 600; text-decoration: none; }
.mb-ca-regra .mb-ca-regra__cta a:hover { text-decoration: underline; }

body.page-id-3294 .mb-pilar-hero__image img { max-height: 200px; }
body.page-id-3294 .mb-pilar-hero { padding-top: 6px; margin-bottom: 16px; }

/* ============================================================
   FAQ accordion — [mb_faq] (+ FAQPage schema)
   ============================================================ */
.mb-faq { margin: 32px 0 8px; }
.mb-faq__titulo { font-family: var(--mb-serif,Georgia,serif); font-size: clamp(22px,3vw,28px); font-weight: 600; color: var(--mb-ink,#0E1B2E); margin: 0 0 14px; }
.mb-faq__item { border: 1px solid var(--mb-border,#E2E8F0); border-radius: 12px; margin-bottom: 10px; background: #fff; overflow: hidden; }
.mb-faq__item[open] { border-color: var(--mb-gold,#B08A3E); }
.mb-faq__q { cursor: pointer; list-style: none; padding: 16px 20px; font-family: var(--mb-sans,sans-serif); font-weight: 700; font-size: 15.5px; color: var(--mb-ink,#0E1B2E); display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.mb-faq__q::-webkit-details-marker { display: none; }
.mb-faq__q::after { content: '+'; font-family: var(--mb-serif,Georgia,serif); font-size: 22px; color: var(--mb-gold,#B08A3E); flex: 0 0 auto; transition: transform .2s ease; }
.mb-faq__item[open] .mb-faq__q::after { transform: rotate(45deg); }
.mb-faq__a { padding: 0 20px 18px; font-family: var(--mb-sans,sans-serif); font-size: 14.5px; line-height: 1.6; color: var(--mb-body,#2A3647); }
.mb-faq__a p { margin: 0 0 8px; }
.mb-faq__a a { color: var(--mb-brand,#2E6BB0); font-weight: 600; }

/* ============================================================
   Índice "Neste guia" (TOC / jump-nav) — inc/destino-toc.php
   Lista de âncoras no topo do destino (estilo "In this article" do CNT).
   Estático (não sticky). Injetado após o TL;DR via the_content.
   ============================================================ */

/* Smooth scroll global (reduce-motion já é neutralizado mais acima) */
html { scroll-behavior: smooth; }

/* Âncora não fica escondida sob o header sticky do Blocksy ao pular */
.mb-destino-corpo h2 { scroll-margin-top: 96px; }

.mb-destino-toc {
	margin: 0 0 28px;
	padding: 18px 22px;
	background: #fff;
	border: 1px solid var(--mb-border, #E2E8F0);
	border-radius: 12px;
}
.mb-destino-toc__titulo {
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mb-brand-strong, #1E4F86);
	margin: 0 0 12px;
}
.mb-destino-toc ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 4px 28px;
}
.mb-destino-toc li { margin: 0; }
.mb-destino-toc a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: var(--mb-sans, sans-serif);
	font-size: 15px;
	line-height: 1.5;
	color: var(--mb-brand, #2E6BB0);
	text-decoration: none;
	padding: 4px 0;
	border-bottom: 1px solid transparent;
}
.mb-destino-toc a:hover,
.mb-destino-toc a:focus-visible {
	color: var(--mb-brand-strong, #1E4F86);
	border-bottom-color: currentColor;
}

/* Ícone do TOC: line-icon (estilo Lucide) recolorido pela marca via CSS mask.
   Cada modificador só seta --mb-ico (a URL longa fica em 1 lugar). Decorativo
   (aria-hidden no HTML). Dourado por padrão; acompanha o texto no hover. */
.mb-toc-ico {
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	background-color: var(--mb-gold, #B08A3E);
	-webkit-mask-image: var(--mb-ico);
	        mask-image: var(--mb-ico);
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
	-webkit-mask-size: contain;
	        mask-size: contain;
	transition: background-color .15s ease;
}
.mb-destino-toc a:hover .mb-toc-ico,
.mb-destino-toc a:focus-visible .mb-toc-ico { background-color: currentColor; }

.mb-toc-ico--bed      { --mb-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4v16'/%3E%3Cpath d='M2 8h18a2 2 0 0 1 2 2v10'/%3E%3Cpath d='M2 17h20'/%3E%3Cpath d='M6 8v9'/%3E%3C/svg%3E"); }
.mb-toc-ico--utensils { --mb-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2a2 2 0 0 0 2-2V2'/%3E%3Cpath d='M7 2v20'/%3E%3Cpath d='M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7'/%3E%3C/svg%3E"); }
.mb-toc-ico--palm     { --mb-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2'/%3E%3Cpath d='M12 20v2'/%3E%3Cpath d='m4.93 4.93 1.41 1.41'/%3E%3Cpath d='m17.66 17.66 1.41 1.41'/%3E%3Cpath d='M2 12h2'/%3E%3Cpath d='M20 12h2'/%3E%3Cpath d='m6.34 17.66-1.41 1.41'/%3E%3Cpath d='m19.07 4.93-1.41 1.41'/%3E%3C/svg%3E"); }
.mb-toc-ico--plane    { --mb-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z'/%3E%3C/svg%3E"); }
.mb-toc-ico--calendar { --mb-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3C/svg%3E"); }
.mb-toc-ico--ticket   { --mb-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z'/%3E%3Cpath d='M13 5v2'/%3E%3Cpath d='M13 11v2'/%3E%3Cpath d='M13 17v2'/%3E%3C/svg%3E"); }
.mb-toc-ico--map      { --mb-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.1 5.5a2 2 0 0 0 1.8 0l3.6-1.8A1 1 0 0 1 21 4.6v12.8a1 1 0 0 1-.5.9l-4.6 2.3a2 2 0 0 1-1.8 0l-4.2-2.1a2 2 0 0 0-1.8 0l-3.6 1.8A1 1 0 0 1 3 19.4V6.6a1 1 0 0 1 .5-.9l4.6-2.3a2 2 0 0 1 1.8 0z'/%3E%3Cpath d='M15 5.8v15'/%3E%3Cpath d='M9 3.2v15'/%3E%3C/svg%3E"); }
.mb-toc-ico--users    { --mb-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
.mb-toc-ico--bag      { --mb-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.mb-toc-ico--bulb     { --mb-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3C/svg%3E"); }
.mb-toc-ico--compass  { --mb-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/%3E%3C/svg%3E"); }
.mb-toc-ico--pin      { --mb-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.4-8 12-8 12s-8-7.6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }

@media (max-width: 600px) {
	.mb-destino-toc { padding: 16px 18px; margin-bottom: 22px; }
	.mb-destino-toc ul { grid-template-columns: 1fr; gap: 2px; }
	.mb-destino-toc a { font-size: 15.5px; padding: 5px 0; }
}

/* ==========================================================================
   Newsletter (Beehiiv) — [mb_newsletter] + faixa de rodapé
   ========================================================================== */
.mb-news { background:#fff; border:1px solid var(--mb-border,#E2E8F0); border-radius:14px; padding:22px clamp(18px,4vw,32px); margin:24px 0; font-family:var(--mb-sans,sans-serif); }
.mb-news__inner { display:grid; gap:12px; }
.mb-news__eyebrow { font-family:var(--mb-mono,monospace); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--mb-gold,#B08A3E); margin:0; }
.mb-news__titulo { font-family:var(--mb-serif,Georgia,serif); font-weight:400; font-size:clamp(19px,2.3vw,25px); line-height:1.2; color:var(--mb-title,#14233A); margin:0; }
.mb-news__sub { font-size:14px; line-height:1.55; color:var(--mb-body,#2A3647); margin:0; }
.mb-news__label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.mb-news__row { display:flex; gap:8px; flex-wrap:wrap; }
.mb-news__input { flex:1 1 220px; min-width:0; padding:12px 14px; border:1px solid var(--mb-border,#E2E8F0); border-radius:10px; font-size:15px; font-family:inherit; color:var(--mb-title,#14233A); }
.mb-news__input:focus { outline:2px solid var(--mb-brand,#2E6BB0); outline-offset:1px; }
.mb-news__btn { padding:12px 20px; border:0; border-radius:10px; background:var(--mb-ink,#0E1B2E); color:#fff; font-weight:700; font-size:14px; font-family:inherit; cursor:pointer; transition:background .15s; white-space:nowrap; }
.mb-news__btn:hover:not([disabled]) { background:var(--mb-brand,#2E6BB0); }
.mb-news__btn[disabled],.mb-news__input[disabled] { opacity:.55; cursor:not-allowed; }
.mb-news__trust { font-size:12px; color:var(--mb-body,#2A3647); opacity:.7; margin:8px 0 0; }
.mb-news-band-wrap { background:var(--mb-soft,#EAF1FB); border-top:1px solid var(--mb-border,#E2E8F0); padding:6px clamp(16px,4vw,40px); }
.mb-news--band { max-width:1080px; margin:0 auto; background:transparent; border:0; padding:24px 0; }
.mb-news--band .mb-news__inner { grid-template-columns:1fr; gap:14px; }
@media (min-width:760px){ .mb-news--band .mb-news__inner { grid-template-columns:1.05fr 1fr; align-items:center; column-gap:32px; } }

/* Tabelas comparativas de conteúdo (M5: validade, sweet spots) — legíveis + scroll-x no mobile */
.mb-tabela-validade, .mb-tabela-sweetspots {
	margin: 0 0 36px;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.mb-tabela-validade table, .mb-tabela-sweetspots table {
	width: 100%;
	min-width: 560px;
	border-collapse: collapse;
	font-family: var(--mb-sans, 'Inter', sans-serif);
	font-size: 14px;
	color: var(--mb-body, #2A3647);
	background: #fff;
}
.mb-tabela-validade caption, .mb-tabela-sweetspots caption {
	caption-side: top;
	text-align: left;
	font-family: var(--mb-mono, 'JetBrains Mono', monospace);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--theme-palette-color-1, #2E6BB0);
	font-weight: 600;
	margin-bottom: 12px;
	line-height: 1.5;
	white-space: normal;
}
.mb-tabela-validade th, .mb-tabela-validade td,
.mb-tabela-sweetspots th, .mb-tabela-sweetspots td {
	text-align: left;
	padding: 12px 14px;
	border-bottom: 1px solid var(--theme-palette-color-5, #E2E8F0);
	vertical-align: top;
	line-height: 1.45;
}
.mb-tabela-validade thead th, .mb-tabela-sweetspots thead th {
	font-family: var(--mb-serif, 'Fraunces', Georgia, serif);
	font-size: 15px;
	font-weight: 700;
	color: var(--theme-palette-color-4, #14233A);
	background: var(--mb-soft, #EAF1FB);
}
.mb-tabela-validade tbody td:first-child,
.mb-tabela-sweetspots tbody td:first-child {
	color: var(--theme-palette-color-4, #14233A);
	font-weight: 600;
}
.mb-tabela-validade tbody tr:hover td,
.mb-tabela-sweetspots tbody tr:hover td { background: rgba(234, 241, 251, 0.4); }

/* ==========================================================================
   HOME V2 — protótipo do redesign "Aeronaut Editorial" (Stitch). Namespace .mb-hv2*
   Página de teste /home-v2/ (noindex). Tokens do site (Fraunces/Inter/JetBrains Mono,
   navy #14233A, dourado #B8893B, esmeralda #2D5A27). Full-bleed via 100vw nas bandas.
   ========================================================================== */
.mb-hv2 { --hv2-navy:#14233A; --hv2-navy-deep:#0A111A; --hv2-gold:#B8893B; --hv2-emerald:#2D5A27;
  --hv2-ink:#181c1f; --hv2-body:#44474c; --hv2-line:#d6dbe2; --hv2-surface:#f5f7fb; --hv2-paper:#fff;
  --hv2-serif:var(--mb-serif,'Fraunces',Georgia,serif); --hv2-sans:var(--mb-sans,'Inter',system-ui,sans-serif);
  --hv2-mono:var(--mb-mono,'JetBrains Mono',monospace); --hv2-max:1280px;
  color:var(--hv2-ink); font-family:var(--hv2-sans); }
.mb-hv2 *{ box-sizing:border-box; }
.mb-hv2-bleed{ width:100vw; margin-left:calc(50% - 50vw); }
.mb-hv2-wrap{ max-width:var(--hv2-max); margin:0 auto; padding-left:24px; padding-right:24px; }
.mb-hv2 .mb-hv2-h2{ font-family:var(--hv2-serif); font-weight:700; font-size:clamp(26px,3.4vw,34px); line-height:1.15; letter-spacing:-0.015em; color:var(--hv2-navy); margin:0; }
.mb-hv2 .mb-hv2-h3{ font-family:var(--hv2-serif); font-weight:700; font-size:clamp(22px,2.6vw,28px); line-height:1.2; margin:0 0 14px; }
.mb-hv2 .mb-hv2-h3--ink{ color:var(--hv2-navy); }
.mb-hv2-eyebrow{ display:block; font-family:var(--hv2-mono); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--hv2-navy); margin:0 0 8px; }
.mb-hv2-eyebrow--gold{ color:var(--hv2-gold); }
.mb-hv2-dek{ font-size:15px; line-height:1.55; color:var(--hv2-body); margin:8px 0 0; max-width:62ch; }
.mb-hv2-link{ font-weight:700; font-size:14px; color:var(--hv2-navy); text-decoration:none; white-space:nowrap; }
.mb-hv2-link:hover{ text-decoration:underline; }
.mb-hv2-btn{ display:inline-block; font-weight:700; font-size:15px; padding:14px 26px; border-radius:4px; text-decoration:none; transition:all .15s ease; cursor:pointer; }
.mb-hv2-btn--solid{ background:var(--hv2-navy); color:#fff; border:1px solid var(--hv2-navy); }
.mb-hv2-btn--solid:hover{ background:var(--hv2-navy-deep); }
.mb-hv2-btn--ghost{ background:transparent; color:var(--hv2-navy); border:1px solid var(--hv2-line); }
.mb-hv2-btn--ghost:hover{ background:rgba(20,35,58,.05); }
.mb-hv2-btn--onnavy{ color:#fff; border-color:rgba(255,255,255,.35); }
.mb-hv2-btn--onnavy:hover{ background:#fff; color:var(--hv2-navy); }

/* HERO */
.mb-hv2-hero{ position:relative; background:var(--hv2-navy); color:#fff; overflow:hidden; }
.mb-hv2-hero::before{ content:''; position:absolute; inset:0; background-image:var(--hv2-hero,none); background-size:cover; background-position:center; opacity:.32; }
.mb-hv2-hero::after{ content:''; position:absolute; inset:0; background:linear-gradient(100deg, var(--hv2-navy) 28%, rgba(20,35,58,.55) 62%, rgba(20,35,58,.15) 100%); }
.mb-hv2-hero__in{ position:relative; z-index:1; padding-top:clamp(64px,11vw,128px); padding-bottom:clamp(56px,9vw,112px); }
.mb-hv2-hero__h1{ font-family:var(--hv2-serif); font-weight:700; font-size:clamp(38px,6vw,58px); line-height:1.02; letter-spacing:-0.03em; margin:0 0 20px; max-width:16ch; }
.mb-hv2-hero__h1 em{ font-style:italic; font-weight:400; color:#b7c8de; }
.mb-hv2-hero__sub{ font-size:clamp(16px,1.6vw,19px); line-height:1.55; color:#c8d2e0; max-width:46ch; margin:0 0 30px; }
.mb-hv2-hero__cta{ display:flex; flex-wrap:wrap; gap:14px; }
.mb-hv2-hero__cta .mb-hv2-btn--solid{ background:#fff; color:var(--hv2-navy); border-color:#fff; }
.mb-hv2-hero__cta .mb-hv2-btn--solid:hover{ background:#e6e8ec; }
.mb-hv2-hero__cta .mb-hv2-btn--ghost{ color:#fff; border-color:rgba(255,255,255,.35); }
.mb-hv2-hero__cta .mb-hv2-btn--ghost:hover{ background:rgba(255,255,255,.1); }

/* RADAR */
.mb-hv2-radar{ background:#fff; border-top:1px solid var(--hv2-line); border-bottom:1px solid var(--hv2-line); padding:clamp(48px,7vw,80px) 0; }
.mb-hv2-radar__head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:28px; }
.mb-hv2-rgrid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.mb-hv2-rcard{ display:flex; flex-direction:column; gap:6px; padding:20px; text-decoration:none; border:1px solid var(--hv2-line); border-left:2px solid var(--hv2-emerald); background:rgba(45,90,39,.03); transition:box-shadow .15s ease, transform .15s ease; }
.mb-hv2-rcard:hover{ box-shadow:0 4px 14px rgba(20,35,58,.08); transform:translateY(-2px); }
.mb-hv2-rcard__dest{ font-size:12px; font-weight:600; color:var(--hv2-body); }
.mb-hv2-rcard__pts{ font-family:var(--hv2-mono); font-size:30px; font-weight:500; line-height:1; color:var(--hv2-emerald); }
.mb-hv2-rcard__prog{ font-size:12px; color:rgba(45,90,39,.85); }

/* GUIAS EM DESTAQUE */
.mb-hv2-guias{ padding:clamp(48px,7vw,80px) 24px; }
.mb-hv2-guias .mb-hv2-h2{ margin-bottom:28px; }
.mb-hv2-ggrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.mb-hv2-guia{ position:relative; display:block; height:460px; overflow:hidden; border:1px solid var(--hv2-line); border-radius:4px; text-decoration:none; }
.mb-hv2-guia img{ width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.mb-hv2-guia:hover img{ transform:scale(1.08); }
.mb-hv2-guia__grad{ position:absolute; inset:0; background:linear-gradient(to top, rgba(20,35,58,.92) 8%, rgba(20,35,58,.25) 45%, transparent 75%); }
.mb-hv2-guia__body{ position:absolute; left:0; bottom:0; padding:28px; z-index:1; }
.mb-hv2-chip{ display:inline-block; font-family:var(--hv2-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#fff; background:var(--hv2-navy); padding:4px 10px; margin-bottom:12px; border-radius:2px; }
.mb-hv2-guia__title{ font-family:var(--hv2-serif); font-weight:700; font-size:22px; line-height:1.2; color:#fff; margin:0 0 6px; }
.mb-hv2-guia__dek{ font-size:14px; line-height:1.45; color:rgba(255,255,255,.82); margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* POR ONDE COMEÇAR */
.mb-hv2-comecar{ background:var(--hv2-navy); color:#fff; padding:clamp(48px,7vw,80px) 0; }
.mb-hv2-comecar__head{ text-align:center; margin-bottom:40px; }
.mb-hv2-comecar .mb-hv2-h2{ color:#fff; }
.mb-hv2-comecar .mb-hv2-dek{ color:#c8d2e0; margin:10px auto 0; text-align:center; }
.mb-hv2-cgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.mb-hv2-cstart{ display:block; padding:28px; border:1px solid rgba(255,255,255,.12); text-decoration:none; color:#fff; transition:background .15s ease; }
.mb-hv2-cstart:hover{ background:rgba(255,255,255,.05); }
.mb-hv2-cstart__ico{ display:block; width:38px; height:38px; color:var(--hv2-gold); margin-bottom:18px; }
.mb-hv2-cstart__ico svg{ width:100%; height:100%; }
.mb-hv2-cstart h3{ font-family:var(--hv2-serif); font-weight:700; font-size:20px; margin:0 0 10px; color:#fff; }
.mb-hv2-cstart p{ font-size:14px; line-height:1.5; color:rgba(255,255,255,.62); margin:0; }

/* EXPLORE DESTINOS */
.mb-hv2-explore{ background:var(--hv2-surface); padding:clamp(48px,7vw,80px) 0; }
.mb-hv2-explore__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:26px; }
.mb-hv2-dgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.mb-hv2-dcard{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--hv2-line); border-radius:4px; overflow:hidden; text-decoration:none; transition:box-shadow .15s ease; }
.mb-hv2-dcard:hover{ box-shadow:0 6px 18px rgba(20,35,58,.08); }
.mb-hv2-dcard__media{ position:relative; height:170px; overflow:hidden; }
.mb-hv2-dcard__media img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.mb-hv2-dcard:hover .mb-hv2-dcard__media img{ transform:scale(1.06); }
.mb-hv2-dcard__badge{ position:absolute; top:12px; left:12px; background:var(--hv2-emerald); color:#fff; font-family:var(--hv2-mono); font-size:11px; font-weight:600; padding:4px 9px; border-radius:2px; }
.mb-hv2-dcard__body{ padding:18px 18px 20px; display:flex; flex-direction:column; flex:1; }
.mb-hv2-dcard__region{ font-family:var(--hv2-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--hv2-body); margin-bottom:7px; }
.mb-hv2-dcard__title{ font-family:var(--hv2-serif); font-weight:700; font-size:20px; line-height:1.2; color:var(--hv2-navy); margin:0 0 8px; }
.mb-hv2-dcard__dek{ font-size:13.5px; line-height:1.5; color:var(--hv2-body); margin:0 0 14px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.mb-hv2-dcard__cta{ margin-top:auto; font-family:var(--hv2-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:var(--hv2-navy); }

/* BÔNUS + CALCULADORA */
.mb-hv2-twoup{ display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:stretch; padding:clamp(48px,7vw,80px) 24px; }
.mb-hv2-bonus{ background:var(--hv2-navy); color:#fff; padding:40px; border-radius:4px; }
.mb-hv2-bonus .mb-hv2-h3{ color:#fff; }
.mb-hv2-bonus__box{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); padding:22px; margin:0 0 26px; }
.mb-hv2-bonus__pct{ font-family:var(--hv2-mono); font-size:28px; font-weight:500; color:var(--hv2-gold); margin:0 0 6px; }
.mb-hv2-bonus__pct span{ font-size:14px; color:#fff; }
.mb-hv2-bonus__l{ color:#fff; font-weight:600; text-decoration:none; }
.mb-hv2-bonus__l:hover{ text-decoration:underline; }
.mb-hv2-bonus__none{ font-size:15px; margin:0 0 6px; }
.mb-hv2-bonus__sub{ font-size:13px; line-height:1.5; color:rgba(255,255,255,.6); font-style:italic; margin:0; }
.mb-hv2-calc{ background:#fff; border:1px solid var(--hv2-line); padding:40px; border-radius:4px; }

/* NÚMEROS */
.mb-hv2-stats{ background:#fff; border-top:1px solid var(--hv2-line); border-bottom:1px solid var(--hv2-line); padding:clamp(36px,5vw,56px) 0; }
.mb-hv2-sgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
.mb-hv2-stat__n{ display:block; font-family:var(--hv2-serif); font-weight:700; font-size:clamp(36px,5vw,52px); line-height:1; color:var(--hv2-navy); margin-bottom:8px; }
.mb-hv2-stat__l{ font-family:var(--hv2-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--hv2-body); }

/* NEWSLETTER */
.mb-hv2-news{ background:#e6e8ec; padding:clamp(48px,7vw,80px) 0; }
.mb-hv2-news__in{ max-width:760px; margin:0 auto; }

/* RESPONSIVO */
@media (max-width:1023px){
  .mb-hv2-rgrid,.mb-hv2-dgrid,.mb-hv2-cgrid{ grid-template-columns:repeat(2,1fr); }
  .mb-hv2-ggrid{ grid-template-columns:1fr; }
  .mb-hv2-guia{ height:340px; }
  .mb-hv2-twoup{ grid-template-columns:1fr; gap:24px; }
  .mb-hv2-sgrid{ grid-template-columns:repeat(2,1fr); gap:32px; }
}
@media (max-width:560px){
  .mb-hv2-rgrid,.mb-hv2-dgrid,.mb-hv2-cgrid{ grid-template-columns:1fr 1fr; }
  .mb-hv2-cgrid{ grid-template-columns:1fr; }
  .mb-hv2-bonus,.mb-hv2-calc{ padding:28px; }
}
/* Seções V2 reaproveitadas na HOME ATUAL: alinha à largura 1140 da .mb-template-home
   (a home é mais estreita que a /home-v2/ de 1280) e zera o padding lateral extra da
   seção de guias (o .mb-template-home já dá o respiro lateral). */
.mb-hv2--home{ --hv2-max:1140px; }
.mb-hv2--home .mb-hv2-guias{ padding-left:0; padding-right:0; padding-top:clamp(40px,5vw,56px); }
.mb-hv2--home .mb-hv2-comecar{ margin-top:8px; }
/* Variante CONTIDA (bleed="0") — card navy arredondado na largura do conteúdo,
   p/ páginas-pilar contidas (ex.: /comece-aqui/). Não vaza pra 100vw. */
.mb-hv2-comecar--card{ border-radius:8px; overflow:hidden; margin:28px 0;
  padding-top:clamp(30px,4vw,46px); padding-bottom:clamp(30px,4vw,46px); }

/* /home-v2/ (page 5072): esconde título do Blocksy e cola o hero no topo */
.page-id-5072 .entry-title,
.page-id-5072 .ct-page-title,
.page-id-5072 .page-title,
.page-id-5072 .page-hero-section,
.page-id-5072 header.entry-header{ display:none !important; }
.page-id-5072 .entry-content{ padding-top:0 !important; margin-top:0 !important; }
.page-id-5072 .mb-hv2{ margin-top:0; }

/* ==========================================================================
   /comece-aqui/ REDESIGN (Stitch "guia definitivo") — namespace .mb-ca2*
   Tokens do site (Fraunces/Schibsted/JetBrains Mono, navy #14233A, dourado #B8893B,
   esmeralda #2D5A27). Full-bleed via 100vw nas bandas (roadmap + matrix).
   ========================================================================== */
.mb-ca2{ --c-navy:#14233A; --c-navy2:#1a2b3c; --c-gold:#B8893B; --c-amber:#F5A623; --c-emerald:#2D5A27;
  --c-ink:#14233A; --c-body:#44474c; --c-line:#d6dbe2; --c-surf:#f2f4f8; --c-paper:#fff;
  --c-serif:var(--mb-serif,'Fraunces',Georgia,serif); --c-sans:var(--mb-sans,'Schibsted Grotesk',system-ui,sans-serif);
  --c-mono:var(--mb-mono,'JetBrains Mono',monospace); --c-max:1140px;
  font-family:var(--c-sans); color:var(--c-ink); }
.mb-ca2 *{ box-sizing:border-box; }
.mb-ca2-bleed{ width:100vw; margin-left:calc(50% - 50vw); }
.mb-ca2-wrap{ max-width:var(--c-max); margin:0 auto; padding-left:24px; padding-right:24px; }
.mb-ca2 .mb-ca2-h2{ font-family:var(--c-serif); font-weight:700; font-size:clamp(26px,3.4vw,34px); line-height:1.14; letter-spacing:-0.02em; color:var(--c-navy); margin:0; }
.mb-ca2 .mb-ca2-h2--light{ color:#fff; }
.mb-ca2 .mb-ca2-h2--center{ text-align:center; }
.mb-ca2 .mb-ca2-h3{ font-family:var(--c-serif); font-weight:700; font-size:clamp(20px,2.4vw,26px); line-height:1.2; color:var(--c-navy); margin:0 0 10px; }
.mb-ca2-dek{ font-size:15px; line-height:1.55; color:var(--c-body); margin:8px 0 0; }
.mb-ca2-btn{ display:inline-block; font-weight:700; font-size:15px; padding:14px 26px; border-radius:4px; text-decoration:none; transition:all .15s ease; }
.mb-ca2-btn--solid{ background:var(--c-navy); color:#fff; border:1px solid var(--c-navy); }
.mb-ca2-btn--solid:hover{ background:#0a111a; }
.mb-ca2-btn--ghost{ background:transparent; color:var(--c-navy); border:1px solid var(--c-navy); }
.mb-ca2-btn--ghost:hover{ background:var(--c-navy); color:#fff; }

/* HERO (assimétrico 7/5) */
.mb-ca2-hero{ display:grid; grid-template-columns:1.25fr 1fr; gap:48px; align-items:center; padding:clamp(28px,5vw,56px) 0 clamp(40px,6vw,64px); }
.mb-ca2-hero__h1{ font-family:var(--c-serif); font-weight:700; font-size:clamp(34px,5vw,52px); line-height:1.04; letter-spacing:-0.03em; color:var(--c-navy); margin:0 0 22px; }
.mb-ca2-hero__sub{ font-size:clamp(16px,1.6vw,19px); line-height:1.55; color:var(--c-body); max-width:54ch; margin:0 0 30px; }
.mb-ca2-hero__cta{ display:flex; flex-wrap:wrap; gap:14px; }
.mb-ca2-hero__media{ position:relative; }
.mb-ca2-hero__media img{ display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:6px; border:1px solid var(--c-line); }
.mb-ca2-hero__shade{ position:absolute; inset:0; border-radius:6px; background:linear-gradient(to top, rgba(20,35,58,.35), transparent 55%); }
.mb-ca2-hero__card{ position:absolute; left:-20px; bottom:-24px; max-width:280px; background:#fff; padding:20px 22px; box-shadow:0 18px 50px rgba(8,17,32,.18); border-left:4px solid var(--c-emerald); }
.mb-ca2-hero__card-lbl{ font-family:var(--c-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--c-emerald); margin:0 0 6px; }
.mb-ca2-hero__card-txt{ font-size:14.5px; line-height:1.45; font-weight:600; color:var(--c-ink); margin:0; }

/* PILARES (4 cards) */
.mb-ca2-pillars{ padding:clamp(36px,5vw,56px) 0; }
.mb-ca2-sechead{ margin-bottom:36px; }
.mb-ca2-sechead--center{ text-align:center; }
.mb-ca2-sechead--center .mb-ca2-dek{ margin-left:auto; margin-right:auto; max-width:60ch; }
.mb-ca2-pgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.mb-ca2-pcard{ display:flex; flex-direction:column; padding:28px; background:#fff; border:1px solid var(--c-line); text-decoration:none; transition:border-color .2s ease, box-shadow .2s ease; }
.mb-ca2-pcard:hover{ border-color:var(--c-navy); box-shadow:0 14px 36px rgba(20,35,58,.1); }
.mb-ca2-pico{ display:inline-flex; width:52px; height:52px; align-items:center; justify-content:center; background:var(--c-surf); border-radius:8px; color:var(--c-navy); margin-bottom:18px; transition:background .2s ease, color .2s ease; }
.mb-ca2-pcard:hover .mb-ca2-pico{ background:var(--c-navy); color:#fff; }
.mb-ca2-pico svg{ width:28px; height:28px; }
.mb-ca2-pcard h3{ font-family:var(--c-serif); font-weight:700; font-size:21px; color:var(--c-navy); margin:0 0 10px; }
.mb-ca2-pcard p{ font-size:14px; line-height:1.5; color:var(--c-body); margin:0 0 18px; flex:1; }
.mb-ca2-plink{ font-weight:700; font-size:13.5px; color:var(--c-navy); }
.mb-ca2-pcard:hover .mb-ca2-plink{ color:var(--c-gold); }

/* ROADMAP (banda navy) */
.mb-ca2-roadmap{ background:var(--c-navy); color:#fff; padding:clamp(48px,7vw,80px) 0; margin:8px 0; }
.mb-ca2-roadmap .mb-ca2-h2{ margin-bottom:48px; }
.mb-ca2-rgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.mb-ca2-step{ position:relative; padding:26px 22px 24px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); border-radius:8px; }
.mb-ca2-step__n{ position:absolute; top:-14px; left:14px; font-family:var(--c-serif); font-weight:700; font-size:54px; line-height:1; color:rgba(183,200,222,.18); }
.mb-ca2-step h4{ position:relative; font-family:var(--c-serif); font-weight:700; font-size:21px; color:#fff; margin:8px 0 12px; }
.mb-ca2-step p{ font-size:14px; line-height:1.55; color:#c8d2e0; margin:0; }
.mb-ca2-step p a{ color:#fff; text-decoration:underline; text-decoration-color:rgba(255,255,255,.4); }
.mb-ca2-step p a:hover{ text-decoration-color:var(--c-gold); }
.mb-ca2-step p strong{ color:#fff; }

/* REGRA DE OURO */
.mb-ca2-rule{ display:grid; grid-template-columns:1.6fr 1fr; gap:40px; align-items:center; padding:clamp(40px,6vw,72px) clamp(24px,4vw,56px); margin:clamp(28px,4vw,48px) 0; background:var(--c-surf); border:1px solid var(--c-line); border-radius:12px; }
.mb-ca2-tag{ display:inline-block; font-family:var(--c-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#1a1206; background:var(--c-amber); padding:5px 12px; margin-bottom:18px; }
.mb-ca2-rule__p{ font-size:16px; line-height:1.6; color:var(--c-body); margin:16px 0 22px; }
.mb-ca2-rule__p strong{ color:var(--c-ink); }
.mb-ca2-rule__cta{ display:inline-block; font-weight:700; color:var(--c-navy); text-decoration:none; border-bottom:2px solid var(--c-gold); padding-bottom:3px; }
.mb-ca2-rule__cta:hover{ opacity:.7; }
.mb-ca2-rule__ex{ background:#fff; border:1px solid var(--c-line); padding:30px 24px; text-align:center; transform:rotate(2deg); box-shadow:0 10px 30px rgba(8,17,32,.08); }
.mb-ca2-ex__lbl{ font-family:var(--c-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--c-body); margin:0 0 8px; }
.mb-ca2-ex__val{ font-family:var(--c-serif); font-weight:700; font-size:38px; color:var(--c-navy); margin:0 0 4px; }
.mb-ca2-ex__cap{ font-size:13px; color:var(--c-body); margin:0 0 14px; }
.mb-ca2-rule__ex hr{ border:0; border-top:1px solid var(--c-line); margin:0 0 14px; }
.mb-ca2-ex__verd{ font-family:var(--c-mono); font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--c-emerald); margin:0; }

/* PRINCÍPIOS */
.mb-ca2-princ{ display:grid; grid-template-columns:1fr 2fr; gap:40px; padding:clamp(32px,4vw,52px) 0; border-top:1px solid var(--c-line); }
.mb-ca2-princ__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.mb-ca2-pr{ border-left:2px solid var(--c-gold); padding-left:18px; }
.mb-ca2-pr h5{ font-weight:700; font-size:15px; color:var(--c-navy); margin:0 0 8px; }
.mb-ca2-pr p{ font-size:14px; line-height:1.5; color:var(--c-body); margin:0; }

/* GUIAS E FERRAMENTAS (banda) */
.mb-ca2-matrix{ background:var(--c-surf); padding:clamp(48px,6vw,72px) 0; }
.mb-ca2-matrix .mb-ca2-h2{ margin-bottom:36px; }
.mb-ca2-mgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.mb-ca2-mcol h6{ font-family:var(--c-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--c-body); margin:0 0 16px; }
.mb-ca2-mcol ul{ list-style:none; margin:0; padding:0; }
.mb-ca2-mcol li{ margin:0 0 12px; }
.mb-ca2-mcol a{ color:var(--c-navy); text-decoration:none; font-size:15px; font-weight:500; }
.mb-ca2-mcol a:hover{ color:var(--c-gold); }

/* RESPONSIVO */
@media (max-width:1023px){
  .mb-ca2-hero{ grid-template-columns:1fr; gap:64px 32px; }
  .mb-ca2-hero__media{ max-width:440px; }
  .mb-ca2-pgrid,.mb-ca2-rgrid,.mb-ca2-mgrid{ grid-template-columns:repeat(2,1fr); }
  .mb-ca2-rule{ grid-template-columns:1fr; gap:32px; }
  .mb-ca2-princ{ grid-template-columns:1fr; gap:24px; }
}
@media (max-width:600px){
  .mb-ca2-pgrid,.mb-ca2-rgrid,.mb-ca2-mgrid,.mb-ca2-princ__grid{ grid-template-columns:1fr; }
  .mb-ca2-hero__card{ left:0; }
}
/* /comece-aqui/ (3294) com hero próprio: zera o respiro do corpo no topo */
.page-id-3294 .mb-pilar-corpo{ padding-top:0; }

/* ====== /programas/ redesign (.mb-pr2*, sobre a base .mb-ca2*) ====== */
.page-id-3295 .mb-pilar-corpo{ padding-top:0; }
.mb-pr2-hero{ position:relative; min-height:clamp(340px,42vw,560px); display:flex; align-items:flex-end; background:var(--c-navy); overflow:hidden; }
.mb-pr2-hero::before{ content:''; position:absolute; inset:0; background-image:var(--pr2-hero,none); background-size:cover; background-position:center; }
.mb-pr2-hero::after{ content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(10,17,26,.86) 6%, rgba(10,17,26,.4) 50%, rgba(10,17,26,.25)); }
.mb-pr2-hero__in{ position:relative; z-index:1; padding-top:48px; padding-bottom:clamp(36px,5vw,64px); }
.mb-pr2-badge{ display:inline-block; font-family:var(--c-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#1a1206; background:var(--c-amber); padding:5px 14px; margin-bottom:18px; }
.mb-pr2-hero__h1{ font-family:var(--c-serif); font-weight:700; font-size:clamp(32px,5vw,52px); line-height:1.05; letter-spacing:-0.03em; color:#fff; margin:0 0 16px; max-width:18ch; }
.mb-pr2-hero__sub{ font-size:clamp(15px,1.5vw,18px); line-height:1.55; color:rgba(255,255,255,.86); max-width:54ch; margin:0; }
.mb-pr2-tldr{ background:var(--c-surf); border:1px solid var(--c-line); border-left:3px solid var(--c-gold); border-radius:8px; padding:24px clamp(20px,3vw,32px); margin:clamp(28px,4vw,44px) 0; }
.mb-pr2-tldr__lbl{ font-family:var(--c-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--c-gold); font-weight:600; margin:0 0 12px; }
.mb-pr2-tldr__list{ margin:0; padding-left:20px; display:grid; gap:9px; }
.mb-pr2-tldr__list li{ font-size:15px; line-height:1.5; color:var(--c-body); }
.mb-pr2-tldr__list strong{ color:var(--c-ink); }
.mb-pr2-sechead{ margin-bottom:30px; border-left:4px solid var(--c-gold); padding-left:20px; }
.mb-pr2-sechead .mb-ca2-dek a{ color:var(--c-navy); font-weight:700; }
.mb-pr2-gold{ padding:clamp(24px,4vw,40px) 0; }
.mb-pr2-ggrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.mb-pr2-gcard{ position:relative; display:block; background:var(--c-paper); border:1px solid var(--c-line); padding:30px 26px 24px; text-decoration:none; transition:box-shadow .2s ease, transform .2s ease; }
.mb-pr2-gcard:hover{ box-shadow:0 16px 40px rgba(20,35,58,.1); transform:translateY(-4px); }
.mb-pr2-gnum{ font-family:var(--c-mono); font-size:42px; color:rgba(184,137,59,.22); line-height:1; display:block; margin-bottom:14px; }
.mb-pr2-gcard h3{ font-family:var(--c-serif); font-weight:700; font-size:24px; color:var(--c-navy); margin:0 0 10px; }
.mb-pr2-gcard p{ font-size:14.5px; line-height:1.55; color:var(--c-body); margin:0 0 18px; }
.mb-pr2-glink{ font-weight:700; font-size:13.5px; color:var(--c-navy); }
.mb-pr2-gcard:hover .mb-pr2-glink{ color:var(--c-gold); }
.mb-pr2-vs{ background:var(--c-navy); color:#fff; padding:clamp(48px,7vw,80px) 0; margin:clamp(28px,4vw,48px) 0; }
.mb-pr2-vs__head{ text-align:center; margin-bottom:44px; }
.mb-pr2-vs__dek{ font-size:16px; color:#c8d2e0; max-width:60ch; margin:12px auto 0; }
.mb-pr2-vs__grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.mb-pr2-vcol{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:28px; }
.mb-pr2-vcol__t{ font-family:var(--c-serif); font-weight:700; font-size:21px; color:#fff; margin:0 0 16px; }
.mb-pr2-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.mb-pr2-chips a{ font-family:var(--c-mono); font-size:12px; color:#fff; background:rgba(255,255,255,.1); padding:5px 12px; border-radius:999px; text-decoration:none; }
.mb-pr2-chips a:hover{ background:var(--c-gold); color:#1a1206; }
.mb-pr2-vlist{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.mb-pr2-vlist li{ position:relative; padding-left:26px; font-size:14.5px; line-height:1.5; color:#c8d2e0; }
.mb-pr2-vlist li::before{ position:absolute; left:0; top:0; font-size:14px; }
.mb-pr2-vlist li.ok::before{ content:'✓'; color:#7fd1a6; font-weight:700; }
.mb-pr2-vlist li.warn::before{ content:'!'; color:var(--c-amber); font-weight:700; }
.mb-pr2-global{ padding:clamp(24px,4vw,40px) 0 clamp(36px,5vw,56px); }
.mb-pr2-iggrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--c-line); }
.mb-pr2-icard{ display:block; padding:26px; border-right:1px solid var(--c-line); border-bottom:1px solid var(--c-line); background:var(--c-paper); text-decoration:none; transition:background .2s ease; }
.mb-pr2-icard:hover{ background:var(--c-surf); }
.mb-pr2-icard__top{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.mb-pr2-icard h4{ font-family:var(--c-serif); font-weight:700; font-size:20px; color:var(--c-navy); margin:0; }
.mb-pr2-itag{ font-family:var(--c-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--c-gold); white-space:nowrap; }
.mb-pr2-icard p{ font-size:14px; line-height:1.55; color:var(--c-body); margin:0; }
.mb-pr2-cta__btns{ display:flex; flex-wrap:wrap; gap:14px; margin-top:6px; }
@media (max-width:1023px){
  .mb-pr2-ggrid,.mb-pr2-iggrid,.mb-pr2-vs__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .mb-pr2-ggrid,.mb-pr2-iggrid,.mb-pr2-vs__grid{ grid-template-columns:1fr; }
  .mb-pr2-icard{ border-right:0; }
}
/* ====== /destinos/ hero (reusa .mb-pr2-hero; botões claros no fundo escuro) ====== */
.page-id-3297 .mb-pilar-corpo{ padding-top:0; }
.mb-dest2-hero .mb-ca2-btn--solid{ background:#fff; color:var(--c-navy); border-color:#fff; }
.mb-dest2-hero .mb-ca2-btn--solid:hover{ background:#e6e8ec; }
.mb-dest2-hero .mb-ca2-btn--ghost{ color:#fff; border-color:rgba(255,255,255,.5); background:transparent; }
.mb-dest2-hero .mb-ca2-btn--ghost:hover{ background:rgba(255,255,255,.12); }
/* o hero é prependado; o dek antigo vira intro do grid (respiro acima) */
.page-id-3297 .mb-destinos-dek{ margin-top:28px; }

/* ====== /executiva/ hero + "Executiva observada" (.mb-ex2*) ====== */
.page-id-3296 .mb-pilar-corpo{ padding-top:0; }
.mb-ex2-obs{ padding:clamp(28px,4vw,44px) 0 clamp(8px,2vw,16px); }
.mb-ex2-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.mb-ex2-card{ display:flex; flex-direction:column; gap:5px; padding:18px 18px 16px; background:var(--c-paper,#fff); border:1px solid var(--c-line,#d6dbe2); border-left:2px solid var(--c-gold,#B8893B); text-decoration:none; transition:box-shadow .15s ease, transform .15s ease; }
.mb-ex2-card:hover{ box-shadow:0 6px 18px rgba(20,35,58,.08); transform:translateY(-2px); }
.mb-ex2-dest{ font-size:13px; font-weight:600; color:var(--c-body,#44474c); }
.mb-ex2-pts{ font-family:var(--c-mono,monospace); font-size:25px; line-height:1; color:var(--c-navy,#14233A); }
.mb-ex2-prog{ font-size:12px; color:var(--c-gold,#B8893B); }
.mb-ex2-foot{ font-size:14.5px; line-height:1.55; color:var(--c-body,#44474c); margin:6px 0 0; }
.mb-ex2-foot a{ color:var(--c-navy,#14233A); font-weight:700; }
@media (max-width:1023px){ .mb-ex2-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .mb-ex2-grid{ grid-template-columns:1fr 1fr; } }
