/* ==========================================================================
   Conteúdo editorial (notícias, páginas e texto dos empreendimentos)

   Carregado no site (dentro de .entry-content) e no editor de blocos
   (dentro de .editor-styles-wrapper), para os dois ficarem iguais.
   ========================================================================== */

/* Base do editor ------------------------------------------------------- */
.editor-styles-wrapper {
	font-family: "DM Sans", Arial, sans-serif;
	font-size: 18px;
	line-height: 1.7;
	color: #0F1C45;
	background: #FFFFFF;
	-webkit-font-smoothing: antialiased;
}
.editor-styles-wrapper .editor-post-title,
.editor-styles-wrapper .wp-block-post-title {
	font-family: Outfit, Arial, sans-serif;
	font-weight: 800;
	font-size: clamp(30px, 3.4vw, 42px);
	line-height: 1.15;
	color: #0F1C45;
}

/* Ritmo vertical no site (no editor quem cuida é o blockGap do theme.json) */
.entry-content > * { margin-top: 0; margin-bottom: 24px; }
.entry-content > *:last-child { margin-bottom: 0; }
.entry-content::after { content: ""; display: table; clear: both; }

/* Texto ------------------------------------------------------------------ */
:where(.entry-content, .editor-styles-wrapper) :is(h2, h3, h4, h5, h6) {
	font-family: Outfit, Arial, sans-serif;
	font-weight: 800;
	line-height: 1.2;
	color: #0F1C45;
}
:where(.entry-content, .editor-styles-wrapper) h2 { font-size: 26px; margin-top: 40px; }
:where(.entry-content, .editor-styles-wrapper) h3 { font-size: 21px; margin-top: 32px; }
:where(.entry-content, .editor-styles-wrapper) h4 { font-size: 18px; margin-top: 28px; }
:where(.entry-content, .editor-styles-wrapper) a { color: #0F1C45; text-decoration: underline; text-underline-offset: 3px; }
:where(.entry-content, .editor-styles-wrapper) a:hover { color: #4E5A8C; }
:where(.entry-content, .editor-styles-wrapper) :is(ul, ol) { padding-left: 1.3em; }
:where(.entry-content, .editor-styles-wrapper) li + li { margin-top: 6px; }
:where(.entry-content, .editor-styles-wrapper) li::marker { color: #4E5A8C; }
:where(.entry-content, .editor-styles-wrapper) strong { font-weight: 700; }
:where(.entry-content, .editor-styles-wrapper) .has-text-align-center { text-align: center; }
:where(.entry-content, .editor-styles-wrapper) .has-text-align-right { text-align: right; }

/* Imagens e legendas ------------------------------------------------------ */
:where(.entry-content, .editor-styles-wrapper) img { max-width: 100%; height: auto; border-radius: 4px; }
:where(.entry-content, .editor-styles-wrapper) figure { margin-inline: 0; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-image img { display: block; }
:where(.entry-content, .editor-styles-wrapper) :is(figcaption, .wp-element-caption, .wp-caption-text) {
	margin-top: 8px; font-size: 14px; line-height: 1.5; color: #4E5A8C; text-align: left;
}
:where(.entry-content, .editor-styles-wrapper) .wp-caption { max-width: 100%; }

/* Alinhamentos */
:where(.entry-content, .editor-styles-wrapper) .alignleft { float: left; margin: 4px 24px 16px 0; max-width: 50%; }
:where(.entry-content, .editor-styles-wrapper) .alignright { float: right; margin: 4px 0 16px 24px; max-width: 50%; }
:where(.entry-content, .editor-styles-wrapper) .aligncenter { display: block; margin-inline: auto; text-align: center; }
.entry-content .alignwide { width: min(1240px, 100vw - 2 * clamp(16px, 4vw, 56px)); max-width: none; margin-inline: calc(50% - min(620px, 50vw - clamp(16px, 4vw, 56px))); }
.entry-content .alignfull { width: 100vw; max-width: none; margin-inline: calc(50% - 50vw); }
.entry-content .alignfull img { border-radius: 0; }
@media (max-width: 640px) {
	:where(.entry-content, .editor-styles-wrapper) :is(.alignleft, .alignright) { float: none; margin: 0 0 16px; max-width: 100%; }
}

/* Galeria */
:where(.entry-content, .editor-styles-wrapper) .wp-block-gallery { gap: 12px; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-gallery .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { border-radius: 0 0 4px 4px; font-size: 13px; }

/* Vídeos e mapas incorporados */
:where(.entry-content, .editor-styles-wrapper) iframe { max-width: 100%; border: 0; border-radius: 4px; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-embed__wrapper iframe { width: 100%; }
:where(.entry-content, .editor-styles-wrapper) video { width: 100%; border-radius: 4px; }

/* Citações ---------------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) :is(.wp-block-quote, .wp-block-pullquote) {
	margin: 8px 0 24px; padding: clamp(24px, 3vw, 36px); border: 0; border-radius: 4px;
	background: #F4F5FA; color: #0F1C45; text-align: left;
	display: flex; flex-direction: column; gap: 16px;
}
:where(.entry-content, .editor-styles-wrapper) .wp-block-quote::before,
:where(.entry-content, .editor-styles-wrapper) .wp-block-pullquote blockquote::before {
	content: ""; display: block; flex: none; width: 40px; height: 30px; background: #7D86A7;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36'%3E%3Cpath d='M0 36V20C0 9 6 2 18 0l2 6c-6 2-9 5-9 10h9v20H0zm28 0V20C28 9 34 2 46 0l2 6c-6 2-9 5-9 10h9v20H28z'/%3E%3C/svg%3E") no-repeat center / contain;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36'%3E%3Cpath d='M0 36V20C0 9 6 2 18 0l2 6c-6 2-9 5-9 10h9v20H0zm28 0V20C28 9 34 2 46 0l2 6c-6 2-9 5-9 10h9v20H28z'/%3E%3C/svg%3E") no-repeat center / contain;
}
:where(.entry-content, .editor-styles-wrapper) .wp-block-pullquote blockquote { margin: 0; display: flex; flex-direction: column; gap: 16px; }
:where(.entry-content, .editor-styles-wrapper) :is(.wp-block-quote, .wp-block-pullquote) p {
	margin: 0; font-family: Outfit, Arial, sans-serif; font-size: 20px; font-weight: 700; line-height: 1.4;
}
:where(.entry-content, .editor-styles-wrapper) :is(.wp-block-quote, .wp-block-pullquote) cite {
	display: block; font-style: normal; font-size: 15px; line-height: 1.4; color: #4E5A8C;
}
:where(.entry-content, .editor-styles-wrapper) :is(.wp-block-quote, .wp-block-pullquote) cite strong { display: block; color: #0F1C45; }

/* Estilo "Destaque escuro" (bloco Citação) e Citação em destaque */
:where(.entry-content, .editor-styles-wrapper) :is(.wp-block-quote.is-style-dark, .wp-block-pullquote) { background: #0F1C45; color: #FFFFFF; }
:where(.entry-content, .editor-styles-wrapper) :is(.wp-block-quote.is-style-dark, .wp-block-pullquote) p { color: #FFFFFF; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-quote.is-style-dark::before,
:where(.entry-content, .editor-styles-wrapper) .wp-block-pullquote blockquote::before { background: #9DB7F5; }
:where(.entry-content, .editor-styles-wrapper) :is(.wp-block-quote.is-style-dark, .wp-block-pullquote) cite { color: #D5DAEA; }
:where(.entry-content, .editor-styles-wrapper) :is(.wp-block-quote.is-style-dark, .wp-block-pullquote) cite strong { color: #FFFFFF; }

/* Colunas (ex.: foto ao lado de citação) */
:where(.entry-content, .editor-styles-wrapper) .wp-block-columns { gap: 24px; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-columns.are-vertically-aligned-stretch > .wp-block-column { display: flex; flex-direction: column; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-column > :is(.wp-block-quote, .wp-block-image):only-child { margin: 0; flex: 1 1 auto; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-column > .wp-block-quote:only-child { justify-content: center; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-column > .wp-block-image:only-child img { width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; }

/* Botões ---------------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .wp-block-buttons { gap: 12px; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 24px; border-radius: 4px; border: 2px solid #0F1C45;
	background: #0F1C45; color: #FFFFFF; font-family: "DM Sans", Arial, sans-serif; font-size: 16px; font-weight: 700;
	line-height: 1.2; text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
:where(.entry-content, .editor-styles-wrapper) .wp-block-button__link:hover { background: #2B3A6E; border-color: #2B3A6E; color: #FFFFFF; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: #0F1C45; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #0F1C45; color: #FFFFFF; }

/* Grupo com fundo (chamadas) */
:where(.entry-content, .editor-styles-wrapper) .wp-block-group.has-background { padding: clamp(24px, 3vw, 36px); border-radius: 4px; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-group.has-background > :first-child { margin-top: 0; }
:where(.entry-content, .editor-styles-wrapper) .has-navy-background-color :is(h2, h3, h4, p) { color: #FFFFFF; }
:where(.entry-content, .editor-styles-wrapper) .has-navy-background-color .wp-block-button__link { background: #FFFFFF; border-color: #FFFFFF; color: #0F1C45; }
:where(.entry-content, .editor-styles-wrapper) .has-navy-background-color .wp-block-button__link:hover { background: #DCE3F5; border-color: #DCE3F5; color: #0F1C45; }

/* Separador, tabela, código, arquivo ------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .wp-block-separator { border: 0; border-top: 1px solid #E4E7F1; margin-block: 40px; opacity: 1; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-separator.is-style-dots::before { color: #7D86A7; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-table { overflow-x: auto; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-table table { width: 100%; border-collapse: collapse; font-size: 16px; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-table :is(th, td) { padding: 10px 14px; border: 1px solid #E4E7F1; text-align: left; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-table thead th { background: #0F1C45; color: #FFFFFF; border-color: #0F1C45; font-weight: 700; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: #F4F5FA; }
:where(.entry-content, .editor-styles-wrapper) :is(code, pre) { font-size: 15px; background: #F4F5FA; border-radius: 4px; }
:where(.entry-content, .editor-styles-wrapper) code { padding: 2px 6px; }
:where(.entry-content, .editor-styles-wrapper) pre { padding: 16px 20px; overflow-x: auto; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-file { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px 20px; background: #F4F5FA; border-radius: 4px; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-file .wp-block-file__button { background: #0F1C45; color: #FFFFFF; border-radius: 4px; padding: 8px 16px; text-decoration: none; font-size: 15px; font-weight: 700; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-details { padding: 14px 18px; background: #F4F5FA; border-radius: 4px; }
:where(.entry-content, .editor-styles-wrapper) .wp-block-details summary { font-weight: 700; cursor: pointer; }
