/*
 * O Repúblico 2: estilos do tema.
 *
 * Cores, fontes, tamanhos e espaçamentos vêm do theme.json (Aparência > Editor > Estilos).
 * Este arquivo cuida do que o theme.json não descreve: grades, cartões, fios e componentes.
 *
 * Sumário
 *  1. Base
 *  2. Estrutura e colunas
 *  3. Cabeçalho
 *  4. Chapéus, selos e títulos de seção
 *  5. Cartões, listas e grades
 *  6. Capa
 *  7. Artigo e páginas
 *  8. O Achadinho
 *  9. Componentes (anúncio, busca, newsletter, trilha, paginação)
 * 10. Rodapé
 * 11. Utilitários, movimento e impressão
 */

/* ==========================================================================
   1. Base
   ========================================================================== */

body {
	--or-navy: var(--wp--preset--color--navy, #001830);
	--or-ink: var(--wp--preset--color--ink, #111111);
	--or-dark: var(--wp--preset--color--dark, #30343a);
	--or-mid: var(--wp--preset--color--mid, #5e6368);
	--or-line: var(--wp--preset--color--line, #dcdfe2);
	--or-off: var(--wp--preset--color--off, #f7f7f5);
	--or-white: var(--wp--preset--color--white, #ffffff);
	--or-urgente: var(--wp--preset--color--urgente, #9b1b1b);
	--or-ach: var(--wp--preset--color--achadinho, #855400);
	--or-ach-claro: var(--wp--preset--color--achadinho-claro, #fbf4e4);
	--or-sans: var(--wp--preset--font-family--sans, system-ui, sans-serif);
	--or-tit: var(--wp--preset--font-family--titulos, Georgia, serif);
	--or-margem: var(--wp--custom--margem, 1rem);
	--or-lateral: var(--wp--custom--lateral, 300px);
	--or-raio: var(--wp--custom--raio, 2px);
	--or-largo: var(--wp--style--global--wide-size, 1240px);
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	overflow-wrap: break-word;
}

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

img,
video,
iframe {
	max-width: 100%;
}

img {
	height: auto;
}

h1,
h2 {
	text-wrap: balance;
}

:where(a, button, summary, input, select, textarea):focus-visible {
	outline: 2px solid var(--or-navy);
	outline-offset: 2px;
}

::selection {
	background: var(--or-navy);
	color: var(--or-white);
}

/* ==========================================================================
   2. Estrutura e colunas
   ========================================================================== */

/* Cabeçalho, conteúdo e rodapé encostam um no outro; cada um define o seu respiro. */
.wp-site-blocks > * {
	margin-block-start: 0;
}

.wp-block-group.or-principal {
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--70);
}

.wp-block-group.or-principal--capa {
	padding-block-start: var(--wp--preset--spacing--60);
}

/* Colunas: conteúdo + barra lateral. Com um só filho, o conteúdo ocupa tudo. */
.wp-block-group.or-colunas {
	display: grid;
	gap: var(--wp--preset--spacing--60) clamp(2rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1fr);
}

.wp-block-group.or-colunas > * {
	margin-block: 0;
	min-width: 0;
}

@media (min-width: 1024px) {
	.wp-block-group.or-colunas {
		grid-template-columns: minmax(0, 1fr) var(--or-lateral);
	}

	.wp-block-group.or-colunas--artigo {
		grid-template-columns: minmax(0, var(--wp--style--global--content-size, 720px)) var(--or-lateral);
		justify-content: center;
	}

	.wp-block-group.or-colunas > :only-child {
		grid-column: 1 / -1;
	}

	.wp-block-group.or-colunas--artigo > :only-child {
		justify-self: center;
		max-width: var(--wp--style--global--content-size, 720px);
		width: 100%;
	}
}

.or-lateral > * + * {
	margin-block-start: var(--wp--preset--spacing--60);
}

/* ==========================================================================
   3. Cabeçalho
   ========================================================================== */

/* 3.1 Barra superior: data e links do jornal */
.wp-block-group.or-topo {
	border-bottom: 1px solid var(--or-line);
	color: var(--or-mid);
	font-family: var(--or-sans);
	font-size: 0.8125rem;
	line-height: 1.3;
	padding-block: 0.45rem;
}

.or-topo__linha {
	gap: 1rem;
}

.or-topo .or-data {
	margin: 0;
	white-space: nowrap;
}

.or-topo .or-data::first-letter {
	text-transform: uppercase;
}

.or-topo .wp-block-navigation {
	font-size: inherit;
	font-weight: 400;
	gap: 1.25rem;
}

.or-topo .wp-block-navigation a {
	color: inherit;
}

.or-topo .wp-block-navigation a:hover {
	color: var(--or-navy);
	text-decoration: underline;
}

@media (max-width: 599px) {
	.or-topo .or-nav-topo {
		display: none;
	}

	.or-topo .or-topo__linha {
		justify-content: center;
	}
}

/* 3.2 Mastro: gaveta de seções, marca e ações */
.wp-block-group.or-mastro {
	padding-block: clamp(0.6rem, 2vw, 1.25rem);
	position: relative;
}

.wp-block-group.or-mastro__linha {
	align-items: center;
	display: grid;
	gap: 0.5rem;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.wp-block-group.or-mastro__linha > * {
	margin-block: 0;
}

.or-mastro__marca {
	gap: 0.75rem;
	grid-column: 2;
	grid-row: 1;
}

.or-mastro__linha > .or-gaveta--secoes {
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
}

.or-mastro__acoes {
	gap: 0.75rem;
	grid-column: 3;
	grid-row: 1;
}

.or-mastro .wp-block-site-logo {
	flex: none;
	line-height: 0;
	margin: 0;
}

.or-mastro .wp-block-site-logo img {
	border-radius: 50%;
	display: block;
}

.or-mastro .or-marca {
	margin: 0;
	white-space: nowrap;
}

.or-mastro .or-marca a:hover {
	text-decoration: none;
}

@media (max-width: 419px) {
	.or-mastro .wp-block-site-logo {
		display: none;
	}
}

/* Telas muito estreitas (dobráveis fechados, cerca de 280 px): a marca diminui para não encostar nos botões. */
@media (max-width: 339px) {
	.or-mastro .or-marca {
		font-size: 1.1875rem;
	}
}

.or-atalho-newsletter {
	margin: 0;
}

.or-atalho-newsletter__link {
	background: var(--or-navy);
	border-radius: var(--or-raio);
	color: var(--or-white);
	display: inline-block;
	padding: 0.6rem 0.9rem;
	text-decoration: none;
	white-space: nowrap;
}

.or-atalho-newsletter__link:hover,
.or-atalho-newsletter__link:focus {
	background: var(--or-ink);
	color: var(--or-white);
}

/*
 * O atalho da newsletter só aparece quando há espaço para ele ao lado de "Buscar".
 * Abaixo de 1024 px ele empurrava a busca para cima da marca (tablets em pé).
 */
@media (max-width: 1023px) {
	.or-atalho-newsletter {
		display: none;
	}
}

/* 3.3 Gavetas (bloco Detalhes): seções e busca */
.or-gaveta {
	margin: 0;
}

.or-gaveta > summary {
	align-items: center;
	border-radius: var(--or-raio);
	color: var(--or-navy);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	gap: 0.5rem;
	letter-spacing: 0.04em;
	line-height: 1;
	list-style: none;
	min-height: 44px;
	padding: 0.5rem 0.25rem;
	text-transform: uppercase;
	user-select: none;
}

.or-gaveta > summary::-webkit-details-marker {
	display: none;
}

.or-gaveta > summary::before {
	background: currentColor;
	content: "";
	flex: none;
	height: 1.25rem;
	-webkit-mask: var(--or-icone) center / contain no-repeat;
	mask: var(--or-icone) center / contain no-repeat;
	width: 1.25rem;
}

.or-gaveta--secoes {
	--or-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v2H3zm0 6h18v2H3zm0 6h18v2H3z'/%3E%3C/svg%3E");
}

.or-gaveta--busca {
	--or-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3a7 7 0 1 0 4.2 12.6l4.6 4.6 1.4-1.4-4.6-4.6A7 7 0 0 0 10 3zm0 2a5 5 0 1 1 0 10 5 5 0 0 1 0-10z'/%3E%3C/svg%3E");
}

.or-gaveta[open] {
	--or-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.4 5 5 6.4 10.6 12 5 17.6 6.4 19l5.6-5.6 5.6 5.6 1.4-1.4-5.6-5.6L19 6.4 17.6 5 12 10.6z'/%3E%3C/svg%3E");
}

@media (max-width: 599px) {
	.or-gaveta > summary {
		font-size: 0;
		gap: 0;
		justify-content: center;
		min-width: 44px;
		padding: 0;
	}

	.or-gaveta > summary::before {
		height: 1.5rem;
		width: 1.5rem;
	}
}

.or-gaveta .or-gaveta__painel {
	background: var(--or-white);
	border-bottom: 1px solid var(--or-ink);
	border-top: 1px solid var(--or-ink);
	box-shadow: 0 16px 24px -12px rgba(0, 0, 0, 0.18);
	left: 0;
	margin: 0;
	max-height: calc(100vh - 8rem);
	overflow-y: auto;
	padding: var(--wp--preset--spacing--50) var(--or-margem);
	position: absolute;
	right: 0;
	top: 100%;
	z-index: 60;
}

.or-gaveta .or-gaveta__painel > * {
	margin-inline: auto;
	max-width: var(--or-largo);
}

.or-gaveta__painel .or-busca {
	max-width: 40rem;
}

.or-gaveta__painel .wp-block-navigation {
	display: block;
	font-size: var(--wp--preset--font-size--medium);
}

.or-gaveta__painel .wp-block-navigation__container {
	display: grid;
	gap: 0.15rem 1.5rem;
	grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr));
	width: 100%;
}

.or-gaveta__painel .wp-block-navigation-item__content {
	display: block;
	padding: 0.55rem 0;
}

.or-gaveta__painel .wp-block-navigation a:hover {
	text-decoration: underline;
}

.or-gaveta__painel .or-nav-gaveta--secundaria {
	border-top: 1px solid var(--or-line);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	margin-block-start: 1rem;
	padding-block-start: 1rem;
}

/* 3.4 Barra de editorias: rola na horizontal quando não cabe */
.wp-block-group.or-barra-editorias {
	border-bottom: 3px double var(--or-ink);
	border-top: 1px solid var(--or-ink);
}

.or-barra-editorias nav.or-editorias {
	display: block;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}

.or-barra-editorias nav.or-editorias::-webkit-scrollbar {
	display: none;
}

.or-barra-editorias ul.or-editorias {
	flex-wrap: nowrap;
	gap: 0 clamp(1rem, 2.2vw, 2rem);
	justify-content: center;
	min-width: 100%;
	width: max-content;
}

.or-barra-editorias .wp-block-navigation-item__content {
	color: var(--or-ink);
	display: block;
	letter-spacing: 0.02em;
	padding: 0.8rem 0;
	white-space: nowrap;
}

.or-barra-editorias .wp-block-navigation-item__content:hover,
.or-barra-editorias .wp-block-navigation-item__content[aria-current] {
	box-shadow: inset 0 -3px 0 var(--or-navy);
	color: var(--or-navy);
}

/* ==========================================================================
   4. Chapéus, selos e títulos de seção
   ========================================================================== */

.or-chapeu,
p.is-style-or-chapeu,
p.is-style-or-urgente,
.or-selo {
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 800;
	letter-spacing: 0.07em;
	line-height: 1.3;
	text-transform: uppercase;
}

.or-chapeu,
p.is-style-or-chapeu {
	color: var(--or-navy);
}

.or-chapeu a {
	color: inherit;
	text-decoration: none;
}

.or-chapeu a:hover {
	text-decoration: underline;
}

/* Tipo e editoria mudam de linha inteiros: o nome não se parte no meio. */
.or-chapeu > * {
	display: inline-block;
}

.or-chapeu > *:not(:last-child)::after {
	color: var(--or-mid);
	content: "·";
	margin-inline: 0.4em 0.15em;
}

.or-chapeu__tipo {
	color: var(--or-dark);
}

.or-chapeu__tipo--comercial,
.or-selo {
	color: var(--or-ach);
}

p.is-style-or-urgente {
	color: var(--or-urgente);
}

h2.is-style-or-titulo-secao,
.is-style-or-titulo-secao {
	border-top: 2px solid var(--or-ink);
	color: var(--or-navy);
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.09em;
	line-height: 1.3;
	padding-block-start: 0.65rem;
	text-transform: uppercase;
}

.is-style-or-titulo-secao a {
	color: inherit;
	text-decoration: none;
}

.is-style-or-titulo-secao a:hover {
	text-decoration: underline;
}

.wp-block-group.or-cabeca-secao {
	align-items: baseline;
	border-top: 2px solid var(--or-ink);
	gap: 1rem;
	padding-block-start: 0.65rem;
}

.or-cabeca-secao .is-style-or-titulo-secao {
	border-top: 0;
	margin: 0;
	padding-block-start: 0;
}

.or-ver-mais {
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	margin: 0;
	white-space: nowrap;
}

.or-ver-mais a {
	text-decoration: none;
}

.or-ver-mais a::after {
	content: " \203A";
}

.or-ver-mais a:hover {
	text-decoration: underline;
}

/* ==========================================================================
   5. Cartões, listas e grades
   ========================================================================== */

.wp-block-post-template.or-lista,
.wp-block-post-template.or-feed,
.wp-block-post-template.or-grade,
.wp-block-post-template.or-ranking {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wp-block-post-template.or-lista > li,
.wp-block-post-template.or-feed > li,
.wp-block-post-template.or-grade > li,
.wp-block-post-template.or-ranking > li {
	margin: 0;
}

/* Dentro de um cartão, o respiro entre os elementos é curto. */
.wp-block-group.or-cartao > *,
.wp-block-group.or-cartao__texto > *,
.wp-block-group.or-cartao__hora > * {
	margin-block: 0;
}

.wp-block-group.or-cartao__texto > * + *,
.wp-block-group.or-cartao--imagem > * + *,
.wp-block-group.or-cartao--opiniao > * + * {
	margin-block-start: 0.4rem;
}

.or-cartao .wp-block-post-title {
	line-height: 1.22;
}

.or-cartao .wp-block-post-excerpt {
	font-size: 1rem;
}

.or-cartao .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.or-cartao .wp-block-post-featured-image {
	background: var(--or-off);
	margin: 0;
	overflow: hidden;
}

/* 5.1 Lista: texto à esquerda, imagem à direita, fio entre os itens */
.wp-block-post-template.or-lista > li + li {
	border-top: 1px solid var(--or-line);
	margin-block-start: 1rem;
	padding-block-start: 1rem;
}

.wp-block-group.or-cartao--lado {
	align-items: flex-start;
	display: flex;
	gap: 1rem;
}

.or-cartao--lado > .or-cartao__texto {
	flex: 1 1 0;
	min-width: 0;
}

.or-cartao--lado > .wp-block-post-featured-image {
	flex: 0 0 6.5rem;
	width: 6.5rem;
}

.or-lista--arquivo > li + li {
	margin-block-start: 1.5rem;
	padding-block-start: 1.5rem;
}

@media (min-width: 600px) {
	.or-cartao--lado > .wp-block-post-featured-image {
		flex-basis: 8.5rem;
		width: 8.5rem;
	}

	.or-lista--arquivo .or-cartao--lado {
		gap: 1.5rem;
	}

	.or-lista--arquivo .or-cartao--lado > .wp-block-post-featured-image {
		flex-basis: 15rem;
		width: 15rem;
	}
}

.or-secundarias .or-cartao--lado > .wp-block-post-featured-image {
	flex-basis: 6.5rem;
	width: 6.5rem;
}

/* 5.2 Feed com hora */
.wp-block-post-template.or-feed > li {
	border-top: 1px solid var(--or-line);
	padding-block: 1rem;
}

.wp-block-post-template.or-feed > li:first-child {
	border-top: 0;
}

.wp-block-group.or-cartao--hora {
	display: grid;
	gap: 0.25rem 1rem;
	grid-template-columns: 4rem minmax(0, 1fr);
}

.or-cartao__hora .or-hora {
	color: var(--or-navy);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.or-cartao__hora .or-dia {
	font-size: var(--wp--preset--font-size--x-small);
}

@media (max-width: 599px) {
	.or-feed .wp-block-post-excerpt {
		display: none;
	}

	.wp-block-group.or-cartao--hora {
		grid-template-columns: 3.25rem minmax(0, 1fr);
	}
}

/* 5.3 Grades */
.wp-block-post-template.or-grade {
	display: grid;
	gap: 1.5rem 1.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wp-block-post-template.or-grade--3 {
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 600px) {
	.wp-block-post-template.or-grade--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.wp-block-post-template.or-grade {
		gap: 2rem 1.75rem;
	}

	.wp-block-post-template.or-grade--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.or-cartao--imagem .wp-block-post-featured-image {
	margin-block-end: 0.35rem;
}

/*
 * Matéria sem imagem destacada dentro de uma grade de cartões: um quadro neutro
 * ocupa o lugar da imagem, para os títulos da fileira continuarem alinhados.
 */
.wp-block-group.or-cartao--imagem:not(:has(.wp-block-post-featured-image))::before {
	aspect-ratio: 3 / 2;
	background: var(--or-off);
	box-shadow: inset 0 0 0 1px var(--or-line);
	content: "";
	display: block;
	margin-block-end: 0.4rem;
}

/* 5.4 Opinião: foto do autor, nome e título em itálico */
.or-cartao--opiniao .wp-block-avatar {
	line-height: 0;
}

.or-cartao--opiniao .wp-block-post-author-name {
	color: var(--or-navy);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.wp-block-post-title.is-style-or-italico {
	font-style: italic;
	font-weight: 400;
}

/* 5.5 Ranking numerado (Mais lidas) */
.wp-block-post-template.or-ranking {
	counter-reset: or-ranking;
}

.wp-block-post-template.or-ranking > li {
	border-top: 1px solid var(--or-line);
	column-gap: 0.85rem;
	counter-increment: or-ranking;
	display: grid;
	grid-template-columns: 1.75rem minmax(0, 1fr);
	padding-block: 0.85rem;
}

.wp-block-post-template.or-ranking > li:first-child {
	border-top: 0;
}

.wp-block-post-template.or-ranking > li::before {
	color: var(--or-navy);
	content: counter(or-ranking);
	font-family: var(--or-tit);
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1;
}

.or-ranking .wp-block-post-title {
	grid-column: 2;
	line-height: 1.25;
	margin: 0;
}

/* ==========================================================================
   6. Capa
   ========================================================================== */

/* Respiro entre as seções da capa. */
.wp-block-group.or-principal--capa > * + * {
	margin-block-start: var(--wp--preset--spacing--70);
}

.wp-block-group.or-secao > * + * {
	margin-block-start: 1.25rem;
}

/* 6.1 Destaques: manchete + secundárias */
.wp-block-group.or-destaques {
	display: grid;
	gap: var(--wp--preset--spacing--60);
	grid-template-columns: minmax(0, 1fr);
}

.wp-block-group.or-destaques > * {
	margin-block: 0;
	min-width: 0;
}

.or-manchete .wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
}

.or-manchete .wp-block-post > * {
	margin-block: 0;
}

.or-manchete .wp-block-post > * + * {
	margin-block-start: 0.7rem;
}

.or-manchete .wp-block-post-title {
	letter-spacing: -0.012em;
	line-height: 1.06;
}

.or-manchete .wp-block-post-excerpt {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.45;
	max-width: 46rem;
}

.or-manchete .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.or-manchete .wp-block-post > .wp-block-post-featured-image {
	background: var(--or-off);
	margin-block-start: 1.1rem;
	margin-inline: 0;
	overflow: hidden;
}

@media (min-width: 1024px) {
	.wp-block-group.or-destaques {
		column-gap: clamp(2rem, 3.5vw, 3rem);
		grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
	}

	.or-destaques > .or-secundarias {
		border-left: 1px solid var(--or-line);
		padding-inline-start: clamp(2rem, 3.5vw, 3rem);
	}
}

@media (max-width: 1023px) {
	.or-destaques > .or-secundarias {
		border-top: 1px solid var(--or-line);
		padding-block-start: var(--wp--preset--spacing--50);
	}
}

/* 6.2 Seção de editoria: matéria principal + lista */
.wp-block-group.or-editoria__grade {
	display: grid;
	gap: var(--wp--preset--spacing--50) clamp(2rem, 3.5vw, 3rem);
	grid-template-columns: minmax(0, 1fr);
}

.wp-block-group.or-editoria__grade > * {
	margin-block: 0;
	min-width: 0;
}

.or-editoria__principal .wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
}

.or-editoria__principal .wp-block-post > * {
	margin-block: 0;
}

.or-editoria__principal .wp-block-post > * + * {
	margin-block-start: 0.6rem;
}

.or-editoria__principal .wp-block-post-featured-image {
	background: var(--or-off);
	margin-inline: 0;
	overflow: hidden;
}

.or-editoria__principal .wp-block-post-excerpt__excerpt {
	margin: 0;
}

@media (min-width: 782px) {
	.wp-block-group.or-editoria__grade {
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	}
}

/* 6.3 Painéis: opinião e O Achadinho */
.wp-block-group.or-painel {
	padding: var(--wp--preset--spacing--50) clamp(1rem, 3vw, 2rem) var(--wp--preset--spacing--60);
}

.wp-block-group.or-painel--achadinho {
	background: var(--or-ach-claro);
	border-top: 3px solid var(--or-ach);
}

.or-painel__cabeca > * {
	margin-block: 0;
}

.or-painel__cabeca .or-painel__titulo {
	font-size: var(--wp--preset--font-size--x-large);
	margin-block-start: 0.4rem;
	max-width: 34rem;
}

.wp-block-group.or-painel__base {
	align-items: baseline;
	border-top: 1px solid rgba(0, 0, 0, 0.14);
	gap: 0.5rem 1.5rem;
	padding-block-start: 0.85rem;
}

.or-nota-afiliado {
	color: var(--or-mid);
	font-family: var(--or-sans);
	font-size: 0.8125rem;
	line-height: 1.4;
	margin: 0;
}

/* ==========================================================================
   7. Artigo e páginas
   ========================================================================== */

/* 7.1 Cabeça do artigo */
.wp-block-group.or-artigo > * {
	margin-block: 0;
}

.wp-block-group.or-artigo > * + * {
	margin-block-start: 1.25rem;
}

.wp-block-post-title.or-artigo__titulo,
.wp-block-heading.or-artigo__titulo {
	letter-spacing: -0.01em;
	margin-block-start: 0.6rem;
}

.wp-block-post-excerpt.is-style-or-linha-fina {
	color: var(--or-dark);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.45;
	margin-block-start: 0.9rem;
}

.is-style-or-linha-fina .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.or-assinatura {
	align-items: center;
	border-block: 1px solid var(--or-line);
	display: flex;
	font-family: var(--or-sans);
	gap: 0.75rem;
	padding-block: 0.8rem;
}

.or-assinatura__avatar {
	border-radius: 50%;
	flex: none;
	height: 44px;
	width: 44px;
}

.or-assinatura__texto {
	min-width: 0;
}

.or-assinatura p {
	margin: 0;
}

.or-assinatura__autor {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	line-height: 1.3;
}

.or-assinatura__autor a {
	text-decoration: none;
}

.or-assinatura__autor a:hover {
	text-decoration: underline;
}

.or-assinatura__meta {
	color: var(--or-mid);
	font-size: 0.8125rem;
	line-height: 1.4;
}

.wp-block-post-featured-image.or-foto-principal {
	margin-inline: 0;
}

.or-foto-principal img {
	display: block;
	height: auto;
	width: 100%;
}

.or-foto-principal .or-legenda {
	margin-block: 0.5rem 0;
}

.or-credito {
	font-size: 0.6875rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	white-space: nowrap;
}

/* 7.2 Texto */
.or-texto > :is(h2, h3, h4) {
	margin-block-start: 2.25rem;
}

.or-texto > :is(h2, h3, h4) + * {
	margin-block-start: 0.85rem;
}

.or-texto a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.or-texto :is(ul, ol):not([class*="or-"]):not(.wp-block-post-template) {
	padding-inline-start: 1.4rem;
}

.or-texto li + li {
	margin-block-start: 0.4rem;
}

.or-texto .wp-block-quote > * {
	margin-block: 0;
}

.or-texto .wp-block-quote > * + * {
	margin-block-start: 0.75rem;
}

.or-texto .wp-block-quote cite,
.or-texto .wp-block-pullquote cite {
	color: var(--or-mid);
	display: block;
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
}

.wp-block-pullquote:not([class*="has-text-align"]) {
	text-align: left;
}

.wp-block-pullquote blockquote {
	margin: 0;
}

.wp-block-pullquote p {
	margin: 0 0 0.6rem;
}

.or-texto .wp-block-table {
	overflow-x: auto;
}

.or-texto .wp-block-table table {
	border-collapse: collapse;
	width: 100%;
}

.or-texto .wp-block-table :is(th, td) {
	border: 1px solid var(--or-line);
	-webkit-hyphens: auto;
	hyphens: auto;
	padding: 0.6rem 0.75rem;
	text-align: left;
	vertical-align: top;
}

.or-texto .wp-block-table thead th {
	border-bottom: 2px solid var(--or-ink);
}

.wp-block-separator {
	border: 0;
	border-top: 1px solid currentColor;
}

.wp-block-separator.is-style-or-fio-forte {
	border-top: 2px solid var(--or-ink);
}

.wp-block-separator.is-style-or-fio-duplo {
	border-top: 3px double var(--or-ink);
}

p.is-style-or-nota {
	background: var(--or-off);
	border-left: 3px solid var(--or-mid);
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
	padding: 0.85rem 1rem;
}

.wp-block-group.is-style-or-caixa {
	border: 1px solid var(--or-line);
	border-top: 2px solid var(--or-ink);
	padding: 1.1rem 1.25rem;
}

.wp-block-group.is-style-or-destaque {
	background: var(--or-off);
	padding: 1.25rem 1.5rem;
}

.is-style-or-caixa > * + *,
.is-style-or-destaque > * + * {
	margin-block-start: 0.6rem;
}

/* 7.3 Fim do artigo: compartilhar, assuntos e autor */
.or-compartilhar {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--small);
	gap: 0.5rem;
}

.wp-block-group.or-artigo > .or-compartilhar,
.or-principal--leitura > .or-compartilhar {
	border-top: 1px solid var(--or-line);
	margin-block-start: 2.25rem;
	padding-block-start: 1.25rem;
}

.or-compartilhar__rotulo {
	font-weight: 700;
	margin-inline-end: 0.25rem;
}

.or-compartilhar__item {
	align-items: center;
	background: var(--or-white);
	border: 1px solid var(--or-line);
	border-radius: var(--or-raio);
	color: var(--or-navy);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 600;
	min-height: 40px;
	padding: 0.4rem 0.8rem;
	text-decoration: none;
}

.or-compartilhar__item:hover {
	border-color: var(--or-navy);
}

.or-compartilhar__item[hidden] {
	display: none;
}

.or-assuntos {
	line-height: 2.3;
}

.or-assuntos .wp-block-post-terms__prefix {
	font-weight: 700;
	margin-inline-end: 0.35rem;
}

.or-assuntos .wp-block-post-terms__separator {
	display: none;
}

.or-assuntos a {
	border: 1px solid var(--or-line);
	border-radius: var(--or-raio);
	display: inline-block;
	line-height: 1.3;
	margin-inline-end: 0.35rem;
	padding: 0.3rem 0.65rem;
	text-decoration: none;
}

.or-assuntos a:hover {
	border-color: var(--or-navy);
}

.or-perfil {
	align-items: flex-start;
	border-top: 2px solid var(--or-ink);
	display: flex;
	gap: 1rem;
	padding-block-start: 1.1rem;
}

.wp-block-group.or-artigo > .or-perfil,
.or-principal--leitura > .or-perfil {
	margin-block-start: 2rem;
}

.or-perfil__avatar {
	border-radius: 50%;
	flex: none;
}

.or-perfil p,
.or-perfil h1 {
	margin: 0;
}

.or-perfil__nome {
	font-family: var(--or-tit);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	line-height: 1.2;
}

.or-perfil__nome a {
	color: inherit;
	text-decoration: none;
}

.or-perfil--pagina {
	border-top: 0;
	padding-block-start: 0;
}

.or-perfil--pagina .or-perfil__nome {
	font-size: var(--wp--preset--font-size--xx-large);
}

.or-perfil__bio {
	color: var(--or-dark);
	font-size: 1rem;
	line-height: 1.5;
	margin-block-start: 0.35rem !important;
}

.or-perfil__mais {
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	margin-block-start: 0.5rem !important;
}

/* 7.4 Arquivos, busca e páginas */
.wp-block-group.or-cabeca-pagina {
	border-bottom: 1px solid var(--or-line);
	padding-block-end: 1.25rem;
}

.or-cabeca-pagina > * {
	margin-block: 0;
}

.or-cabeca-pagina > * + * {
	margin-block-start: 0.75rem;
}

.wp-block-group.or-cabeca-pagina--achadinho {
	background: var(--or-ach-claro);
	border-bottom: 0;
	border-top: 3px solid var(--or-ach);
	padding: var(--wp--preset--spacing--50) clamp(1rem, 3vw, 2rem);
}

.or-cabeca-pagina .wp-block-term-description p {
	margin: 0;
	max-width: 46rem;
}

.or-coluna-principal > * + *,
.or-principal > .or-arquivo {
	margin-block-start: var(--wp--preset--spacing--50);
}

.or-vazio {
	color: var(--or-mid);
	font-family: var(--or-sans);
}

/* ==========================================================================
   8. O Achadinho
   ========================================================================== */

.or-aviso {
	background: var(--or-ach-claro);
	border-left: 3px solid var(--or-ach);
	color: var(--or-dark);
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
	padding: 0.8rem 1rem;
}

.or-cabeca-pagina--achadinho .or-aviso {
	background: transparent;
	border-left: 0;
	padding: 0;
}

.or-ficha,
.wp-block-group.is-style-or-vitrine {
	background: var(--or-white);
	border: 1px solid var(--or-line);
	border-top: 3px solid var(--or-ach);
	padding: 1.25rem clamp(1rem, 3vw, 1.5rem) 1.4rem;
}

.or-ficha > *,
.is-style-or-vitrine > * {
	margin-block: 0;
}

.or-ficha > * + *,
.is-style-or-vitrine > * + * {
	margin-block-start: 0.75rem;
}

.or-ficha__titulo {
	font-size: var(--wp--preset--font-size--x-large);
}

.or-ficha__preco {
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
}

.or-ficha__para {
	font-size: 1rem;
	line-height: 1.5;
}

.or-ficha__listas {
	display: grid;
	gap: 1rem 2rem;
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}

.or-ficha__sub {
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.07em;
	margin: 0 0 0.4rem;
	text-transform: uppercase;
}

.or-ficha__afiliado {
	color: var(--or-mid);
	font-family: var(--or-sans);
	font-size: 0.8125rem;
	margin-inline-start: 0.6rem;
}

.or-ficha__vazio {
	color: var(--or-mid);
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--small);
	margin: 0;
}

/* Listas de pontos positivos (+) e de atenção (−) */
ul.or-pros,
ul.or-contras,
ul.is-style-or-pros,
ul.is-style-or-contras {
	font-size: 1rem;
	line-height: 1.45;
	list-style: none;
	margin: 0;
	padding: 0;
}

:is(ul.or-pros, ul.or-contras, ul.is-style-or-pros, ul.is-style-or-contras) > li {
	padding-inline-start: 1.5rem;
	position: relative;
}

:is(ul.or-pros, ul.or-contras, ul.is-style-or-pros, ul.is-style-or-contras) > li + li {
	margin-block-start: 0.35rem;
}

:is(ul.or-pros, ul.or-contras, ul.is-style-or-pros, ul.is-style-or-contras) > li::before {
	font-family: var(--or-sans);
	font-weight: 800;
	left: 0.15rem;
	position: absolute;
}

:is(ul.or-pros, ul.is-style-or-pros) > li::before {
	color: var(--or-navy);
	content: "+";
}

:is(ul.or-contras, ul.is-style-or-contras) > li::before {
	color: var(--or-urgente);
	content: "\2212";
}

:is(h3, h4) + :is(ul.is-style-or-pros, ul.is-style-or-contras) {
	margin-block-start: 0.5rem;
}

/* Botão de oferta */
.or-botao-oferta,
.wp-block-button.is-style-or-oferta .wp-block-button__link {
	background: var(--or-ach);
	color: var(--or-white);
}

.or-botao-oferta:hover,
.or-botao-oferta:focus,
.wp-block-button.is-style-or-oferta .wp-block-button__link:hover,
.wp-block-button.is-style-or-oferta .wp-block-button__link:focus {
	background: var(--or-ink);
	color: var(--or-white);
}

/* Tabela comparativa */
.wp-block-table.is-style-or-comparativo {
	overflow-x: auto;
}

.wp-block-table.is-style-or-comparativo table {
	border-collapse: collapse;
	min-width: 30rem;
	width: 100%;
}

.wp-block-table.is-style-or-comparativo :is(th, td) {
	border: 1px solid var(--or-line);
	padding: 0.65rem 0.8rem;
	text-align: left;
	vertical-align: top;
}

.wp-block-table.is-style-or-comparativo thead th {
	background: var(--or-navy);
	border-color: var(--or-navy);
	color: var(--or-white);
}

.wp-block-table.is-style-or-comparativo tbody td:first-child {
	background: var(--or-off);
	font-weight: 700;
}

.wp-block-table figcaption {
	margin-block-start: 0.5rem;
}

/*
 * Blocos de plugins de afiliados dentro do texto: só o necessário para que
 * não estourem a coluna. A aparência dos produtos é a do próprio plugin.
 */
.or-texto [class*="hostinger"],
.is-style-or-vitrine [class*="hostinger"] {
	max-width: 100%;
}

.or-texto [class*="hostinger"] img,
.is-style-or-vitrine [class*="hostinger"] img {
	height: auto;
	max-width: 100%;
}

.or-texto [class*="hostinger"] table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

/* ==========================================================================
   9. Componentes
   ========================================================================== */

/* 9.1 Anúncio: espaço reservado para a página não pular quando ele carrega */
.or-anuncio {
	clear: both;
	text-align: center;
}

.or-anuncio__rotulo {
	color: var(--or-mid);
	display: block;
	font-family: var(--or-sans);
	font-size: 0.6875rem;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-block-end: 0.4rem;
	text-transform: uppercase;
}

.or-anuncio__caixa {
	min-height: 100px;
}

.or-anuncio--article .or-anuncio__caixa,
.or-anuncio--sidebar .or-anuncio__caixa {
	min-height: 250px;
}

.or-anuncio--article {
	margin-block: 2rem;
}

/*
 * Quando o AdSense não tem anúncio para entregar, ele marca o espaço com
 * data-ad-status="unfilled". Nesse caso o bloco inteiro some, em vez de
 * deixar o rótulo "Publicidade" sobre uma área em branco.
 */
.or-anuncio:has(ins.adsbygoogle[data-ad-status="unfilled"]) {
	display: none;
}

/*
 * Barra lateral cujo único conteúdo era um anúncio que não veio: a coluna se
 * fecha e o conteúdo principal ocupa o espaço, como quando não há barra lateral.
 */
.or-lateral:has(> .or-anuncio:only-child ins.adsbygoogle[data-ad-status="unfilled"]) {
	display: none;
}

@media (min-width: 1024px) {
	.wp-block-group.or-colunas:has(> .or-lateral > .or-anuncio:only-child ins.adsbygoogle[data-ad-status="unfilled"]) {
		grid-template-columns: minmax(0, 1fr);
	}

	.wp-block-group.or-colunas--artigo:has(> .or-lateral > .or-anuncio:only-child ins.adsbygoogle[data-ad-status="unfilled"]) > :first-child {
		justify-self: center;
		max-width: var(--wp--style--global--content-size, 720px);
		width: 100%;
	}
}

.or-anuncio__caixa--marcador {
	align-items: center;
	border: 1px dashed var(--or-mid);
	display: flex;
	justify-content: center;
	min-height: 90px !important;
	padding: 0.75rem 1rem;
}

.or-anuncio__marcador {
	color: var(--or-mid);
	font-family: var(--or-sans);
	font-size: 0.8125rem;
	line-height: 1.4;
}

/* 9.2 Busca */
.or-busca {
	font-family: var(--or-sans);
}

.or-busca__linha {
	display: flex;
	gap: 0.5rem;
}

.or-busca__campo,
.or-busca__select,
.or-newsletter__campo {
	background: var(--or-white);
	border: 1px solid var(--or-mid);
	border-radius: var(--or-raio);
	color: var(--or-ink);
	font: inherit;
	font-size: 1rem;
	min-height: 46px;
	padding: 0.55rem 0.8rem;
}

.or-busca__campo {
	flex: 1 1 auto;
	min-width: 0;
}

.or-busca__botao,
.or-newsletter__botao {
	cursor: pointer;
	flex: none;
	min-height: 46px;
}

.or-busca__filtros {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-block-start: 0.5rem;
}

.or-busca__select {
	flex: 1 1 11rem;
	max-width: 100%;
}

/* 9.3 Newsletter */
.or-newsletter {
	background: var(--or-off);
	border-top: 1px solid var(--or-line);
	padding: var(--wp--preset--spacing--60) var(--or-margem);
	scroll-margin-top: 1rem;
}

.or-newsletter__dentro {
	align-items: center;
	display: grid;
	gap: 1.25rem 3rem;
	grid-template-columns: minmax(0, 1fr);
	margin-inline: auto;
	max-width: var(--or-largo);
}

.or-newsletter__titulo {
	font-size: var(--wp--preset--font-size--x-large);
	margin: 0;
}

.or-newsletter__apoio {
	color: var(--or-dark);
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--small);
	margin: 0.4rem 0 0;
}

.or-newsletter__form {
	display: flex;
	flex-wrap: wrap;
	font-family: var(--or-sans);
	gap: 0.5rem;
}

.or-newsletter__campo {
	flex: 1 1 12rem;
	min-width: 0;
}

.or-newsletter__botao {
	flex: 1 0 auto;
}

@media (min-width: 480px) {
	.or-newsletter__botao {
		flex: none;
	}
}

@media (min-width: 782px) {
	.or-newsletter__dentro {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

/* 9.4 Trilha de navegação */
.or-trilha {
	color: var(--or-mid);
	font-family: var(--or-sans);
	font-size: 0.8125rem;
	line-height: 1.4;
}

.or-trilha__lista {
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.or-trilha__lista li + li::before {
	content: "\203A";
	margin-inline: 0.5rem;
}

.or-trilha a {
	color: inherit;
	text-decoration: none;
}

.or-trilha a:hover {
	color: var(--or-navy);
	text-decoration: underline;
}

/* 9.5 Paginação */
.wp-block-query-pagination {
	align-items: center;
	border-top: 1px solid var(--or-line);
	gap: 0.5rem 1rem;
	margin-block-start: var(--wp--preset--spacing--50);
	padding-block-start: 1.25rem;
}

.wp-block-query-pagination > * {
	margin: 0;
}

.wp-block-query-pagination-numbers .page-numbers {
	border-radius: var(--or-raio);
	display: inline-block;
	min-width: 2.25rem;
	padding: 0.45rem 0.55rem;
	text-align: center;
}

.wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--or-navy);
	color: var(--or-white);
}

.wp-block-query-pagination a:hover {
	text-decoration: underline;
}

/* 9.6 Página de erro */
.or-principal--pagina > .or-busca {
	margin-block-start: 1.5rem;
}

.or-principal--pagina > .or-secao {
	margin-block-start: var(--wp--preset--spacing--60);
}

/* ==========================================================================
   10. Rodapé
   ========================================================================== */

.wp-block-group.or-rodape {
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--small);
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
}

.or-rodape a:where(:not(.wp-element-button)) {
	color: inherit;
	text-decoration: none;
}

.or-rodape a:where(:not(.wp-element-button)):hover {
	text-decoration: underline;
}

.or-rodape :is(h1, h2, h3, h4, h5, h6) {
	color: inherit;
}

.or-rodape :where(a, button):focus-visible {
	outline-color: var(--or-white);
}

.wp-block-group.or-rodape__colunas {
	display: grid;
	gap: var(--wp--preset--spacing--60) 3rem;
	grid-template-columns: minmax(0, 1fr);
}

.wp-block-group.or-rodape__colunas > * {
	margin-block: 0;
	min-width: 0;
}

@media (min-width: 600px) {
	.wp-block-group.or-rodape__colunas {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.or-rodape__colunas > .or-rodape__marca {
		grid-column: 1 / -1;
	}
}

@media (min-width: 1024px) {
	.wp-block-group.or-rodape__colunas {
		grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr);
	}

	.or-rodape__colunas > .or-rodape__marca {
		grid-column: auto;
		max-width: 26rem;
	}
}

.or-rodape .or-rodape__titulo {
	font-family: var(--or-tit);
	font-size: 1.625rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.1;
	margin: 0;
	text-transform: uppercase;
}

.or-rodape__marca > * + * {
	margin-block-start: 0.75rem;
}

.or-rodape .or-rodape__rotulo {
	border-bottom: 1px solid rgba(255, 255, 255, 0.28);
	font-family: var(--or-sans);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 800;
	letter-spacing: 0.09em;
	margin: 0 0 0.6rem;
	padding-block-end: 0.6rem;
	text-transform: uppercase;
}

.or-rodape .wp-block-navigation {
	font-weight: 400;
	gap: 0;
}

.or-rodape .wp-block-navigation-item__content {
	display: block;
	padding: 0.35rem 0;
}

.or-redes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.25rem;
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
}

.or-redes a {
	display: inline-block;
	font-weight: 700;
	padding: 0.25rem 0;
}

.or-privacidade {
	margin: 0.6rem 0 0;
}

.or-privacidade[hidden] {
	display: none;
}

.or-link-botao {
	background: none;
	border: 0;
	color: inherit;
	cursor: pointer;
	font: inherit;
	padding: 0.35rem 0;
	text-align: left;
	text-decoration: underline;
}

.wp-block-group.or-rodape__base {
	border-top: 1px solid rgba(255, 255, 255, 0.28);
	margin-block-start: var(--wp--preset--spacing--60);
	padding-block-start: 1.1rem;
}

.or-copyright {
	font-size: 0.8125rem;
	margin: 0;
}

/* ==========================================================================
   11. Utilitários, movimento e impressão
   ========================================================================== */

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

.screen-reader-text:focus {
	background: var(--or-white);
	clip-path: none;
	color: var(--or-navy);
	display: block;
	font-family: var(--or-sans);
	font-size: 1rem;
	font-weight: 700;
	height: auto;
	left: 0.5rem;
	padding: 0.9rem 1.25rem;
	top: 0.5rem;
	width: auto;
	z-index: 100000;
}

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

@media print {
	.or-topo,
	.or-gaveta,
	.or-mastro__acoes,
	.or-barra-editorias,
	.or-anuncio,
	.or-compartilhar,
	.or-newsletter,
	.or-lateral,
	.or-relacionadas,
	.or-trilha,
	.or-rodape__colunas,
	.wp-block-query-pagination {
		display: none !important;
	}

	body {
		color: #000;
		font-size: 11pt;
	}

	.wp-block-group.or-colunas,
	.wp-block-group.or-mastro__linha {
		display: block;
	}

	.wp-block-group.or-rodape {
		background: none !important;
		color: #000 !important;
	}

	.or-texto a[href^="http"]::after {
		content: " (" attr(href) ")";
		font-size: 0.8em;
		word-break: break-all;
	}
}
