/**
 * Bloco de Texto Livre.
 *
 * Deliberadamente enxuto: quase toda a aparência é controlada pelo painel
 * (alinhamento, medida da linha, espaçamento vertical, cores, tipografia).
 * O que fica aqui é só o que precisa existir antes de qualquer escolha — o
 * ritmo entre parágrafos e o tratamento de listas e citações vindas do
 * editor, que o Elementor não gera sozinho.
 *
 * Mobile-first. Zero hex literal. As custom properties `--fjpn-texto-*` são
 * injetadas inline por widgets/pagina-texto.php.
 */

/* Sangria — ver a nota completa na seção 5 do base.css. */
.elementor-widget-fjpn-pagina-texto > .elementor-widget-container {
	width: 100%;
	margin: 0;
	padding: 0;
}

.fjpn-pagina-texto {
	/* Padrão só até alguém mexer no controle "Espaço acima e abaixo", que
	   sobrescreve pelo painel. */
	padding-block: var(--fjpn-space-section-py-sm);
	background: var(--fjpn-texto-bg, var(--fjpn-white));
}

.fjpn-pagina-texto__corpo {
	color: var(--fjpn-texto-cor, var(--fjpn-slate-700));
	font-family: var(--fjpn-font-sans);
	font-size: var(--fjpn-text-body);
	line-height: var(--fjpn-leading-relaxed);
}

/* Espaço ENTRE irmãos, não margem em cada elemento: assim o primeiro e o
   último não empurram a borda do bloco, e o espaçamento vertical do painel
   continua sendo a única coisa que decide a altura da seção. */
.fjpn-pagina-texto__corpo > * + * {
	margin-top: var(--fjpn-gap-medium);
}

.fjpn-pagina-texto__corpo h2,
.fjpn-pagina-texto__corpo h3,
.fjpn-pagina-texto__corpo h4 {
	color: var(--fjpn-texto-titulo, var(--fjpn-text-primary));
	font-family: var(--fjpn-font-sans);
	font-weight: var(--fjpn-weight-extrabold);
	line-height: var(--fjpn-leading-tight);
}

.fjpn-pagina-texto__corpo h2 { font-size: var(--fjpn-text-heading-sm); }
.fjpn-pagina-texto__corpo h3 { font-size: var(--fjpn-text-body-lg); }
.fjpn-pagina-texto__corpo h4 { font-size: var(--fjpn-text-body); }

/* Título logo após um parágrafo precisa de mais ar acima do que abaixo —
   é o que faz o olho perceber onde um assunto termina e outro começa. */
.fjpn-pagina-texto__corpo > * + h2,
.fjpn-pagina-texto__corpo > * + h3,
.fjpn-pagina-texto__corpo > * + h4 {
	margin-top: var(--fjpn-gap-hero-columns);
}

.fjpn-pagina-texto__corpo a {
	color: var(--fjpn-texto-destaque, var(--fjpn-blue-primary));
}

.fjpn-pagina-texto__corpo ul,
.fjpn-pagina-texto__corpo ol {
	padding-inline-start: var(--fjpn-gap-hero-columns);
}

.fjpn-pagina-texto__corpo li + li {
	margin-top: var(--fjpn-gap-icon-text);
}

.fjpn-pagina-texto__corpo blockquote {
	padding: var(--fjpn-padding-card);
	border-inline-start: var(--fjpn-border-width-outline) solid var(--fjpn-texto-destaque, var(--fjpn-blue-primary));
	border-radius: var(--fjpn-radius-xl);
	background: var(--fjpn-bg-soft);
	font-style: italic;
}

/* Imagem colada pelo editor não pode estourar a medida da linha. */
.fjpn-pagina-texto__corpo img {
	max-width: 100%;
	height: auto;
	border-radius: var(--fjpn-radius-xl);
}
