/*
Theme Name: Bonança
Theme URI: https://bonancavia.com.br
Description: Tema-filho da Bonança para o Astra. Guia editorial para quem termina o mês sem sobra: a conta, um teste pequeno e o próximo passo. Sem promessa de renda.
Author: Equipe Bonança
Author URI: https://bonancavia.com.br
Template: astra
Version: 1.2.0
Text Domain: bonanca-child
Requires at least: 6.5
Requires PHP: 8.3
Tested up to: 7.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-colors, custom-menu, featured-images, translation-ready, blog, one-column, accessibility-ready

Bonança é marca com ç. O domínio técnico é bonancavia.com.br, sem ç.
As fontes Inter e Fraunces estão em assets/fonts/, sob a SIL Open Font License 1.1.
*/

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/inter-latin-400-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("assets/fonts/inter-latin-500-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/inter-latin-600-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Fraunces";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("assets/fonts/fraunces-latin-500-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Fraunces";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/fraunces-latin-600-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Fraunces";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("assets/fonts/fraunces-latin-700-normal.woff2") format("woff2");
}

/*
 * Paleta A, "Céu que abre", aprovada. Tokens semânticos do design system.
 * --bonanca-primaria (#A94A2C) é texto, link e botão.
 * --bonanca-marca (#C65D3B) fica no logotipo e em faixa grande: em texto
 * pequeno sobre a areia ela fica em 3.53:1.
 * O sol (--bonanca-destaque) não é cor de texto.
 */
:root,
body.bonanca-palette-ceu {
	--bonanca-base: #f4ebdd;
	--bonanca-superficie: #fbf6ee;
	--bonanca-tinta: #2e2a26;
	--bonanca-tinta-suave: #5e5750;
	--bonanca-primaria: #a94a2c;
	--bonanca-primaria-hover: #8e3d24;
	--bonanca-primaria-texto: var(--bonanca-primaria);
	--bonanca-sobre-primaria: #fbf6ee;
	--bonanca-marca: #c65d3b;
	--bonanca-destaque: #edb145;
	--bonanca-apoio: #7e9a78;
	--bonanca-apoio-texto: #526b4c;
	--bonanca-linha: #dccdb7;
	--bonanca-linha-forte: #8a7f74;
	--bonanca-fonte-titulo: "Fraunces", "Iowan Old Style", "Palatino Linotype", Palatino, serif;
	--bonanca-fonte-texto: "Inter", "Segoe UI", sans-serif;
	--bonanca-raio: 1rem;
	--bonanca-medida: 40rem;
	--bonanca-sombra: 0 1px 0 rgba(46, 42, 38, 0.04);
}

/*
 * Paleta B, "Maré mansa". Não está aprovada. Continua no Personalizar.
 * O verde-mar #2E7D78 fica em 4.21:1 sobre a areia, então texto e botão
 * usam #1A4845.
 */
body.bonanca-palette-mare {
	--bonanca-base: #f3eee6;
	--bonanca-superficie: #fbfaf7;
	--bonanca-tinta: #1e3b3e;
	--bonanca-tinta-suave: #1e3b3e;
	--bonanca-primaria: #1a4845;
	--bonanca-primaria-hover: #123330;
	--bonanca-primaria-texto: #1a4845;
	--bonanca-sobre-primaria: #f3eee6;
	--bonanca-marca: #2e7d78;
	--bonanca-destaque: #e7775a;
	--bonanca-apoio: #cbb797;
	--bonanca-apoio-texto: #1e3b3e;
	--bonanca-linha: rgba(30, 59, 62, 0.16);
	--bonanca-linha-forte: #1e3b3e;
	--bonanca-sombra: 0 1px 0 rgba(30, 59, 62, 0.05);
}

body.bonanca-theme {
	background-color: var(--bonanca-base);
	color: var(--bonanca-tinta);
	font-family: var(--bonanca-fonte-texto);
	font-size: 1.125rem;
	line-height: 1.65;
	font-weight: 400;
}

body.bonanca-theme .site,
body.bonanca-theme #page,
body.bonanca-theme .site-content,
body.bonanca-theme.ast-plain-container,
body.bonanca-theme.ast-separate-container .site-content,
body.bonanca-theme.ast-narrow-container .site-content {
	background-color: var(--bonanca-base);
}

/*
 * O Astra imprime a cor de cabeçalho e rodapé no CSS dinâmico.
 * O !important fica só no fundo, para a paleta aparecer sem reconfigurar o Personalizar.
 */
body.bonanca-theme:not(.bonanca-cabecalho-escuro) .site-header,
body.bonanca-theme:not(.bonanca-cabecalho-escuro) .site-header .ast-builder-grid-row-container,
body.bonanca-theme:not(.bonanca-cabecalho-escuro) .ast-primary-header-bar {
	background-color: var(--bonanca-base) !important;
	color: var(--bonanca-tinta);
}

body.bonanca-theme .site-footer {
	display: none !important;
}

body.bonanca-theme.bonanca-cabecalho-escuro .site-header,
body.bonanca-theme.bonanca-cabecalho-escuro .site-header .ast-builder-grid-row-container,
body.bonanca-theme.bonanca-cabecalho-escuro .ast-primary-header-bar {
	background-color: #2e2a26 !important;
	color: #f4ebdd;
}

body.bonanca-theme a {
	color: var(--bonanca-primaria-texto);
}

body.bonanca-theme a:hover {
	color: var(--bonanca-primaria-hover);
}

body.bonanca-theme :focus-visible {
	outline: 2px solid var(--bonanca-tinta) !important;
	outline-offset: 2px;
}

body.bonanca-theme .site-header a,
body.bonanca-theme .main-header-menu a,
body.bonanca-theme .ast-builder-menu a,
body.bonanca-theme .site-title a {
	color: var(--bonanca-tinta);
	text-decoration: none;
}

body.bonanca-theme .site-header a:hover,
body.bonanca-theme .site-header a:focus-visible,
body.bonanca-theme .main-header-menu a:hover,
body.bonanca-theme .main-header-menu a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

body.bonanca-theme.bonanca-cabecalho-escuro .site-header a,
body.bonanca-theme.bonanca-cabecalho-escuro .main-header-menu a,
body.bonanca-theme.bonanca-cabecalho-escuro .ast-builder-menu a {
	color: #f4ebdd;
}

body.bonanca-theme.bonanca-cabecalho-escuro .site-header :focus-visible {
	outline-color: #edb145 !important;
}

.bonanca-logo {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	text-decoration: none;
}

.bonanca-logo img {
	display: block;
	width: 12rem;
	max-width: 70vw;
	min-width: 6rem;
	height: auto;
}

body.bonanca-theme .site-header .bonanca-logo:hover,
body.bonanca-theme .site-header .bonanca-logo:focus-visible {
	text-decoration: none;
}

body.bonanca-theme .site-title,
body.bonanca-theme .site-title a,
body.bonanca-theme .ast-site-title-wrap .site-title {
	font-family: var(--bonanca-fonte-titulo);
	font-weight: 600;
	letter-spacing: -0.03em;
}

body.bonanca-theme .site-description {
	font-family: var(--bonanca-fonte-texto);
	color: var(--bonanca-tinta);
}

.bonanca {
	width: 100%;
	max-width: 68rem;
	margin-inline: auto;
	padding-block: clamp(1.5rem, 4vw, 3.5rem) clamp(3rem, 7vw, 5.5rem);
}

#trilhas,
#casos,
#conta-do-mes,
#simulacao,
#proximo-passo,
.bonanca-trilhas li {
	scroll-margin-top: 5rem;
}

.bonanca h1,
.bonanca h2,
.bonanca h3 {
	font-family: var(--bonanca-fonte-titulo);
	font-weight: 600;
	letter-spacing: -0.03em;
	color: var(--bonanca-tinta);
	line-height: 1.12;
	text-wrap: balance;
	overflow-wrap: break-word;
}

.bonanca h1 {
	font-size: clamp(2.4rem, 6vw, 4.25rem);
	margin: 0 0 1.25rem;
}

.bonanca h2 {
	font-size: clamp(1.7rem, 3vw, 2.25rem);
	margin: 0 0 0.75rem;
}

.bonanca h3 {
	font-size: 1.35rem;
	margin: 0 0 0.45rem;
}

.bonanca p {
	margin: 0 0 1rem;
}

.bonanca-kicker {
	font-size: 0.98rem;
	font-weight: 600;
	color: var(--bonanca-primaria-texto);
	margin: 0 0 1rem;
}

.bonanca-kicker a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.bonanca-kicker-sep {
	padding-inline: 0.35rem;
}

.bonanca-h1 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.08em;
	margin-bottom: 1.4rem;
}

