/* =============================================================
   Prosa — o HTML que vem do editor de blocos.

   O texto fica na largura de leitura (70ch), e imagens alinhadas
   à esquerda/direita flutuam dentro dela. Blocos com "Largura
   ampla" (.alignwide), como a grade de tribunais, se estendem até
   a largura do container: .pagina é o container de consulta, e
   100cqi é a sua largura útil.
   ============================================================= */

.pagina {
	padding-top: var(--e-7);
	container-type: inline-size;
}

.prosa {
	max-width: var(--largura-texto);
	color: var(--c-texto);
	font-size: var(--t-md);
	line-height: 1.75;
	overflow-wrap: break-word;
}

.prosa > :is(.alignwide, .alignfull) {
	width: 100cqi;
	max-width: none;
}

.prosa > * + * {
	margin-top: 1.15em;
}

.prosa > .alignwide {
	margin-block: var(--e-6);
}

.prosa > .alignwide + .alignwide {
	margin-top: var(--e-5);
}

/* Títulos ----------------------------------------------------- */
.prosa :is(h2, h3, h4, h5, h6) {
	color: var(--c-acao-noite);
	letter-spacing: -0.015em;
	line-height: 1.2;
	text-wrap: balance;
}

.prosa > :is(h2, h3, h4) {
	margin-top: 1.8em;
}

.prosa > :first-child {
	margin-top: 0;
}

.prosa h2 {
	font-size: var(--t-xl);
	font-weight: var(--peso-titulo);
	letter-spacing: var(--track-titulo);
}

/* Fio dourado sob os títulos de seção. */
.prosa > h2::after {
	content: "";
	display: block;
	width: 2.5rem;
	height: 3px;
	margin-top: var(--e-3);
	border-radius: 3px;
	background: var(--c-ouro);
}

.prosa h3 {
	font-size: var(--t-lg);
	font-weight: 700;
}

.prosa h4 {
	font-size: var(--t-md);
}

/* Texto ------------------------------------------------------- */
.prosa :is(ul, ol):not([class*="is-style-"]) {
	padding-left: 1.3em;
}

.prosa li + li {
	margin-top: 0.4em;
}

.prosa li::marker {
	color: var(--c-ouro);
}

.prosa strong {
	font-weight: 700;
}

.prosa blockquote {
	padding: var(--e-4) var(--e-5);
	border-left: 4px solid var(--c-ouro);
	border-radius: 0 var(--raio) var(--raio) 0;
	background: var(--c-ouro-suave);
	color: var(--c-texto-medio);
}

.prosa hr {
	margin-block: 2.2em;
	border: 0;
	border-top: 1px solid var(--c-borda);
}

/* Link de texto que abre em nova aba: seta discreta. */
.prosa :is(p, li) > a[target="_blank"]::after {
	content: "\2197";
	display: inline-block;
	margin-left: 0.15em;
	font-size: 0.8em;
	text-decoration: none;
}

/* Link para PDF: selo com o tipo logo depois do texto. */
.prosa :is(p, li) > a[href$=".pdf" i]::after {
	content: "PDF";
	margin-left: 0.4em;
	padding: 0.05em 0.4em;
	border-radius: 3px;
	background: var(--c-acao);
	color: #fff;
	font-size: 0.62em;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	vertical-align: 0.2em;
}

/* Mídia ------------------------------------------------------- */
.prosa :is(img, video, iframe) {
	max-width: 100%;
	border-radius: var(--raio);
}

.prosa figcaption {
	margin-top: var(--e-2);
	color: var(--c-texto-suave);
	font-size: var(--t-sm);
}

.prosa .alignleft {
	float: left;
	margin: 0.3em var(--e-5) var(--e-4) 0;
}

.prosa .alignright {
	float: right;
	margin: 0.3em 0 var(--e-4) var(--e-5);
}

.prosa .aligncenter {
	margin-inline: auto;
	text-align: center;
}

.prosa .aligncenter img {
	margin-inline: auto;
}

/* Um bloco depois de uma imagem flutuante não herda o recuo dela. */
.prosa > :is(h2, h3, .wp-block-buttons, .alignwide) {
	clear: both;
}

/* Tabelas ----------------------------------------------------- */
.prosa table {
	display: block;
	width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
	font-size: var(--t-sm);
}

.prosa :is(th, td) {
	padding: var(--e-2) var(--e-3);
	border: 1px solid var(--c-borda);
	text-align: left;
	vertical-align: top;
}

.prosa th {
	background: var(--c-fundo-alt);
}

/* Botões (bloco "Botões") ------------------------------------- */
.prosa .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-3);
}

.prosa .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: var(--e-2);
	padding: 0.8em 1.45em;
	border-radius: 999px;
	box-shadow: 0 6px 16px -6px rgb(var(--c-acao-rgb) / 60%);
	background: var(--c-acao);
	color: #fff;
	font-size: var(--t-base);
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color var(--transicao);
}

.prosa .wp-block-button__link:hover {
	background: var(--c-acao-hover);
	color: #fff;
}

.prosa .wp-block-button__link[target="_blank"]::after {
	content: "\2197";
}

.prosa .is-style-outline .wp-block-button__link {
	background: transparent;
	box-shadow: inset 0 0 0 2px var(--c-acao);
	color: var(--c-acao);
}

.prosa .is-style-outline .wp-block-button__link:hover {
	background: var(--c-acao-suave);
	color: var(--c-acao-escura);
}
