/*
 * Conteúdo do artigo (blocos Gutenberg reais do blog).
 *
 * Figma só desenha parágrafo e H2; o resto é derivado dos tokens e componentes do DS.
 * Corpo: text-sm/regular 13/20, como no Figma v5.3 (decisão de 22/10/2026).
 * Inventário (215 posts): paragraph, heading, image, list/list-item, spacer,
 * buttons/button (224 blocos com cores e raios inline variados), gallery, quote,
 * details, embed, video, freeform, group, html.
 */

.entry-content {
	font-family: var(--font-text);
	font-size: var(--text-sm-size);
	line-height: var(--text-sm-lh);
	color: var(--theme-slate-text-primary);
	overflow-wrap: break-word;
}

/*
 * Tamanhos definidos no editor (presets do core e font-size inline) voltam à escala
 * do DS: 92 blocos usam has-medium-font-size (20 px no core), 8 parágrafos 26 px inline.
 * small → text-xs; medium/large/x-large → text-sm (corpo). Botões têm regra própria.
 */
.entry-content .has-small-font-size {
	font-size: var(--text-xs-size) !important;
	line-height: var(--text-xs-lh);
}

.entry-content :is(.has-medium-font-size, .has-large-font-size, .has-x-large-font-size, .has-xx-large-font-size) {
	font-size: var(--text-sm-size) !important;
	line-height: var(--text-sm-lh);
}

.entry-content :not(h1, h2, h3, h4, h5, h6, .wp-block-button__link)[style*="font-size"] {
	font-size: inherit !important;
}

/* Ritmo vertical: spacing-6 entre blocos (gap do frame do artigo no Figma) */
.entry-content > * + * {
	margin-top: var(--spacing-6);
}

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

/* Spacer: a altura definida no editor é o espaçamento; não somar o gap */
.entry-content > .wp-block-spacer,
.entry-content > .wp-block-spacer + * {
	margin-top: 0;
}

.entry-content > .wp-block-spacer {
	max-height: var(--spacing-12);
}

/* Títulos: H2/H3 text-sm/bold (Figma 64:457); H4–H6 text-xs/bold */
.entry-content h2,
.entry-content h3 {
	font-family: var(--font-text);
	font-size: var(--text-sm-size);
	line-height: var(--text-sm-lh);
	font-weight: 700;
}

.entry-content h4,
.entry-content h5,
.entry-content h6 {
	font-family: var(--font-text);
	font-size: var(--text-xs-size);
	line-height: var(--text-xs-lh);
	font-weight: 700;
}

.entry-content > :is(h2, h3, h4) {
	margin-top: var(--spacing-8);
}

.entry-content strong,
.entry-content b {
	font-weight: 700;
}

/* Links: text-primary sublinhado (sem azul); hover engrossa o sublinhado */
.entry-content a:not(.wp-block-button__link) {
	color: var(--theme-slate-text-primary);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.entry-content a:not(.wp-block-button__link):hover {
	text-decoration-thickness: 2px;
}

/*
 * Cores de texto escolhidas no editor (vermelho #9a0104 em 133 trechos, azul #0000e1,
 * has-vivid-red-color…) não fazem parte da paleta do DS: o texto herda text-primary.
 * Blocos com fundo próprio e botões ficam de fora.
 */
.entry-content :is(.has-text-color, .has-inline-color, .has-link-color, [style*="color"]):not(.has-background, .wp-block-button__link, .wp-block-button) {
	color: inherit !important;
}

/* Listas */
.entry-content ul,
.entry-content ol {
	padding-left: var(--spacing-6);
}

.entry-content li + li {
	margin-top: var(--spacing-2);
}

/* Imagens e legendas */
.entry-content .wp-block-image,
.entry-content figure {
	margin-inline: 0;
}

.entry-content .wp-block-image img {
	height: auto;
	border-radius: var(--radius) !important;
}

.entry-content figcaption,
.entry-content .wp-element-caption {
	margin-top: var(--spacing-2);
	color: var(--theme-slate-text-muted);
	font-size: var(--text-xs-size);
	line-height: var(--text-xs-lh);
	text-align: left;
}

.entry-content .aligncenter {
	margin-inline: auto;
}

@media (min-width: 640px) {
	.entry-content .alignleft {
		float: left;
		max-width: 50%;
		margin: 0 var(--spacing-6) var(--spacing-4) 0;
	}

	.entry-content .alignright {
		float: right;
		max-width: 50%;
		margin: 0 0 var(--spacing-4) var(--spacing-6);
	}
}

.entry-content::after {
	content: "";
	display: table;
	clear: both;
}

/*
 * Botões: o conteúdo traz cores (#639ec8, #66a6d0, #96062d, #0000e1…) e raios
 * (0, 10, 30, 69 px) inline. O tema normaliza para o Primary Button Base do DS
 * (fundo text-primary, radius 0, text-xs). Variante "outline" → secondary Button stroke.
 */
.entry-content .wp-block-buttons {
	gap: var(--spacing-2);
}

.entry-content .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-1);
	padding: var(--spacing-2) var(--spacing-3) !important;
	border: 1px solid var(--theme-slate-text-primary) !important;
	border-radius: var(--radius) !important;
	background: var(--theme-slate-text-primary) !important;
	color: var(--theme-slate-bg-default) !important;
	font-family: var(--font-text) !important;
	font-size: var(--text-xs-size) !important;
	line-height: var(--text-xs-lh) !important;
	font-weight: 400 !important;
	text-decoration: none;
	text-align: center;
	white-space: normal;
}