.bonanca-h1-linha {
	display: block;
}

.bonanca-h1-destaque {
	background: var(--bonanca-destaque);
	color: var(--bonanca-tinta);
	border-radius: 0.18em;
	padding: 0.02em 0.16em 0.08em;
}

.bonanca-lead {
	max-width: var(--bonanca-medida);
	font-size: 1.25rem;
	line-height: 1.55;
	margin-bottom: 1rem;
}

.bonanca-confianca,
.bonanca-aposta {
	max-width: var(--bonanca-medida);
}

.bonanca-aposta {
	font-weight: 600;
}

.bonanca-acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.bonanca-botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.55rem 1.1rem;
	border: 1px solid var(--bonanca-primaria);
	border-radius: 999px;
	background: var(--bonanca-primaria);
	color: var(--bonanca-sobre-primaria);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.2;
	text-decoration: none;
}

.bonanca-botao:hover,
.bonanca-botao:focus-visible {
	background: var(--bonanca-primaria-hover);
	border-color: var(--bonanca-primaria-hover);
	color: var(--bonanca-sobre-primaria);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.bonanca-botao-contorno {
	background: transparent;
	color: var(--bonanca-primaria);
}

.bonanca-botao-contorno:hover,
.bonanca-botao-contorno:focus-visible {
	background: var(--bonanca-primaria);
	border-color: var(--bonanca-primaria);
	color: var(--bonanca-sobre-primaria);
}

.bonanca-secao {
	margin-top: clamp(3rem, 7vw, 5rem);
}

.bonanca-secao-cabeca {
	max-width: var(--bonanca-medida);
	margin-bottom: 1.5rem;
}

.bonanca-codigo {
	margin: 0 0 0.35rem;
	font-family: var(--bonanca-fonte-titulo);
	font-size: 1.15rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--bonanca-primaria-texto);
}

