/* ==========================================================================
   ympaR — estilos do tema
   Cores, fontes e tamanhos vêm do theme.json (Aparência › Editor › Estilos).
   Aqui ficam os detalhes de composição que o editor não oferece.
   ========================================================================== */

:root {
	--ym-tinta: var(--wp--preset--color--tinta, #2B1E1A);
	--ym-papel: var(--wp--preset--color--papel, #FBF8F5);
	--ym-nude: var(--wp--preset--color--nude, #EFE2D8);
	--ym-lavanda: var(--wp--preset--color--lavanda, #CFC3F2);
	--ym-roxo-escuro: var(--wp--preset--color--roxo-escuro, #6A4E94);
	--ym-laranja: var(--wp--preset--color--laranja, #FD863D);
	--ym-laranja-texto: var(--wp--preset--color--laranja-texto, #A94A12);
	--ym-amarelo: var(--wp--preset--color--amarelo, #F4C544);
	--ym-suave: var(--wp--preset--color--cinza-quente, #6A5A53);
	--ym-linha: rgba(43, 30, 26, .18);
	--ym-display: var(--wp--preset--font-family--display);
	--ym-mono: var(--wp--preset--font-family--mono);
}

body { -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--ym-laranja);
	outline-offset: 3px;
	border-radius: 2px;
}
.has-tinta-background-color :where(a, button):focus-visible { outline-color: var(--ym-amarelo); }
.wp-site-blocks { overflow-x: clip; }

/* ---------- cabeçalho ---------- */
.ympar-topo {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	background: var(--ym-papel); /* sem backdrop-filter: ele prenderia o menu do celular dentro do cabeçalho */
	border-bottom: 1px solid var(--ym-linha);
}
.ympar-topo .wp-block-site-logo img { height: 46px; width: auto; }
.ympar-topo .wp-block-navigation a:not(.wp-block-button__link) { text-decoration: none; position: relative; padding-block: 6px; }
.ympar-topo .wp-block-navigation .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
	background: var(--ym-laranja); transform: scaleX(0); transform-origin: left; transition: transform .25s;
}
.ympar-topo .wp-block-navigation .wp-block-navigation-item__content:hover::after,
.ympar-topo .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after,
.ympar-topo .wp-block-navigation [aria-current="page"]::after { transform: scaleX(1); }
.ympar-topo .wp-block-navigation [aria-current="page"] { font-weight: 700; }
.ympar-topo .wp-block-button__link { padding: 9px 18px; font-size: .92rem; }
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--ym-papel) !important;
	padding: var(--wp--custom--gutter);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	font-family: var(--ym-display); font-size: 1.7rem; font-weight: 800; font-stretch: 110%;
	width: 100%; border-bottom: 1px solid var(--ym-linha); padding-block: 12px;
}
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	border: 1.5px solid var(--ym-tinta); border-radius: 999px; padding: 6px 10px;
}
@media (max-width: 599px) {
	.ympar-topo .wp-block-site-logo img { height: 36px; }
	.ympar-topo .wp-block-button__link { padding: 7px 12px; font-size: .82rem; }
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: stretch !important;
	width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { text-align: left; }

/* ---------- rodapé ---------- */
.ympar-rodape a { text-decoration: none; opacity: .9; }
.ympar-rodape a:hover { opacity: 1; text-decoration: underline; text-decoration-color: var(--ym-laranja); color: inherit; }
.ympar-rodape .wp-block-image img { height: 64px; width: auto; }
.ympar-rodape .ympar-rodape-lista { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.ympar-rodape .is-style-lateral { border-color: var(--ym-laranja); }
.ympar-rodape .wp-block-social-links .wp-social-link { background: transparent; color: var(--ym-papel); }

/* ---------- utilitários de texto ---------- */
.is-style-rotulo {
	font-family: var(--wp--preset--font-family--texto) !important;
	font-size: .95rem !important;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ym-roxo-escuro);
}
.has-tinta-background-color .is-style-rotulo { color: var(--ym-amarelo); }
.is-style-lateral { border-left: 3px solid var(--ym-laranja); padding-left: 1.1rem; }
.is-style-condensado { font-stretch: 72%; }
.is-style-largo { font-stretch: 118%; }
.ympar-leitura { max-width: 62ch; }

/* ---------- abertura (hero) ---------- */
.titulo-hero {
	line-height: .88 !important;
	letter-spacing: -.025em !important;
	font-weight: 900 !important;
	overflow-wrap: normal;
}
.titulo-hero .w1, .titulo-hero .w2, .titulo-hero .w3, .titulo-hero .w4 { display: block; }
.titulo-hero .w1 { font-stretch: 50%; font-weight: 600; font-size: 1.25em; }
.titulo-hero .w2 { font-stretch: 88%; font-weight: 900; font-size: 1.02em; }
.titulo-hero .w3 { font-stretch: 50%; font-weight: 800; font-size: 1.3em; }
.titulo-hero .w4 { font-style: italic; color: var(--ym-laranja-texto); font-weight: 900; }
@keyframes ympar-estica { from { font-stretch: 100%; } }
@media (prefers-reduced-motion: no-preference) {
	.titulo-hero .w1, .titulo-hero .w3 { animation: ympar-estica 1.1s cubic-bezier(.2, .8, .2, 1) both; }
	.titulo-hero .w3 { animation-delay: .12s; }
}

/* ficha lavanda (O que fazemos / Para quem / Como / Para começar) */
.is-style-ficha {
	background: var(--ym-lavanda);
	border-radius: 0 0 0 64px;
	padding: clamp(22px, 2.6vw, 34px) !important;
}
.is-style-ficha > .wp-block-columns { margin: 0 !important; padding-block: 16px; border-top: 1px solid rgba(43, 30, 26, .25); gap: 14px; }
.is-style-ficha > .wp-block-columns:first-child { border-top: 0; padding-top: 0; }
.is-style-ficha > .wp-block-columns:last-child { padding-bottom: 0; }
.is-style-ficha .is-style-rotulo { color: var(--ym-tinta); padding-top: 1px; }
.is-style-ficha p:not(.is-style-rotulo) { font-weight: 500; line-height: 1.45; }

/* ---------- grupos ---------- */
.is-style-nota { background: var(--ym-nude); border-radius: 48px 0 0 0; padding: clamp(24px, 3vw, 40px) !important; }
.is-style-moldura { border: 2px solid var(--ym-tinta); padding: clamp(24px, 4vw, 48px) !important; }
.estado-selo {
	display: inline-flex !important; align-items: center; gap: 8px;
	font-size: .92rem !important; font-weight: 600;
	border: 1.5px solid var(--ym-tinta); border-radius: 999px; padding: 4px 14px;
}
.estado-selo::before { content: ""; width: 8px; height: 8px; border: 2px solid currentColor; border-radius: 50%; }

/* colunas em linhas com divisória (frentes, etapas, valores) */
.wp-block-columns.is-style-linha {
	border-bottom: 1px solid var(--ym-linha);
	padding-block: clamp(18px, 2.4vw, 30px);
	margin-block: 0 !important;
	align-items: baseline !important;
}
.ympar-linhas { border-top: 2px solid var(--ym-tinta); }
.ympar-linhas > * { margin-block: 0 !important; }
.has-tinta-background-color .wp-block-columns.is-style-linha { border-color: rgba(251, 248, 245, .22); }
.frente-titulo { display: flex; gap: 14px; align-items: baseline; }
.frente-titulo::before {
	content: ""; width: .42em; height: .42em; flex: none; background: var(--ym-laranja);
	transform: rotate(45deg) scale(0); transition: transform .25s;
}
.wp-block-columns.is-style-linha:hover .frente-titulo::before { transform: rotate(45deg) scale(1); }
.etapa-n { font-family: var(--ym-mono); color: var(--ym-suave); font-size: .9rem; }
.etapa-pergunta {
	font-family: var(--ym-display); font-style: italic; font-weight: 600; font-stretch: 90%;
	font-size: 1.2rem !important; color: var(--ym-roxo-escuro); margin-bottom: 6px !important;
}
.etapa-final h3 { color: var(--ym-laranja-texto); }

/* princípios em grade */
.ympar-grade-2 { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 !important; }
.ympar-grade-2 > * { margin: 0 !important; padding: clamp(20px, 3vw, 34px) clamp(16px, 3vw, 34px) clamp(20px, 3vw, 34px) 0; border-top: 1px solid rgba(251, 248, 245, .25); }
.ympar-grade-2 > *:nth-child(even) { padding-left: clamp(16px, 3vw, 34px); border-left: 1px solid rgba(251, 248, 245, .25); }
@media (max-width: 700px) {
	.ympar-grade-2 { grid-template-columns: 1fr; }
	.ympar-grade-2 > *:nth-child(even) { padding-left: 0; border-left: 0; }
}
.ympar-grade-3 { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px) !important; }
.ympar-grade-3 > * { margin: 0 !important; }
@media (max-width: 760px) { .ympar-grade-3 { grid-template-columns: 1fr; } }

/* ---------- listas ---------- */
ul.is-style-pilulas, ol.is-style-pilulas { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.is-style-pilulas li { border: 1.5px solid currentColor; border-radius: 999px; padding: 5px 14px; font-size: .92rem; font-weight: 500; margin: 0; }

.is-style-marcadores-y { list-style: none; padding: 0; margin: 0; }
.is-style-marcadores-y li { padding: 16px 0 16px 34px; border-top: 1px solid var(--ym-linha); position: relative; margin: 0; }
.is-style-marcadores-y li::before { content: ""; position: absolute; left: 4px; top: 1.5em; width: 10px; height: 10px; background: var(--ym-laranja); transform: rotate(45deg); }
.has-tinta-background-color .is-style-marcadores-y li { border-color: rgba(251, 248, 245, .2); }

ol.is-style-trilha {
	list-style: none; margin: 0; padding: 0; counter-reset: trilha;
	display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 2px solid var(--ym-tinta);
}
.is-style-trilha li { counter-increment: trilha; padding: 18px 14px 0 0; position: relative; margin: 0;
	font-family: var(--ym-display); font-size: clamp(1.1rem, 1.6vw, 1.45rem); font-stretch: 112%; font-weight: 800; line-height: 1.1; }
.is-style-trilha li::before {
	content: counter(trilha, decimal-leading-zero); display: block; font-family: var(--ym-mono);
	font-size: .75rem; font-weight: 400; color: var(--ym-suave); font-stretch: 100%; margin-bottom: 4px;
}
.is-style-trilha li::after {
	content: ""; position: absolute; top: -7px; left: 0; width: 12px; height: 12px;
	background: var(--ym-papel); border: 2px solid var(--ym-tinta); transform: rotate(45deg);
}
.is-style-trilha li:last-child::after { background: var(--ym-laranja); border-color: var(--ym-laranja); }
@media (max-width: 820px) { ol.is-style-trilha { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 30px; } }
@media (max-width: 460px) { ol.is-style-trilha { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

ol.is-style-passos {
	list-style: none; margin: 0; padding: 0; counter-reset: passo;
	display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 2px solid var(--ym-tinta);
}
.is-style-passos li { counter-increment: passo; padding: 20px 18px 0 0; border-right: 1px solid var(--ym-linha); margin: 0; }
.is-style-passos li + li { padding-left: 18px; }
.is-style-passos li:last-child { border-right: 0; }
.is-style-passos li::before {
	content: counter(passo); display: block; font-family: var(--ym-display); font-weight: 900; font-size: 3rem;
	font-stretch: 60%; line-height: 1; color: var(--ym-laranja-texto); margin-bottom: 10px;
}
@media (max-width: 900px) {
	ol.is-style-passos { grid-template-columns: 1fr; }
	.is-style-passos li, .is-style-passos li + li { padding: 18px 0; border-right: 0; border-bottom: 1px solid var(--ym-linha); display: grid; grid-template-columns: 3rem 1fr; gap: 12px; }
	.is-style-passos li::before { font-size: 2.2rem; margin: 0; }
}

ul.is-style-nuvem { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: baseline; list-style: none; margin: 0; padding: 0; }
.is-style-nuvem li { font-family: var(--ym-display); font-weight: 800; line-height: 1.1; margin: 0; }
.is-style-nuvem li:nth-child(4n+1) { font-stretch: 130%; font-size: clamp(1.5rem, 3vw, 2.5rem); }
.is-style-nuvem li:nth-child(4n+2) { font-stretch: 60%; font-size: clamp(1.8rem, 3.6vw, 3rem); font-weight: 600; }
.is-style-nuvem li:nth-child(4n+3) { font-style: italic; font-size: clamp(1.3rem, 2.4vw, 2rem); color: var(--ym-roxo-escuro); }
.is-style-nuvem li:nth-child(4n) { font-stretch: 80%; font-size: clamp(1.4rem, 2.8vw, 2.3rem); }
.is-style-nuvem li:nth-child(7) { color: var(--ym-laranja-texto); }

/* ---------- imagens ---------- */
.wp-block-image.is-style-canto img { border-radius: 0 0 0 88px; }
.wp-block-image.is-style-canto-direito img { border-radius: 0 88px 0 0; }
.wp-block-image.is-style-arco img { border-radius: 999px 999px 0 0; }
.wp-block-image { margin-block-end: 0; }
.wp-block-image img { max-width: 100%; }

.faixa-img { display: grid !important; grid-template-columns: 1.4fr 1fr 1.1fr; gap: clamp(12px, 2vw, 24px) !important; align-items: end; }
.faixa-img > * { margin: 0 !important; }
@media (max-width: 720px) {
	.faixa-img { grid-template-columns: 1fr 1fr; }
	.faixa-img > *:first-child { grid-column: 1 / -1; }
}
.mosaico { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(10px, 1.6vw, 20px) !important; }
.mosaico > * { margin: 0 !important; }
.mosaico > *:first-child { grid-column: span 2; grid-row: span 2; }
.mosaico > *:first-child img { height: 100%; }
@media (max-width: 640px) { .mosaico { grid-template-columns: 1fr 1fr; } }

/* ---------- diagramas ---------- */
.ympar-diagrama svg { width: 100%; height: auto; display: block; }
.convergencia text { font-family: var(--ym-mono); font-size: 13px; fill: var(--ym-papel); opacity: .85; letter-spacing: .04em; }
@media (max-width: 600px) { .convergencia text { font-size: 18px; } }
.encontro-svg text { font-family: var(--ym-mono); font-size: 13px; fill: var(--ym-tinta); }
.encontro-svg .t { font-family: var(--ym-display); font-weight: 800; font-size: 22px; }

/* ---------- sobre ---------- */
.nome-y {
	font-family: var(--ym-display); font-weight: 900; font-size: clamp(3rem, 9vw, 7.2rem) !important; overflow-wrap: normal; word-break: keep-all;
	line-height: .9 !important; font-stretch: 112%;
}
.nome-y s { font-stretch: 60%; font-weight: 500; color: var(--ym-suave); text-decoration-thickness: .07em; text-decoration-color: var(--ym-laranja); }
.nome-y strong { color: var(--ym-laranja-texto); font-weight: 900; }
.manifesto p { font-size: clamp(1.15rem, 1.7vw, 1.4rem); line-height: 1.55; max-width: 40ch; }
.manifesto .manifesto-abre { font-family: var(--ym-display); font-weight: 800; font-stretch: 90%; font-size: clamp(1.8rem, 3.6vw, 3rem); line-height: 1.05; }
.manifesto .manifesto-fecha { font-family: var(--ym-display); font-weight: 800; font-stretch: 110%; font-size: clamp(1.5rem, 2.6vw, 2.2rem); line-height: 1.1; }

/* ---------- conteúdos ---------- */
.wp-block-categories.is-style-editorias {
	list-style: none; margin: 0; padding: 0; display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--ym-tinta);
}
.is-style-editorias li { padding: 22px 18px 22px 0; border-bottom: 1px solid var(--ym-linha); margin: 0; color: var(--ym-suave); font-family: var(--ym-mono); font-size: .85rem; }
.is-style-editorias li a {
	display: block; font-family: var(--ym-display); font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-stretch: 108%; font-weight: 800; line-height: 1.1; text-decoration: none; color: var(--ym-tinta);
}
.is-style-editorias li a:hover { color: var(--ym-laranja-texto); }
@media (max-width: 820px) { .wp-block-categories.is-style-editorias { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .wp-block-categories.is-style-editorias { grid-template-columns: 1fr; } }

.cartao-artigo { border-top: 2px solid var(--ym-tinta); padding-top: 16px; height: 100%; }
.cartao-artigo .wp-block-post-title a { text-decoration: none; }
.cartao-artigo .wp-block-post-title a:hover { color: var(--ym-laranja-texto); }
.cartao-artigo .wp-block-post-featured-image img { border-radius: 0 0 0 48px; }
.cartao-artigo .wp-block-post-terms a { text-decoration: none; }
.destaque-artigo .wp-block-post-featured-image img { border-radius: 0 0 0 88px; }
.ympar-vazio { border-radius: 0 0 56px 0; }
.ympar-vazio .marca-grande {
	font-family: var(--ym-display); font-weight: 900; font-size: clamp(4rem, 9vw, 7rem) !important;
	font-stretch: 55%; line-height: .9 !important; color: var(--ym-laranja-texto);
}
.wp-block-search__input { border: 1.5px solid rgba(43, 30, 26, .45); border-radius: 999px; padding: 10px 18px; background: #fff; font: inherit; }
.wp-block-search__button { border-radius: 999px !important; margin-left: 8px !important; }
.wp-block-query-pagination a { text-decoration: none; font-weight: 700; }
.artigo-corpo > * { max-width: 68ch; }
.artigo-corpo h2 { margin-top: 2.2em; }
.artigo-corpo h3 { margin-top: 1.8em; }
.artigo-assinatura { border-top: 2px solid var(--ym-tinta); padding-top: 22px; font-style: italic; }

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- cabeçalho das páginas ---------- */
.ympar-cabeca { border-bottom: 1px solid var(--ym-linha); }
.ympar-titulo-pagina { font-stretch: 108%; max-width: 17ch; }
.ympar-borda-topo { border-top: 1px solid var(--ym-linha); }
.ympar-busca { max-width: 520px; }
.ympar-formatos { border-top: 2px solid var(--ym-tinta); padding-top: 18px; }
.screen-reader-text {
	border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden;
	padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}

/* faixas coladas umas nas outras, sem vão entre as seções */
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block: 0 !important; }

/* no cabeçalho das páginas, título e texto alinhados à esquerda da grade */
.ympar-cabeca > .ympar-titulo-pagina,
.ympar-cabeca > .ympar-leitura,
.ympar-cabeca > .ympar-busca {
	margin-left: max(0px, calc((100% - 1240px) / 2)) !important;
	margin-right: auto !important;
}
.ympar-cabeca > .ympar-leitura { max-width: 62ch; }


/* o cabeçalho fixo não cobre o campo ou a âncora que recebe o foco */
html { scroll-padding-top: calc(96px + var(--wp-admin--admin-bar--height, 0px)); }
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
	padding: calc(18px + var(--wp-admin--admin-bar--height, 0px)) var(--wp--custom--gutter) 32px !important;
}
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; }

/* ---------- versão 1.1 ---------- */
.ympar-titulo-largo { max-width: 22ch; }
.ympar-coluna-central { max-width: 760px !important; margin-left: auto !important; margin-right: auto !important; }
.ympar-titulo-suave { font-stretch: 100%; font-weight: 700; letter-spacing: 0; }
.wp-block-image.img-estreita { max-width: 420px; margin-inline: auto; }
.wp-block-image.ympar-textura img { border-radius: 0; }
.ympar-link a { text-decoration-color: var(--ym-laranja); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.ympar-link a:hover { color: var(--ym-laranja-texto); }
.has-tinta-background-color .ympar-link a:hover { color: var(--ym-lavanda); }
.has-laranja-background-color .wp-block-button__link:hover { background: var(--ym-papel); color: var(--ym-tinta); border-color: var(--ym-papel); }
/* títulos largos e textos estreitos alinhados à esquerda da grade, não centralizados */
.alignfull > .ympar-titulo-largo,
.alignfull > .ympar-leitura {
	margin-left: max(0px, calc((100% - 1240px) / 2)) !important;
	margin-right: auto !important;
}
.alignfull > .ympar-leitura { max-width: 62ch; }