.entry-content .is-style-outline .wp-block-button__link {
	background: var(--theme-slate-bg-default) !important;
	color: var(--theme-slate-text-primary) !important;
}

.entry-content .wp-block-button__link:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Galeria */
.entry-content .wp-block-gallery {
	--wp--style--unstable-gallery-gap: var(--spacing-2);
	gap: var(--spacing-2);
}

.entry-content .wp-block-gallery img {
	border-radius: var(--radius);
}

/* Citação (derivada: borda esquerda text-primary, citação text-xs muted) */
.entry-content blockquote,
.entry-content .wp-block-quote {
	margin-inline: 0;
	padding-left: var(--spacing-4);
	border-left: 2px solid var(--theme-slate-text-primary);
}

.entry-content blockquote cite,
.entry-content .wp-block-quote cite {
	display: block;
	margin-top: var(--spacing-2);
	color: var(--theme-slate-text-muted);
	font-size: var(--text-xs-size);
	line-height: var(--text-xs-lh);
	font-style: normal;
}

/* Details (derivado do "product accor": divisores border-default) */
.entry-content details {
	border-block: 1px solid var(--theme-slate-border-default);
	padding-block: var(--spacing-3);
}

.entry-content details + details {
	margin-top: 0;
	border-top: 0;
}

.entry-content summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-4);
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

/* Sem o marcador nativo (▶): o conteúdo já traz o próprio "●". Indicador +/− à direita. */
.entry-content summary::-webkit-details-marker {
	display: none;
}

.entry-content summary::after {
	content: "";
	flex: 0 0 12px;
	height: 12px;
	background:
		linear-gradient(currentColor, currentColor) center / 12px 1.5px no-repeat,
		linear-gradient(currentColor, currentColor) center / 1.5px 12px no-repeat;
}

.entry-content details[open] > summary::after {
	background: linear-gradient(currentColor, currentColor) center / 12px 1.5px no-repeat;
}

.entry-content summary:focus-visible {
	outline: 2px solid var(--theme-slate-text-primary);
	outline-offset: 2px;
}

.entry-content details[open] > summary {
	margin-bottom: var(--spacing-3);
}

/* Legendas de galeria (formato antigo usa 0.8em sobre a imagem): só o tamanho volta ao DS */
.entry-content .blocks-gallery-grid figcaption,
.entry-content .wp-block-gallery figcaption {
	font-size: var(--text-xs-size) !important;
	line-height: var(--text-xs-lh);
}

/* Embeds e vídeo (responsive-embeds ativo) */
.entry-content .wp-block-embed iframe,
.entry-content iframe,
.entry-content video {
	max-width: 100%;
}

.entry-content .wp-block-embed figcaption {
	margin-top: var(--spacing-2);
}

/* Tabela (NEW/Table row: padding 12/16, borda border-default, cabeçalho bg-default-hover) */
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--text-sm-size);
	line-height: var(--text-sm-lh);
}

.entry-content th,
.entry-content td {
	padding: var(--spacing-3) var(--spacing-4);
	border: 1px solid var(--theme-slate-border-default);
	text-align: left;
	vertical-align: top;
}

.entry-content th {
	background: var(--theme-slate-bg-default-hover);
	font-size: var(--text-xs-size);
	line-height: 18px;
	font-weight: 500;
	text-transform: uppercase;
}

.entry-content .wp-block-table {
	overflow-x: auto;
}

/* Separador */
.entry-content hr,
.entry-content .wp-block-separator {
	border: 0;
	border-top: 1px solid var(--theme-slate-border-default);
	margin-block: var(--spacing-8);
}

/* Paginação interna (wp_link_pages) */
.page-links {
	display: flex;
	gap: var(--spacing-2);
}