.bonanca-trilhas,
.bonanca-lista-casos {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.9rem;
}

.bonanca-trilhas li,
.bonanca-cartao {
	background: var(--bonanca-superficie);
	border: 1px solid var(--bonanca-linha);
	border-radius: var(--bonanca-raio);
	box-shadow: var(--bonanca-sombra);
	padding: 1.15rem 1.2rem 0.4rem;
}

.bonanca-trilhas .bonanca-pergunta {
	font-weight: 600;
}

.bonanca-cartao-titulo {
	margin-bottom: 0.4rem;
}

.bonanca-cartao-titulo a {
	color: var(--bonanca-tinta);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

.bonanca-cartao-titulo a:hover,
.bonanca-cartao-titulo a:focus-visible {
	color: var(--bonanca-primaria-texto);
}

.bonanca-vazio {
	max-width: var(--bonanca-medida);
}

.bonanca-migalhas {
	margin-bottom: 1.25rem;
}

.bonanca-migalhas ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.2rem;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.98rem;
}

.bonanca-migalhas li {
	display: inline-flex;
	align-items: center;
}

.bonanca-migalhas li + li::before {
	content: "/";
	padding-inline: 0.4rem;
	color: var(--bonanca-tinta);
}

.bonanca-migalhas a {
	display: inline-block;
	min-height: 44px;
	line-height: 44px;
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.bonanca-abertura > p:first-child,
.bonanca-caso-cabeca .bonanca-abertura p {
	font-size: 1.25rem;
	line-height: 1.55;
	max-width: var(--bonanca-medida);
}

.bonanca-datas {
	font-size: 0.98rem;
	margin-top: 0.5rem;
	color: var(--bonanca-tinta-suave);
}

.bonanca-capa-figura {
	margin: 1.5rem 0 0;
}

.bonanca-capa,
.bonanca-conteudo img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: var(--bonanca-raio);
}

