/* NICHO Blog · Kit B · Magazine: base de todas as telas (topo, rodapé, títulos, botões, cards, trilha, filtros, anúncios e paginação).
   Visual de jornal: Source Sans 3 no texto e Oswald em caixa alta nos títulos, preto no topo e no rodapé e a cor do site (vermelho no
   design) em etiquetas, faixas e botões; cantos retos. Mesmas classes do Kit O (as telas sem desenho próprio usam as mesmas peças);
   o que é só do Magazine fica no fim. */

:root {
	--nx-ink: #111111;
	--nx-text: #111111;
	--nx-muted: #555555;
	--nx-line: #E5E5E5;
	--nx-line-forte: #BBBBBB;
	--nx-bg: #FFFFFF;
	--nx-white: #FFFFFF;
	--nx-dark: #111111;
	--nx-dark-2: #000000;
	--nx-dark-line: rgba(255, 255, 255, 0.14);
	--nx-dark-muted: #AAAAAA;
	--nx-cinza: #F2F2F2; /* faixas cinza */
	--nx-img: #E9E9E9; /* lugar da imagem */
	/* Texto na cor do site, com contraste para ler no branco (sobretítulos, "Ver todas", números). */
	--nx-tinta: var(--nx-accent-ink, var(--nx-accent));
	--nx-tint: color-mix(in oklab, var(--nx-accent) 10%, #FFFFFF);
	--nx-font: 'Source Sans 3', Arial, sans-serif;
	--nx-font-titulo: Oswald, 'Arial Narrow', Arial, sans-serif;
	/* Sombras no lugar das linhas em volta de cards, botões e campos. */
	--nx-sombra: 0 1px 2px rgba(17, 17, 17, 0.05), 0 8px 24px -10px rgba(17, 17, 17, 0.16);
	--nx-sombra-leve: 0 1px 2px rgba(17, 17, 17, 0.05), 0 3px 10px -4px rgba(17, 17, 17, 0.14);
	--nx-sombra-forte: 0 2px 4px rgba(17, 17, 17, 0.06), 0 18px 40px -14px rgba(17, 17, 17, 0.24);

	/* Variáveis das ferramentas de Finanças e Trabalho (o CSS delas vem desses nichos). */
	--float: 0 1px 2px rgba(17, 17, 17, .04), 0 10px 30px rgba(17, 17, 17, .08);
	--float-hover: 0 2px 4px rgba(17, 17, 17, .05), 0 20px 44px rgba(17, 17, 17, .13);
	--float-sm: 0 1px 2px rgba(17, 17, 17, .05), 0 4px 12px rgba(17, 17, 17, .07);
	--nx-soft: #F2F2F2;
	--nx-field: #BBBBBB;
	--nx-line-strong: #E5E5E5;
	--nx-tint-8: color-mix(in oklab, var(--nx-accent) 8%, #fff);
	--nx-tint-10: color-mix(in oklab, var(--nx-accent) 10%, #fff);
	--nx-tint-12: color-mix(in oklab, var(--nx-accent) 12%, #fff);
	--nx-tint-14: color-mix(in oklab, var(--nx-accent) 14%, #fff);
	--fx-display: Oswald, 'Arial Narrow', Arial, sans-serif;
	--fx-display-weight: 600;
	--fx-display-tracking: 0;
	--fx-radius: 2px;
	--fx-gray: #BBBBBB;
	--fx-border: #E5E5E5;
	--fx-ink: var(--nx-tinta);
	--fx-tint-8: var(--nx-tint-8);
	--fx-tint-10: var(--nx-tint-10);
	--fx-tint-12: var(--nx-tint-12);
	--fx-tint-14: var(--nx-tint-14);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--nx-bg);
	color: var(--nx-text);
	font-family: var(--nx-font);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--nx-ink);
}

a:hover {
	color: var(--nx-tinta);
}

.nx-wrap {
	width: 100%;
	max-width: 1248px;
	margin: 0 auto;
	padding: 0 24px;
}

.nx-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.nx-skip {
	position: absolute;
	left: -9999px;
	top: 8px;
	z-index: 100;
	padding: 10px 16px;
	border-radius: 999px;
	background: var(--nx-ink);
	color: #FFFFFF;
	font-weight: 700;
}

.nx-skip:focus {
	left: 8px;
}

/* ---------- Títulos e textos ---------- */

.nx-eyebrow {
	display: block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--nx-tinta);
}

.nx-h2 {
	margin: 0;
	font-size: 40px;
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.nx-h2--sm {
	font-size: 30px;
}

/* ---------- Botões, campos e busca ---------- */

.nx-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 48px;
	padding: 0 24px;
	border: 0;
	border-radius: 999px;
	background: var(--nx-accent);
	color: var(--nx-on-accent, #FFFFFF);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .15s, color .15s, border-color .15s;
}

.nx-btn:hover {
	background: var(--nx-accent-hover);
	color: var(--nx-on-accent-hover, #111111);
}

.nx-btn--lg {
	height: 56px;
	padding: 0 28px;
	font-size: 16px;
}

.nx-btn--linha {
	border: 1.5px solid var(--nx-ink);
	background: transparent;
	color: var(--nx-ink);
	font-weight: 600;
}

.nx-btn--linha:hover {
	background: var(--nx-ink);
	color: #FFFFFF;
}

.nx-btn--branco {
	background: #FFFFFF;
	color: var(--nx-ink);
}

.nx-btn--branco:hover {
	background: var(--nx-accent);
	color: var(--nx-on-accent, #111111);
}

.nx-btn--linha-clara {
	border: 1.5px solid #FFFFFF;
	background: transparent;
	color: #FFFFFF;
	font-weight: 600;
}

.nx-btn--linha-clara:hover {
	background: #FFFFFF;
	color: var(--nx-ink);
}

.nx-botoes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.nx-input {
	width: 100%;
	height: 56px;
	padding: 0 20px;
	border: 1.5px solid var(--nx-line-forte);
	border-radius: 999px;
	background: #FFFFFF;
	color: var(--nx-ink);
	font-family: inherit;
	font-size: 16px;
}

.nx-input:focus {
	outline: none;
	border-color: var(--nx-ink);
	box-shadow: 0 0 0 3px color-mix(in oklab, var(--nx-accent) 35%, transparent);
}

.nx-busca {
	display: flex;
	gap: 8px;
}

.nx-busca .nx-input {
	flex: 1;
	min-width: 0;
}

.nx-busca .nx-btn {
	height: 56px;
	padding: 0 28px;
	font-size: 16px;
}

.nx-sublinha {
	align-self: flex-start;
	padding: 8px 0;
	font-size: 16px;
	font-weight: 700;
	color: #FFFFFF;
	text-decoration: underline;
	text-decoration-color: var(--nx-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}

.nx-sublinha:hover {
	color: var(--nx-accent);
}

/* ---------- Cabeçalho ---------- */

.nx-header {
	position: relative;
	z-index: 20;
	background: var(--nx-header-bg, #FFFFFF);
	border-bottom: 1px solid var(--nx-line);
	color: var(--nx-header-ink, var(--nx-ink));
}

.nx-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	max-width: 1248px;
	height: 84px;
	margin: 0 auto;
	padding: 0 24px;
}

.nx-logo {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	flex-shrink: 0;
	color: inherit;
	text-decoration: none;
}

.nx-logo:hover {
	color: inherit;
}

.nx-logo__name {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
	white-space: nowrap;
}

.nx-logo--img img {
	display: block;
	width: auto;
	max-height: 44px;
}

/* Definições > MENU > Texto abaixo da logo (o alinhamento com a imagem e a cor em fundo escuro vêm do script do tema). */
.nx-logo-by {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.01em;
	opacity: 0.72;
	white-space: nowrap;
}

.nx-logo-by .nx-logo-by__pre {
	font-weight: 400;
}

.nx-footer .nx-logo-by {
	color: var(--nx-footer-ink, inherit);
}

.nx-nav {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-left: auto;
	font-size: 15px;
	font-weight: 600;
}

.nx-nav a {
	padding: 8px 0;
	border-bottom: 2px solid transparent;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}

.nx-nav a:hover,
.nx-nav a[aria-current="page"] {
	border-bottom-color: var(--nx-accent);
	color: inherit;
}

.nx-header__lupa,
.nx-header__menu {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 22px;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.nx-header__lupa:hover,
.nx-header__menu:hover,
.nx-header__lupa[aria-expanded="true"] {
	border-color: currentColor;
}

.nx-header__menu {
	display: none;
}

.nx-header__busca {
	display: none;
	padding: 16px 24px 20px;
	border-top: 1px solid var(--nx-line);
	background: var(--nx-header-bg, #FFFFFF);
}

.nx-header__busca.is-open {
	display: block;
}

.nx-header__busca .nx-busca {
	max-width: 720px;
	margin: 0 auto;
}

/* Definições > CORES > Cor do topo: linhas na cor do texto do topo, para não sumirem em fundo escuro. */
.nx-header,
.nx-header__busca {
	border-color: color-mix(in srgb, var(--nx-header-ink, var(--nx-ink)) 12%, transparent);
}

.nx-header .nx-nav a:hover,
.nx-header .nx-nav a[aria-current="page"] {
	border-bottom-color: var(--nx-accent);
}

/* ---------- Trilha, topo das páginas e filtros ---------- */

.nx-crumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 14px;
	color: var(--nx-muted);
}

.nx-crumbs a {
	color: var(--nx-muted);
}

.nx-crumbs [aria-current="page"] {
	overflow: hidden;
	max-width: 100%;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nx-page-head {
	padding: 56px 0 48px;
	background: radial-gradient(circle at 1px 1px, color-mix(in oklab, var(--nx-accent) 10%, transparent) 1px, transparent 0) 0 0 / 22px 22px, var(--nx-cinza);
}

.nx-page-head .nx-wrap {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.nx-page-head__title {
	margin: 0;
	font-size: 56px;
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.nx-page-head__text {
	margin: 0;
	max-width: 760px;
	font-size: 19px;
	line-height: 1.6;
	color: var(--nx-muted);
}

.nx-page-head__busca {
	max-width: 640px;
}

/* Topo das ferramentas de Trabalho e da página Vagas (telas que vêm do nicho Trabalho): o mesmo desenho do topo das páginas. */
.nx-cat-head {
	padding: 56px 0 48px;
	background: radial-gradient(circle at 1px 1px, color-mix(in oklab, var(--nx-accent) 10%, transparent) 1px, transparent 0) 0 0 / 22px 22px, var(--nx-cinza);
}

.nx-cat-head__inner {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.nx-cat-head__title {
	margin: 0;
	font-size: 56px;
	line-height: 1.05;
	font-weight: 800;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.nx-cat-head__text {
	margin: 0;
	max-width: 760px;
	font-size: 19px;
	line-height: 1.6;
	color: var(--nx-muted);
}

/* Campo escondido contra robôs dos formulários (contato e "Informe seu salário"). */
.nx-form__trap {
	position: absolute;
	inset-inline-start: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.nx-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 8px;
}

.nx-chip {
	padding: 10px 18px;
	border: 1px solid var(--nx-line-forte);
	border-radius: 999px;
	color: var(--nx-ink);
	font-size: 15px;
	text-decoration: none;
	transition: background-color .15s, color .15s, border-color .15s;
}

.nx-chip:hover {
	border-color: var(--nx-ink);
	color: var(--nx-ink);
}

.nx-chip.is-active {
	border-color: var(--nx-ink);
	background: var(--nx-ink);
	color: #FFFFFF;
	font-weight: 600;
}

/* ---------- Imagens (foto do post ou a arte do layout) ---------- */

.nx-thumb,
.nx-foto {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 16px;
	background: color-mix(in oklab, var(--nx-accent) 14%, #FFFFFF);
}

.nx-thumb__img,
.nx-arte {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nx-legenda {
	position: absolute;
	left: 12px;
	bottom: 12px;
	padding: 5px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--nx-ink);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
}

/* ---------- Cards ---------- */

.nx-grid {
	display: grid;
	gap: 32px;
}

.nx-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nx-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.nx-card__title {
	margin: 0;
	font-size: 22px;
	line-height: 1.3;
	font-weight: 700;
}

.nx-card__title a {
	color: var(--nx-ink);
	text-decoration: none;
}

.nx-card__title a:hover {
	color: var(--nx-tinta);
}

/* ---------- Seções ---------- */

.nx-o-sec {
	padding: 72px 0;
}

/* Troca de fundo (branco > cinza ou cinza > branco): cada lado com meio respiro, para não somar um vão grande vazio. */
.nx-o-sec--branca + .nx-o-sec:not(.nx-o-sec--branca):not(.nx-o-sec--sem-topo),
.nx-o-sec:not(.nx-o-sec--branca) + .nx-o-sec--branca:not(.nx-o-sec--sem-topo) {
	padding-top: 48px;
}

.nx-o-sec--branca:not(.nx-o-sec--sem-base):has(+ .nx-o-sec:not(.nx-o-sec--branca)),
.nx-o-sec:not(.nx-o-sec--branca):not(.nx-o-sec--sem-base):has(+ .nx-o-sec--branca) {
	padding-bottom: 48px;
}

.nx-o-sec--sem-topo {
	padding-top: 0;
}

.nx-o-sec--sem-base {
	padding-bottom: 0;
}

.nx-o-sec--curta {
	padding: 48px 0 72px;
}

.nx-o-sec--branca {
	background: #FFFFFF;
}

.nx-o-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 32px;
}

/* ---------- Anúncios ---------- */

.nx-ad {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	margin: 32px auto;
	overflow: hidden;
}

.nx-ad__label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--nx-muted);
}

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

.nx-paginas {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 40px;
	font-size: 15px;
}

.nx-paginas .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--nx-line);
	border-radius: 10px;
	background: #FFFFFF;
	color: var(--nx-ink);
	font-weight: 600;
	text-decoration: none;
}

.nx-paginas a.page-numbers:hover {
	border-color: var(--nx-ink);
}

.nx-paginas .page-numbers.current {
	border-color: var(--nx-accent);
	background: var(--nx-accent);
	color: var(--nx-on-accent, #111111);
	font-weight: 700;
}

.nx-paginas .page-numbers.dots {
	border: 0;
	background: none;
	color: var(--nx-muted);
}

/* ---------- Rodapé ---------- */

.nx-footer {
	background: var(--nx-footer-bg, var(--nx-dark));
	color: var(--nx-dark-muted);
}

.nx-footer__inner {
	display: flex;
	flex-direction: column;
	gap: 36px;
	max-width: 1248px;
	margin: 0 auto;
	padding: 52px 24px 30px;
}

.nx-footer__top {
	display: grid;
	grid-template-columns: 4fr 3fr 3fr 2fr;
	gap: 24px;
}

.nx-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.nx-logo--footer {
	color: #FFFFFF;
}

.nx-logo--footer .nx-logo__name {
	font-size: 28px;
}

.nx-footer__tagline {
	max-width: 340px;
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}

.nx-footer__col {
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 15px;
}

.nx-footer__head {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #FFFFFF;
}

.nx-footer__col a {
	color: var(--nx-dark-muted);
	text-decoration: none;
}

.nx-footer__col a:hover {
	color: #FFFFFF;
	text-decoration: underline;
}

.nx-footer__bottom {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-top: 18px;
	border-top: 1px solid var(--nx-dark-line);
	font-size: 13px;
	line-height: 1.6;
	color: #999999;
}

.nx-footer__copy {
	margin: 0;
	color: var(--nx-dark-muted);
}

.nx-footer__copy a {
	color: #FFFFFF;
}

/* Celular: rodapé centralizado, como nos outros nichos. */
@media (max-width: 640px) {
	.nx-footer__top,
	.nx-footer__brand,
	.nx-footer__col,
	.nx-footer__bottom {
		align-items: center;
		justify-items: center;
		text-align: center;
	}

	.nx-footer .nx-logo {
		align-items: center;
		margin: 0 auto;
	}

	.nx-footer__top > :last-child:nth-child(even) {
		grid-column: 1 / -1;
	}
}

/* ---------- Telas médias e celular ---------- */

@media (max-width: 1100px) {
	.nx-nav {
		gap: 18px;
		font-size: 14px;
	}
}

@media (max-width: 960px) {
	.nx-header__bar {
		height: 68px;
		gap: 16px;
	}

	.nx-logo__name {
		font-size: 22px;
	}

	.nx-header__menu {
		display: flex;
	}

	.nx-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		margin: 0;
		padding: 8px 24px 16px;
		border-bottom: 1px solid var(--nx-line);
		background: var(--nx-header-bg, #FFFFFF);
		font-size: 16px;
	}

	.nx-nav.is-open {
		display: flex;
	}

	.nx-nav,
	.nx-nav a {
		border-color: color-mix(in srgb, var(--nx-header-ink, var(--nx-ink)) 12%, transparent);
	}

	.nx-nav a {
		padding: 14px 0;
		border-bottom-width: 1px;
		border-bottom-style: solid;
	}

	.nx-h2 {
		font-size: 34px;
	}

	.nx-page-head__title,
	.nx-cat-head__title {
		font-size: 42px;
	}

	.nx-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nx-footer__top {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 40px;
	}

	.nx-footer__brand {
		grid-column: 1 / -1;
	}

	.nx-o-sec {
		padding: 48px 0;
	}

	.nx-o-sec--sem-topo {
		padding-top: 0;
	}

	.nx-o-sec--sem-base {
		padding-bottom: 0;
	}
}

@media (max-width: 640px) {
	.nx-wrap,
	.nx-header__bar,
	.nx-footer__inner {
		padding-left: 16px;
		padding-right: 16px;
	}

	.nx-h2 {
		font-size: 28px;
	}

	.nx-h2--sm {
		font-size: 24px;
	}

	.nx-page-head {
		padding: 32px 0 28px;
	}

	.nx-page-head__title,
	.nx-cat-head__title {
		font-size: 34px;
	}

	.nx-page-head__text {
		font-size: 17px;
	}

	.nx-o-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.nx-grid--3 {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Celular: campo em cima e botão embaixo, os dois na largura toda.
	   Em coluna, o "flex: 1" do campo achatava a altura dele; aqui ele fica com a altura própria. */
	.nx-busca {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.nx-busca .nx-input {
		flex: none;
		width: 100%;
		height: 52px;
	}

	.nx-busca .nx-btn {
		width: 100%;
		height: 52px;
		padding: 0 20px;
		justify-content: center;
		text-align: center;
	}

	/* Topo das páginas (categoria, busca, 404) no celular: trilha, título, texto, busca e filtros no centro. */
	.nx-page-head .nx-wrap {
		align-items: center;
		text-align: center;
	}

	.nx-page-head .nx-crumbs,
	.nx-page-head .nx-chips {
		justify-content: center;
	}

	.nx-page-head__busca {
		width: 100%;
	}

	.nx-footer__top {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.nx-o-sec {
		padding: 48px 0;
	}

	.nx-o-sec--sem-topo {
		padding-top: 0;
	}

	.nx-o-sec--sem-base {
		padding-bottom: 0;
	}

	.nx-chip {
		padding: 8px 14px;
		font-size: 14px;
	}
}

/* ---------- Seletor (<select>) com lista própria (shared/assets/js/comum.js) ---------- */

.nx-select {
	position: relative;
	display: block;
	width: 100%;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.nx-select__nativo {
	width: 100%;
	-webkit-appearance: none;
	appearance: none;
	color: transparent !important;
	pointer-events: none;
}

.nx-select__btn {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	padding: 0 16px;
	border: 0;
	border-radius: inherit;
	background: transparent;
	color: var(--nx-ink);
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.nx-select__btn::after {
	content: '';
	width: 8px;
	height: 8px;
	flex-shrink: 0;
	margin-top: -4px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.nx-select.is-open .nx-select__btn::after {
	margin-top: 4px;
	transform: rotate(-135deg);
}

.nx-select__btn:focus-visible {
	outline: 2px solid var(--nx-ink);
	outline-offset: 2px;
}

.nx-select__lista {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	z-index: 60;
	display: none;
	max-height: 280px;
	margin: 0;
	padding: 6px;
	overflow-y: auto;
	list-style: none;
	border-radius: 12px;
	background: var(--nx-surface, #FFFFFF);
	box-shadow: 0 18px 40px rgba(27, 27, 27, 0.16);
}

.nx-select.is-open .nx-select__lista {
	display: block;
}

.nx-select.is-open {
	z-index: 100;
}

form:has(.nx-select.is-open) {
	position: relative;
	z-index: 100;
}

.nx-select__lista li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 6px;
	color: var(--nx-ink);
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
}

.nx-select__lista li.is-active {
	background: color-mix(in oklab, var(--nx-accent) 12%, var(--nx-surface, #FFFFFF));
}

.nx-select__lista li[aria-selected="true"] {
	color: var(--nx-tinta);
	font-weight: 700;
}

.nx-select__lista li[aria-selected="true"]::after {
	content: '';
	width: 5px;
	height: 10px;
	margin-top: -3px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
}

/* ---------- Busca: sugestões de artigos enquanto digita (shared/assets/js/comum.js) ---------- */

.nx-suggest-host {
	position: relative;
}

.nx-suggest {
	position: absolute;
	z-index: 60;
	display: flex;
	flex-direction: column;
	max-height: min(420px, 70vh);
	overflow-y: auto;
	padding: 6px;
	border: 1px solid var(--nx-line);
	border-radius: 16px;
	background: #FFFFFF;
	box-shadow: 0 18px 44px -10px rgba(0, 0, 0, 0.25);
	text-align: left;
}

.nx-suggest[hidden] {
	display: none;
}

.nx-suggest__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 12px;
	color: var(--nx-ink);
	text-decoration: none;
}

.nx-suggest__item:hover,
.nx-suggest__item.is-active,
.nx-suggest__all:hover,
.nx-suggest__all.is-active {
	background: var(--nx-tint);
	color: var(--nx-ink);
}

.nx-suggest__img {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	object-fit: cover;
	background: var(--nx-bg);
}

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

.nx-suggest__title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.nx-suggest__title mark {
	padding: 0 1px;
	border-radius: 3px;
	background: var(--nx-tint-14);
	color: var(--nx-tinta);
	font-weight: 800;
}

.nx-suggest__cat {
	font-size: 12px;
	font-weight: 600;
	color: var(--nx-muted);
}

.nx-suggest__empty {
	padding: 12px;
	font-size: 14px;
	color: var(--nx-muted);
}

.nx-suggest__all {
	margin-top: 4px;
	padding: 12px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
	color: var(--nx-tinta);
	text-decoration: none;
}

/* ---------- Ferramentas (página Ferramentas, cada ferramenta e os Mini jogos): topo e títulos centralizados ---------- */
/* O anúncio que a rede coloca no topo aparece centralizado; trilha, título, texto e filtros ficam alinhados com ele. */

.nx-ferramentas-idx .nx-page-head .nx-wrap,
.nx-ft-pagina .nx-page-head .nx-wrap,
.nx-jogos .nx-page-head .nx-wrap,
.nx-tool-page .nx-tool-head__inner,
.nx-tool-page .nx-cat-head__inner,
.nx-vagas .nx-cat-head__inner {
	align-items: center;
	text-align: center;
}

.nx-ferramentas-idx .nx-crumbs,
.nx-ft-pagina .nx-crumbs,
.nx-tool-page .nx-crumbs,
.nx-vagas .nx-crumbs,
.nx-ferramentas-idx .nx-chips,
.nx-jogos .nx-chips,
.nx-jogos .nx-o-head,
.nx-ft-pagina .nx-ft-head__linha {
	justify-content: center;
}

.nx-ferramentas-idx .nx-page-head__text,
.nx-ft-pagina .nx-page-head__text,
.nx-jogos .nx-page-head__text,
.nx-jogos .nx-page-head__busca,
.nx-tool-page .nx-tool-head__text,
.nx-tool-page .nx-cat-head__text,
.nx-vagas .nx-cat-head__text {
	margin-left: auto;
	margin-right: auto;
}

.nx-ft-pagina .nx-ft-head__selo {
	align-self: center;
}

.nx-jogos .nx-page-head__busca {
	width: 100%;
}

/* Títulos dos grupos ("Dinheiro e finanças", "Outras ferramentas"...). */
.nx-ftx__head {
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.nx-tool-page .nx-tools-group__title {
	text-align: center;
}

/* Anúncio das ferramentas sempre no meio da tela. */
.nx-ferramentas-idx .nx-ad,
.nx-ferramentas .nx-ad,
.nx-jogos .nx-ad,
.nx-jogo .nx-ad,
.nx-tool-page .nx-ad,
.nx-vagas .nx-ad {
	margin-left: auto;
	margin-right: auto;
}

/* ---------- Botões, campos e cards sem linha em volta, com sombra (computador e celular) ---------- */
/* "body" na frente para valer também sobre o CSS de cada tela (home.css, single.css...), que carrega depois deste. */

:root {
	--nx-sombra-cel: 0 1px 2px rgba(0, 0, 0, 0.06), 0 6px 18px -6px rgba(0, 0, 0, 0.16);
	--nx-sombra-cel-leve: 0 1px 2px rgba(0, 0, 0, 0.06), 0 3px 10px -4px rgba(0, 0, 0, 0.14);
	--nx-sombra-cel-toque: 0 2px 4px rgba(0, 0, 0, 0.08), 0 10px 24px -8px rgba(0, 0, 0, 0.24);
}

/* Cards */
body .nx-ftx__card,
body .nx-ft-ajuda__dicas,
body .nx-artigo__voltar,
body .nx-artigo__box,
body .nx-artigo__content .block-content.block-content-default,
body .nx-suggest,
body .nx-artigo__content > table {
	border-color: transparent;
	box-shadow: var(--nx-sombra-cel);
}

/* Botões e campos */
body .nx-chip,
body .nx-paginas .page-numbers,
body .nx-share button,
body .nx-share a,
body .nx-header__lupa,
body .nx-header__menu,
body .nx-btn--linha,
body .nx-input,
body .nx-form__field input,
body .nx-form__field select,
body .nx-form__field textarea {
	border-color: transparent;
	box-shadow: var(--nx-sombra-cel-leve);
}

/* Botão claro em fundo escuro: a sombra não aparece, então um fundo um pouco mais claro no lugar da linha. */
body .nx-btn--linha-clara {
	border-color: transparent;
	background: rgba(255, 255, 255, 0.08);
}

body .nx-btn--linha-clara:hover {
	background: #FFFFFF;
	color: var(--nx-ink);
}

/* Campo em foco: a sombra e o contorno na cor do site. */
body .nx-input:focus,
body .nx-form__field input:focus,
body .nx-form__field select:focus,
body .nx-form__field textarea:focus {
	box-shadow: var(--nx-sombra-cel-leve), 0 0 0 3px color-mix(in oklab, var(--nx-accent) 35%, transparent);
}

/* Sem o realce cinza/azul que o próprio celular desenha em volta do que é tocado. */
body a,
body button,
body summary,
body input,
body select,
body textarea {
	-webkit-tap-highlight-color: transparent;
}

/* Hover, toque e foco: também sem linha; a sombra só fica um pouco mais forte. */
body .nx-ftx__card:is(:hover, :active, :focus-visible),
body .nx-artigo__voltar:is(:hover, :active, :focus-visible),
body .nx-artigo__content .block-content.block-content-default:is(:hover, :active),
body .nx-chip:is(:hover, :active, :focus-visible),
body .nx-paginas .page-numbers:is(:hover, :active, :focus-visible),
body .nx-share button:is(:hover, :active, :focus-visible),
body .nx-share a:is(:hover, :active, :focus-visible),
body .nx-header__lupa:is(:hover, :active, :focus-visible),
body .nx-header__lupa[aria-expanded="true"],
body .nx-header__menu:is(:hover, :active, :focus-visible),
body .nx-header__menu[aria-expanded="true"],
body .nx-btn--linha:is(:hover, :active, :focus-visible) {
	border-color: transparent;
	outline: none;
	box-shadow: var(--nx-sombra-cel-toque);
}

body .nx-input:focus,
body .nx-form__field input:focus,
body .nx-form__field select:focus,
body .nx-form__field textarea:focus {
	border-color: transparent;
}

/* Pílula e página marcadas continuam cheias na cor de antes, sem linha. */
body .nx-chip.is-active,
body .nx-paginas .page-numbers.current {
	border-color: transparent;
	box-shadow: none;
}

/* ========================================================================== */
/* KIT B · MAGAZINE: o que é só deste kit (topo de jornal, etiquetas, seções, cards e rodapé) */
/* ========================================================================== */

/* Títulos em Oswald, caixa alta. */
.nx-h2,
.nx-page-head__title,
.nx-cat-head__title {
	font-family: var(--nx-font-titulo);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.12;
	text-transform: uppercase;
}

/* Cantos retos (o desenho usa 0 a 2px). */
.nx-btn,
.nx-input,
.nx-chip,
.nx-paginas .page-numbers,
.nx-thumb,
.nx-foto {
	border-radius: 2px;
}

.nx-btn {
	font-family: var(--nx-font-titulo);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Topo das páginas: branco, título grande em caixa alta. */
.nx-page-head,
.nx-cat-head {
	background: #FFFFFF;
}

/* ---------- Topo: uma barra branca com a marca, o menu em caixa alta, a lupa e "Newsletter" ---------- */
/* Com Definições > Cores > Cor do topo, o fundo é ela e o texto, a lupa e as linhas seguem a cor de texto que contrasta (--nx-header-ink). */

.nx-header {
	border-bottom: 1px solid color-mix(in srgb, var(--nx-header-ink, var(--nx-ink)) 12%, transparent);
}

.nx-header__bar {
	justify-content: flex-start;
	gap: 40px;
	height: 92px;
}

.nx-logo__name {
	gap: 10px;
	font-family: var(--nx-font-titulo);
	font-size: 34px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.nx-logo__traco {
	width: 11px;
	height: 36px;
	flex-shrink: 0;
	background: var(--nx-accent);
}

/* Menu: o item do lugar atual (e o do hover) ganha um traço grosso na cor do site embaixo. */
.nx-nav {
	flex: 1;
	align-self: stretch;
	gap: 26px;
	margin: 0;
	font-family: var(--nx-font-titulo);
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.nx-nav a,
.nx-header .nx-nav a {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 4px 0 0;
	border-bottom: 4px solid transparent;
	color: var(--nx-header-ink, var(--nx-ink));
}

.nx-nav a:hover,
.nx-nav a[aria-current="page"],
.nx-header .nx-nav a:hover,
.nx-header .nx-nav a[aria-current="page"] {
	border-bottom-color: var(--nx-accent);
	color: var(--nx-header-ink, var(--nx-ink));
}

.nx-header__acoes {
	gap: 12px;
}

body .nx-header__lupa,
body .nx-header__lupa:is(:hover, :active, :focus-visible),
body .nx-header__lupa[aria-expanded="true"] {
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 2px;
	background: color-mix(in srgb, var(--nx-header-ink, var(--nx-ink)) 7%, transparent);
	box-shadow: none;
	color: var(--nx-header-ink, var(--nx-ink));
}

body .nx-header__lupa:hover,
body .nx-header__lupa[aria-expanded="true"] {
	background: color-mix(in srgb, var(--nx-header-ink, var(--nx-ink)) 14%, transparent);
}

.nx-header__cta {
	height: 44px;
	padding: 0 22px;
}

.nx-header__busca {
	border-top: 1px solid var(--nx-line);
	background: #F4F4F4;
}

/* "Em alta": selo na cor do site e 3 títulos separados por barra. */
.nx-b-alta {
	border-top: 1px solid var(--nx-line);
	background: #FFFFFF;
}

.nx-b-alta__inner {
	display: flex;
	align-items: center;
	gap: 16px;
	max-width: 1248px;
	height: 46px;
	margin: 0 auto;
	padding: 0 24px;
}

.nx-b-alta__selo {
	flex-shrink: 0;
	padding: 4px 10px;
	background: var(--nx-accent);
	color: var(--nx-on-accent, #FFFFFF);
	font-family: var(--nx-font-titulo);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.nx-b-alta__lista {
	display: flex;
	gap: 16px;
	min-width: 0;
	overflow: hidden;
}

.nx-b-alta__lista a {
	flex-shrink: 0;
	color: var(--nx-ink);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.nx-b-alta__lista a:hover {
	color: var(--nx-tinta);
}

.nx-b-alta__lista a + a::before {
	content: "/";
	margin-right: 16px;
	color: #BBBBBB;
}

/* ---------- Etiqueta da categoria: bloco sólido no tom da categoria, texto branco em caixa alta ---------- */

.nx-tag {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	padding: 4px 8px;
	background: var(--nx-tom);
	color: #FFFFFF;
	font-family: var(--nx-font-titulo);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}

a.nx-tag:hover {
	color: #FFFFFF;
	filter: brightness(1.08);
}

.nx-tom-1 { --nx-tom: #1F9D63; }
.nx-tom-2 { --nx-tom: #3667D6; }
.nx-tom-3 { --nx-tom: #7347E0; }
.nx-tom-4 { --nx-tom: #E0457B; }
.nx-tom-5 { --nx-tom: #1A9AA8; }
.nx-tom-6 { --nx-tom: #E08A2B; }

/* ---------- Cabeçalho de seção: o título numa etiqueta sobre um traço grosso, links à direita ---------- */

.nx-b-sec {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 8px 18px;
	margin-bottom: 22px;
	border-bottom: 3px solid var(--nx-tom, var(--nx-ink));
}

.nx-b-sec__titulo {
	margin: 0;
	padding: 8px 16px 6px;
	background: var(--nx-tom, var(--nx-ink));
	color: #FFFFFF;
	font-family: var(--nx-font-titulo);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.12;
	text-transform: uppercase;
}

.nx-b-sec__titulo a {
	color: inherit;
	text-decoration: none;
}

.nx-b-sec__links {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	margin-left: auto;
	padding-bottom: 8px;
}

.nx-b-sec__links a {
	color: var(--nx-muted);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.nx-b-sec__links a:first-child,
.nx-b-sec__links a:hover {
	color: var(--nx-tom, var(--nx-tinta));
}

/* Cabeçalho na cor do site (sem tom de categoria). */
.nx-b-sec--cor {
	--nx-tom: var(--nx-accent);
}

/* ---------- Cards ---------- */

/* Card com o texto sobre a foto (degradê escuro embaixo). */
.nx-b-capa {
	position: relative;
	display: block;
	overflow: hidden;
	min-height: 250px;
	background: var(--nx-img);
	color: #FFFFFF;
	text-decoration: none;
}

.nx-b-capa .nx-thumb {
	position: absolute;
	inset: 0;
	border-radius: 0;
	transition: transform 0.4s;
}

.nx-b-capa:hover .nx-thumb {
	transform: scale(1.04);
}

.nx-b-capa__texto {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 70px 22px 22px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.82) 70%, rgba(0, 0, 0, 0.4));
}

.nx-b-capa__titulo {
	font-family: var(--nx-font-titulo);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.12;
	text-transform: uppercase;
	text-wrap: balance;
}

.nx-b-capa__resumo {
	font-size: 15px;
	line-height: 1.5;
	color: #E6E6E6;
}

.nx-b-capa .nx-autor {
	color: #D0D0D0;
}

.nx-b-capa:hover {
	color: #FFFFFF;
}

/* Card de foto em cima e título embaixo. */
.nx-b-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	color: var(--nx-ink);
	text-decoration: none;
}

.nx-b-card__foto {
	position: relative;
	display: block;
}

.nx-b-card__foto .nx-thumb {
	height: 170px;
	border-radius: 0;
	background: var(--nx-img);
}

.nx-b-card__foto .nx-tag {
	position: absolute;
	left: 14px;
	top: 14px;
}

.nx-b-card__titulo {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.nx-b-card--grande .nx-b-card__foto .nx-thumb {
	height: 300px;
}

.nx-b-card--grande .nx-b-card__titulo {
	font-family: var(--nx-font-titulo);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.12;
	text-transform: uppercase;
	text-wrap: balance;
}

.nx-b-card__resumo {
	font-size: 15px;
	line-height: 1.5;
	color: var(--nx-muted);
}

.nx-b-card:hover {
	color: var(--nx-ink);
}

.nx-b-card:hover .nx-b-card__titulo {
	color: var(--nx-tinta);
}

/* Item de lista: foto pequena à esquerda e título. */
.nx-b-item {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 14px;
	color: var(--nx-ink);
	text-decoration: none;
}

.nx-b-item .nx-thumb {
	height: 82px;
	border-radius: 0;
	background: var(--nx-img);
}

.nx-b-item__texto {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.nx-b-item__titulo {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.nx-b-item:hover {
	color: var(--nx-ink);
}

.nx-b-item:hover .nx-b-item__titulo {
	color: var(--nx-tinta);
}

/* Linha de artigo (Categoria e "Últimas" da Home): foto à esquerda com a etiqueta, título, data e resumo. */
.nx-b-linha {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--nx-line);
	color: var(--nx-ink);
	text-decoration: none;
}

.nx-b-linha:hover {
	color: var(--nx-ink);
}

.nx-b-linha__foto {
	position: relative;
	display: block;
}

.nx-b-linha__foto .nx-thumb {
	height: 180px;
	border-radius: 0;
	background: var(--nx-img);
}

.nx-b-linha__foto .nx-tag {
	position: absolute;
	left: 12px;
	top: 12px;
}

.nx-b-linha__texto {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.nx-b-linha__titulo {
	font-family: var(--nx-font-titulo);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.12;
	text-transform: uppercase;
	text-wrap: balance;
}

.nx-b-linha:hover .nx-b-linha__titulo {
	color: var(--nx-tinta);
}

.nx-b-linha__resumo {
	font-size: 16px;
	line-height: 1.55;
	color: var(--nx-muted);
}

/* Linha menor ("Últimas" da Home). */
.nx-b-linha--menor {
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 20px;
	padding-bottom: 20px;
}

.nx-b-linha--menor .nx-b-linha__foto .nx-thumb {
	height: 140px;
}

.nx-b-linha--menor .nx-b-linha__texto {
	gap: 8px;
}

.nx-b-linha--menor .nx-b-linha__titulo {
	font-size: 22px;
}

.nx-b-linha--menor .nx-b-linha__resumo {
	font-size: 15px;
}

/* Data e leitura: "05 nov · 9 min". */
.nx-autor {
	font-size: 13px;
	line-height: 1.4;
	color: var(--nx-muted);
}

/* ---------- Lateral (Home, Categoria e Artigo): "Mais lidas" e "Ferramentas grátis" ---------- */

.nx-b-lado {
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	gap: 36px;
	align-self: start;
	min-width: 0;
}

.nx-b-lado .nx-b-sec {
	margin-bottom: 14px;
}

.nx-b-lidas {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nx-b-lidas a {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	align-items: start;
	gap: 12px;
	color: var(--nx-ink);
	text-decoration: none;
}

.nx-b-lidas__foto {
	position: relative;
	display: block;
}

.nx-b-lidas__foto .nx-thumb {
	height: 70px;
	border-radius: 0;
	background: var(--nx-img);
}

.nx-b-lidas__foto b {
	position: absolute;
	left: 0;
	top: 0;
	padding: 2px 8px;
	background: var(--nx-accent);
	color: var(--nx-on-accent, #FFFFFF);
	font-family: var(--nx-font-titulo);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.12;
}

.nx-b-lidas__titulo {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

.nx-b-lidas a:hover .nx-b-lidas__titulo {
	color: var(--nx-tinta);
}

/* Ferramentas: links com divisória entre eles. */
.nx-b-ferr {
	display: flex;
	flex-direction: column;
}

.nx-b-ferr a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 0;
	border-top: 1px solid var(--nx-line);
	color: var(--nx-ink);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

.nx-b-ferr a:first-child {
	border-top: 0;
}

.nx-b-ferr a:hover {
	color: var(--nx-tinta);
}

.nx-b-ferr__todas {
	color: var(--nx-tinta) !important;
	font-weight: 700 !important;
}

/* ---------- Rodapé: marca e texto à esquerda, três colunas à direita ---------- */

.nx-footer__inner {
	padding: 64px 24px 36px;
}

.nx-footer__top {
	grid-template-columns: 5fr 7fr;
	gap: 64px;
}

.nx-footer__cols {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.nx-footer__head {
	font-size: 12px;
	letter-spacing: 0.12em;
	color: #AAAAAA;
}

.nx-footer__col {
	gap: 10px;
}

.nx-footer__col a {
	color: #FFFFFF;
}

.nx-footer__col a:hover {
	color: #FFFFFF;
	opacity: 0.8;
	text-decoration: none;
}

.nx-footer__bottom {
	padding-top: 20px;
	color: #AAAAAA;
}

/* ---------- Telas médias e celular ---------- */

@media (max-width: 1240px) {
	.nx-b-linha {
		grid-template-columns: 220px minmax(0, 1fr);
	}

	.nx-b-linha__foto .nx-thumb {
		height: 150px;
	}
}

@media (max-width: 1100px) {
	.nx-header__bar {
		gap: 24px;
	}

	.nx-nav {
		gap: 16px;
		font-size: 15px;
	}

	.nx-logo__name {
		font-size: 28px;
	}
}

@media (max-width: 960px) {
	.nx-header__bar {
		height: 76px;
	}

	.nx-logo__name {
		font-size: 28px;
	}

	.nx-logo__traco {
		width: 9px;
		height: 30px;
	}

	/* Menu do celular: abre embaixo da barra, em linhas. */
	.nx-nav {
		align-self: auto;
		top: 100%;
		padding: 8px 24px 16px;
		font-size: 16px;
	}

	.nx-nav a,
	.nx-header .nx-nav a {
		height: auto;
		padding: 14px 0;
		border-bottom: 1px solid color-mix(in srgb, var(--nx-header-ink, var(--nx-ink)) 12%, transparent);
	}

	.nx-nav a:hover,
	.nx-nav a[aria-current="page"],
	.nx-header .nx-nav a:hover,
	.nx-header .nx-nav a[aria-current="page"] {
		border-bottom-color: color-mix(in srgb, var(--nx-header-ink, var(--nx-ink)) 12%, transparent);
		color: var(--nx-accent);
	}

	.nx-header__acoes {
		margin-left: auto;
	}

	.nx-header__cta {
		display: none;
	}

	.nx-footer__top {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}

	.nx-footer__brand {
		grid-column: auto;
	}

	/* Lateral embaixo do conteúdo, em 2 colunas (sem ficar presa ao rolar). */
	.nx-b-lado {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px;
	}
}

@media (max-width: 640px) {
	.nx-logo__name {
		font-size: 24px;
	}

	.nx-logo__traco {
		width: 8px;
		height: 26px;
	}

	.nx-footer__cols {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.nx-b-lado {
		grid-template-columns: minmax(0, 1fr);
	}

	/* "Em alta" no celular: só o primeiro título, cortado com "…". */
	.nx-b-alta__lista a:not(:first-child) {
		display: none;
	}

	.nx-b-alta__lista a {
		flex-shrink: 1;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.nx-b-linha,
	.nx-b-linha--menor {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.nx-b-linha__foto .nx-thumb,
	.nx-b-linha--menor .nx-b-linha__foto .nx-thumb {
		height: 200px;
	}

	.nx-b-linha__titulo,
	.nx-b-linha--menor .nx-b-linha__titulo {
		font-size: 22px;
	}

	.nx-b-capa__titulo {
		font-size: 18px;
	}

	.nx-b-card--grande .nx-b-card__titulo {
		font-size: 22px;
	}

	.nx-b-card--grande .nx-b-card__foto .nx-thumb {
		height: 220px;
	}
}