.bonanca-conteudo {
	max-width: var(--bonanca-medida);
	margin-top: 1.75rem;
}

.bonanca-conteudo a {
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.bonanca-conteudo ul,
.bonanca-conteudo ol {
	padding-left: 1.2rem;
	margin: 0 0 1rem;
}

.bonanca-conteudo table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1rem;
}

.bonanca-conteudo th,
.bonanca-conteudo td {
	text-align: left;
	padding: 0.55rem 0.6rem;
	border-bottom: 1px solid var(--bonanca-linha);
	vertical-align: top;
}

.bonanca-ficha,
.bonanca-numeros {
	margin: 1rem 0 0;
}

.bonanca-ficha > div {
	padding: 0.95rem 0;
	border-top: 1px solid var(--bonanca-linha);
}

.bonanca-ficha dt,
.bonanca-numeros dt {
	font-weight: 600;
	font-size: 0.98rem;
	margin: 0 0 0.25rem;
}

.bonanca-ficha dd,
.bonanca-numeros dd {
	margin: 0;
}

.bonanca-ficha dd {
	font-size: 1.2rem;
}

.bonanca-numeros {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}

.bonanca-numeros > div {
	background: var(--bonanca-superficie);
	border: 1px solid var(--bonanca-linha);
	border-radius: var(--bonanca-raio);
	padding: 1rem 1.05rem;
}

.bonanca-numero {
	font-family: var(--bonanca-fonte-titulo);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.bonanca-aviso {
	margin: 1rem 0 0.5rem;
	padding: 0.9rem 1rem;
	border-left: 4px solid var(--bonanca-marca);
	background: var(--bonanca-superficie);
	border-radius: 0 0.75rem 0.75rem 0;
	font-weight: 600;
}

.bonanca-limite,
.bonanca-cenario,
.bonanca-credito-nota {
	max-width: var(--bonanca-medida);
}

.bonanca-cenario {
	font-family: var(--bonanca-fonte-titulo);
	font-size: 1.35rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	margin-top: 1.25rem;
}

.bonanca-credito {
	margin-top: clamp(2.5rem, 6vw, 4rem);
	padding-top: 1.25rem;
	border-top: 1px solid var(--bonanca-linha);
	max-width: var(--bonanca-medida);
}

.bonanca-credito p:last-child {
	margin-bottom: 0;
}

.bonanca-credito-nota {
	font-size: 0.98rem;
}

.bonanca-paginacao {
	margin-top: 1.75rem;
}

.bonanca-paginacao .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.bonanca-paginacao .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0.3rem 0.7rem;
	border: 1px solid var(--bonanca-linha-forte);
	border-radius: 999px;
	background: var(--bonanca-superficie);
	color: var(--bonanca-tinta);
	text-decoration: none;
}

.bonanca-paginacao a.page-numbers:hover,
.bonanca-paginacao a.page-numbers:focus-visible,
.bonanca-paginacao .page-numbers.current {
	border-color: var(--bonanca-tinta);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.bonanca-nota-site-wrap {
	padding: 0.4rem 1.25rem 1.4rem;
	background: var(--bonanca-base);
}

.bonanca-nota-site {
	max-width: 68rem;
	margin: 0 auto;
	font-size: 0.98rem;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

@media (min-width: 40rem) {
	.bonanca-trilhas,
	.bonanca-lista-casos {
		grid-template-columns: 1fr 1fr;
	}

	.bonanca-numeros {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 64rem) {
	.bonanca-numeros {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.bonanca-catalogo {
	max-width: 42rem;
	padding-top: clamp(2.2rem, 6vw, 4.5rem);
}

.bonanca-catalogo h1 {
	font-size: clamp(1.85rem, 4.5vw, 2.7rem);
	max-width: 16ch;
	margin-bottom: 0.85rem;
}

.bonanca-contexto {
	max-width: 34rem;
	font-size: 1.125rem;
	line-height: 1.5;
	margin-bottom: 0;
}

.bonanca-contador {
	margin: 1.15rem 0 0;
	color: var(--bonanca-tinta-suave);
	font-size: 0.98rem;
}

.bonanca-filtros {
	display: grid;
	gap: 1.35rem;
	margin-top: 2.75rem;
}

.bonanca-filtros-nome {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 600;
}

.bonanca-filtros ul,
.bonanca-etiquetas {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	list-style: none;
	margin: 0.45rem 0 0;
	padding: 0;
}

.bonanca-chip,
.bonanca-etiquetas a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.3rem 0.85rem;
	border: 1px solid var(--bonanca-linha-forte);
	border-radius: 999px;
	background: var(--bonanca-superficie);
	color: var(--bonanca-tinta);
	font-size: 0.98rem;
	line-height: 1.2;
	text-decoration: none;
}

.bonanca-chip[aria-current="true"] {
	background: var(--bonanca-destaque);
	border-color: transparent;
	color: var(--bonanca-tinta);
	font-weight: 600;
}

.bonanca-lista-catalogo {
	list-style: none;
	margin: 2.75rem 0 0;
	padding: 0;
	display: grid;
	gap: 1.35rem;
}

.bonanca-cartao-catalogo {
	background: var(--bonanca-superficie);
	border: 1px solid var(--bonanca-linha);
	border-radius: var(--bonanca-raio);
	padding: 1.35rem 1.3rem 1.15rem;
}

.bonanca-cartao-catalogo h3 {
	font-size: clamp(1.45rem, 3vw, 1.85rem);
	margin-bottom: 0.55rem;
}

.bonanca-cartao-resumo {
	max-width: 38rem;
	margin-bottom: 0.35rem;
}

.bonanca-cartao-data {
	margin: 0.85rem 0 0.2rem;
	color: var(--bonanca-tinta-suave);
	font-size: 0.98rem;
}

.bonanca-cartao-acao {
	margin: 0.15rem 0 0;
}

.bonanca-cartao-acao a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-weight: 600;
}

.bonanca-vazio-catalogo {
	margin-top: clamp(2.5rem, 8vw, 4.5rem);
	padding-bottom: 1rem;
	max-width: 28rem;
}

.bonanca-vazio-catalogo h2 {
	font-size: clamp(1.6rem, 3vw, 2.1rem);
}

.bonanca-como-topo {
	max-width: var(--bonanca-medida);
	margin-bottom: 0.5rem;
}

.bonanca-rodape {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	max-width: 68rem;
	margin: 0 auto;
	padding: 1.5rem 1.25rem 2rem;
	background: var(--bonanca-base);
}

.bonanca-rodape-credito {
	margin: 0;
}

.bonanca-rodape-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.15rem;
}

.bonanca-rodape-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
	.bonanca *,
	.bonanca *::before,
	.bonanca *::after {
		scroll-behavior: auto !important;
		transition: none !important;
		animation: none !important;
	}
}

@media print {
	body.bonanca-theme {
		background: #fff;
		color: #000;
	}

	.bonanca-acoes,
	.bonanca-rodape,
	.bonanca-filtros,
	.site-header,
	.site-footer {
		display: none;
	}

	.bonanca-aviso {
		border: 1px solid #000;
	}
}
