/* ==========================================================================
   Tema ReforAMAR — estilos de componentes.
   Cores, fontes e espaçamentos vêm do theme.json (variáveis --wp--preset--*).
   ========================================================================== */

:root {
	--rf-petroleo: var(--wp--preset--color--petroleo, #1d5c72);
	--rf-petroleo-escuro: var(--wp--preset--color--petroleo-escuro, #1e3640);
	--rf-amarelo: var(--wp--preset--color--amarelo, #f5af00);
	--rf-laranja: var(--wp--preset--color--laranja, #ec8119);
	--rf-tinta: var(--wp--preset--color--tinta, #1e3640);
	--rf-cinza: var(--wp--preset--color--cinza, #4f6268);
	--rf-linha: var(--wp--preset--color--linha, #dde3e5);
	--rf-areia: var(--wp--preset--color--areia, #f5f7f8);
	--rf-raio: 12px;
	--rf-sombra: 0 1px 2px rgb(29 43 48 / 6%), 0 4px 16px rgb(29 43 48 / 6%);
	--rf-altura-cabecalho: 72px;
}

html { scroll-padding-top: calc(var(--rf-altura-cabecalho) + 1rem); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }

/* Foco sempre visível (WCAG 2.4.7). */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--rf-petroleo-escuro);
	outline-offset: 3px;
	border-radius: 4px;
}

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}

.skip-link.screen-reader-text:focus {
	clip: auto; clip-path: none; height: auto; width: auto; z-index: 100000;
	top: 8px; left: 8px; padding: 0.75rem 1rem;
	background: var(--rf-amarelo); color: var(--rf-tinta); font-weight: 700;
}

/* --------------------------------------------------------------------------
   Botões
   -------------------------------------------------------------------------- */
.rf-botao {
	box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
	min-height: 44px; padding: 0.625rem 1.25rem;
	border: 2px solid transparent; border-radius: 999px;
	font-weight: 700; font-size: 0.9375rem; letter-spacing: 0.02em;
	text-decoration: none; text-align: center; line-height: 1.2; max-width: 100%;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
/* .rf-botao.x: vence a cor de link que o editor aplica nas seções (ex.: texto branco em seção escura). */
.rf-botao.rf-botao--doar { background: var(--rf-amarelo); color: var(--rf-tinta); }
.rf-botao.rf-botao--doar:hover { background: #e09f00; color: var(--rf-tinta); }
.rf-botao.rf-botao--contorno { border-color: currentColor; color: var(--rf-petroleo); background: transparent; }
.rf-botao.rf-botao--contorno:hover { background: var(--rf-petroleo); border-color: var(--rf-petroleo); color: #fff; }
.rf-botao--grande { min-height: 56px; padding: 0.875rem 2rem; font-size: 1.0625rem; }
.rf-botao .rf-icone { width: 20px; height: 20px; }

/* Botões do bloco nativo: variação "contorno" (secundário). */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; border: 2px solid currentColor; color: inherit;
}

/* --------------------------------------------------------------------------
   Cabeçalho fixo
   -------------------------------------------------------------------------- */
header.wp-block-template-part:has(> .rf-cabecalho) { position: sticky; top: 0; z-index: 50; }
.admin-bar header.wp-block-template-part:has(> .rf-cabecalho) { top: var(--wp-admin--admin-bar--height, 0); }
.rf-cabecalho { background: #fff; border-bottom: 1px solid var(--rf-linha); }
.rf-cabecalho__barra { min-height: var(--rf-altura-cabecalho); gap: 1rem; align-items: center; }
.rf-cabecalho__barra > .rf-botao { align-self: center; flex: 0 0 auto; white-space: nowrap; }
.rf-logo { display: block; flex: 0 0 auto; line-height: 0; }
.rf-logo img { width: 150px; height: auto; }
@media (min-width: 1280px) { .rf-logo img { width: 180px; } }

.rf-menu { flex: 1 1 auto; font-weight: 600; }
.rf-menu .wp-block-navigation-item__content { text-decoration: none; color: var(--rf-tinta); padding: 0.5rem 0; }
.rf-menu .wp-block-navigation-item__content:hover { color: var(--rf-petroleo); }
.rf-menu .wp-block-navigation__container { gap: 1.25rem; }
/* Telas de 1100 a 1279px: os 7 itens + DOE AGORA só cabem numa linha um pouco mais juntos. */
@media (min-width: 1100px) and (max-width: 1279px) {
	.rf-menu .wp-block-navigation__container { gap: 0.875rem; }
	.rf-menu .wp-block-navigation__container > .wp-block-navigation-item { font-size: 0.9375rem; }
}
.rf-menu .wp-block-navigation__submenu-container {
	border: 1px solid var(--rf-linha) !important; border-radius: var(--rf-raio);
	box-shadow: var(--rf-sombra); padding: 0.5rem 0; min-width: 240px !important;
}
.rf-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.5rem 1rem; font-weight: 500; }

/* Menu recolhido (overlay). O WordPress recolhe só abaixo de 600px;
   aqui recolhemos até 1099px, porque 6 itens + DOE AGORA não cabem antes disso. */
.rf-menu .wp-block-navigation__responsive-container-open,
.rf-menu .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.rf-menu .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem 1rem; }
.rf-menu .is-menu-open .wp-block-navigation__container { gap: 0.75rem; }
.rf-menu .is-menu-open .wp-block-navigation-item__content { font-size: 1.125rem; }
.rf-menu .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 0.25rem 0 0.5rem 1rem !important; gap: 0.25rem !important; }
/* Menu aberto no celular: tudo à esquerda, com o nome de cada seção em destaque. */
.rf-menu .is-menu-open .wp-block-navigation__responsive-container-content,
.rf-menu .is-menu-open .wp-block-navigation__container,
.rf-menu .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.rf-menu .is-menu-open .has-child > .wp-block-navigation-item__content { color: var(--rf-petroleo-escuro); font-weight: 800; }
.rf-menu .is-menu-open .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem; font-weight: 500; padding-block: 0.375rem; }
.rf-menu .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
@media (min-width: 600px) and (max-width: 1099px) {
	.rf-menu .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.rf-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.rf-menu .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; display: flex; flex-direction: column; background: #fff; overflow: auto; z-index: 100000; }
	.rf-menu .is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
	.rf-menu .is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: flex-start; }
	.rf-menu .is-menu-open .wp-block-navigation__submenu-container { position: static; visibility: visible; opacity: 1; width: auto; height: auto; }
}
.rf-cabecalho .rf-menu { justify-content: flex-end; }

/* Até o menu caber, o DOE AGORA fica compacto no celular. */
@media (max-width: 599px) {
	.rf-cabecalho .rf-botao--doar { min-height: 40px; padding: 0.5rem 0.875rem; font-size: 0.8125rem; }
}

/* --------------------------------------------------------------------------
   Conteúdo
   -------------------------------------------------------------------------- */
.rf-principal { padding-top: var(--wp--preset--spacing--40); padding-bottom: var(--wp--preset--spacing--50); }
.rf-principal--cheia { padding-top: 0; }
.rf-principal > .wp-block-post-title { margin-bottom: var(--wp--preset--spacing--30); }

.rf-secao { padding-block: var(--wp--preset--spacing--50); }
.rf-secao--areia { background: var(--rf-areia); }
.rf-secao--petroleo { background: var(--rf-petroleo); color: #fff; }
.rf-secao--petroleo :where(h1, h2, h3, a) { color: #fff; }
.rf-sobretitulo { text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.8125rem; font-weight: 700; color: var(--rf-petroleo); }

/* Hero estático */
.rf-hero .wp-block-cover__inner-container { width: 100% !important; max-width: 1200px; margin-inline: auto !important; }
.rf-hero .wp-block-cover__inner-container > * { margin-left: 0 !important; margin-right: 0 !important; }
.rf-hero.wp-block-cover { min-height: min(88vh, 760px) !important; padding-block: var(--wp--preset--spacing--50); }
.rf-hero h1 { color: #fff; font-size: var(--wp--preset--font-size--destaque); max-width: 16ch; }
.rf-hero p { color: #fff; font-size: var(--wp--preset--font-size--medio); max-width: 46ch; }
.rf-hero .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }

/* Cards */
.rf-grade-cards { gap: var(--wp--preset--spacing--30); }
.rf-card { background: #fff; border: 1px solid var(--rf-linha); border-radius: var(--rf-raio); overflow: hidden; display: flex; flex-direction: column; gap: 0.5rem; padding-bottom: 1.25rem; }
.rf-card > :not(.wp-block-post-featured-image) { padding-inline: 1.25rem; margin: 0; }
.rf-card .wp-block-post-featured-image { margin: 0 0 0.5rem; }
.rf-card .wp-block-post-title a { text-decoration: none; color: var(--rf-tinta); }
.rf-card .wp-block-post-title a:hover { color: var(--rf-petroleo); }
.rf-card .wp-block-post-date { color: var(--rf-cinza); }

/* --------------------------------------------------------------------------
   Faixa de impacto (contadores)
   -------------------------------------------------------------------------- */
.rf-contadores {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--wp--preset--spacing--30);
	text-align: center;
}
@media (min-width: 782px) { .rf-contadores { grid-template-columns: repeat(3, 1fr); row-gap: var(--wp--preset--spacing--40); } }
@media (min-width: 1024px) { .rf-contadores { grid-template-columns: repeat(6, 1fr); column-gap: 1rem; } .rf-contadores .rf-contador__numero { font-size: clamp(2rem, 3.2vw, 2.75rem); } }
.rf-contador { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; }
.rf-contador__numero { font-size: var(--wp--preset--font-size--titulo); font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.rf-contador__rotulo { font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.9375rem; }
.rf-contador__icone { color: var(--rf-amarelo); line-height: 0; }
.rf-contador__icone svg { width: 3rem; height: 3rem; }
/* Amarelo do MIV sobre o petróleo dá 4:1: por isso o texto é grande e em negrito (o WCAG AA pede 3:1 para texto grande). */
.rf-contador__complemento { color: var(--rf-amarelo); font-size: 1.1875rem; font-weight: 700; line-height: 1.2; margin-top: -0.25rem; }
.rf-contador__metodo { font-size: 0.8125rem; max-width: 26ch; }
.rf-contador__metodo summary { cursor: pointer; text-decoration: underline; opacity: 0.85; }
.rf-contador__metodo p { margin: 0.375rem 0 0; text-align: left; }

/* --------------------------------------------------------------------------
   Selos
   -------------------------------------------------------------------------- */
.rf-selos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1.5rem 2.5rem; }
.rf-selo img { height: 96px; width: auto; }
.rf-selos--todos .rf-selo img { height: 120px; }
@media (max-width: 599px) { .rf-selo img { height: 72px; } .rf-selos { gap: 1rem 1.5rem; } }
/* ODS */
.rf-ods { margin-top: var(--wp--preset--spacing--40); text-align: center; }
.rf-ods__titulo { font-size: 0.9375rem; color: var(--rf-cinza); margin: 0 0 1rem; }
.rf-ods__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }
.rf-ods__item a { display: block; line-height: 0; border-radius: 4px; transition: transform 0.2s; }
.rf-ods__item a:hover, .rf-ods__item a:focus-visible { transform: scale(1.06); }
.rf-ods__item img { display: block; width: 112px; height: 112px; }
@media (max-width: 599px) { .rf-ods__item img { width: 96px; height: 96px; } }
.rf-selo__nome { display: inline-block; padding: 0.5rem 0.875rem; border: 1px solid currentColor; border-radius: 999px; font-size: 0.8125rem; font-weight: 600; }

/* --------------------------------------------------------------------------
   Cartões de WhatsApp por setor
   -------------------------------------------------------------------------- */
.rf-cartoes-zap { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--wp--preset--spacing--20); grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.rf-cartao-zap { border: 1px solid var(--rf-linha); border-radius: var(--rf-raio); padding: 1.25rem; display: flex; flex-direction: column; gap: 0.5rem; }
.rf-cartao-zap h3 { margin: 0; }
.rf-cartao-zap p { margin: 0 0 0.5rem; color: var(--rf-cinza); flex: 1; }
.rf-cartao-zap .rf-botao { align-self: flex-start; }

/* --------------------------------------------------------------------------
   Fechamento
   -------------------------------------------------------------------------- */
.rf-fechamento { text-align: center; display: flex; flex-direction: column; align-items: center; gap: var(--wp--preset--spacing--30); }
.rf-fechamento__frase { font-size: var(--wp--preset--font-size--titulo); font-weight: 800; line-height: 1.15; margin: 0; color: inherit; }
.rf-fechamento-home .rf-fechamento__frase { color: var(--rf-petroleo); }

/* --------------------------------------------------------------------------
   Rodapé
   -------------------------------------------------------------------------- */
.rf-rodape-faixa {
	background: var(--rf-petroleo-escuro); color: #fff;
	padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--20);
	padding-bottom: calc(var(--wp--preset--spacing--20) + 64px); /* espaço para o botão flutuante */
}
.rf-rodape-faixa a { color: #fff; }
.rf-rodape-faixa a:hover { color: var(--rf-amarelo); }
.rf-rodape-faixa__logo { display: block; line-height: 0; }
.rf-rodape-faixa__logo img { width: 200px; height: auto; }
.rf-rodape { display: grid; gap: var(--wp--preset--spacing--30); padding-block: var(--wp--preset--spacing--20); border-bottom: 1px solid rgb(255 255 255 / 15%); }
@media (min-width: 782px) { .rf-rodape { grid-template-columns: 3fr 2fr; } }
.rf-rodape address { font-style: normal; line-height: 1.7; }
.rf-rodape__nome { margin-top: 0; }
.rf-rodape__atalhos ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rf-redes { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; gap: 0.5rem; }
.rf-redes a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgb(255 255 255 / 10%); }
.rf-redes a:hover { background: var(--rf-amarelo); color: var(--rf-tinta); }
.rf-rodape-faixa .rf-selos { padding-block: var(--wp--preset--spacing--20); }
.rf-rodape-faixa .rf-selo img { height: 56px; filter: none; opacity: 1; }
.rf-rodape-faixa .rf-selo__nome { color: #fff; }
.rf-rodape-faixa__credito { opacity: 0.8; margin-top: var(--wp--preset--spacing--20); }

/* --------------------------------------------------------------------------
   WhatsApp flutuante
   -------------------------------------------------------------------------- */
.rf-zap-flutuante {
	position: fixed; right: 16px; bottom: 16px; z-index: 60;
	display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
	background: #1f7a4d; color: #fff; box-shadow: 0 4px 14px rgb(0 0 0 / 25%);
}
.rf-zap-flutuante:hover { background: #17633e; color: #fff; }
.rf-zap-flutuante .rf-icone { width: 30px; height: 30px; }

/* --------------------------------------------------------------------------
   404
   -------------------------------------------------------------------------- */
.rf-404 { text-align: center; }
.rf-404 .wp-block-search { max-width: 480px; margin-inline: auto; }

/* ==========================================================================
   FASE 2 — componentes de conteúdo
   ========================================================================== */

.rf-secao--compacta { padding-block: var(--wp--preset--spacing--40); }
.rf-destaque { font-size: var(--wp--preset--font-size--medio); line-height: 1.5; color: var(--rf-petroleo-escuro); }
.rf-nota { font-size: 0.9375rem; color: var(--rf-cinza); }
.rf-link-seta a { font-weight: 700; text-decoration: none; }
.rf-link-seta a:hover { text-decoration: underline; }
.rf-vazio { padding: 1.25rem; border: 1px dashed var(--rf-linha); border-radius: var(--rf-raio); color: var(--rf-cinza); text-align: center; }
.rf-lista-limpa { list-style: none; padding-left: 0; }
.rf-lista-limpa li + li { margin-top: 0.625rem; }
.rf-sobretitulo--claro, .rf-sobretitulo--claro a { color: var(--rf-amarelo); text-decoration: none; }

/* Grades genéricas (funcionam com <ul> e com grupos de blocos) */
.rf-grade { display: grid; gap: var(--wp--preset--spacing--30); list-style: none; padding: 0; margin-block: var(--wp--preset--spacing--30); }
.rf-grade > * { margin: 0 !important; }
.rf-grade--2 { grid-template-columns: repeat(auto-fill, minmax(min(100%, max(320px, calc((100% - var(--wp--preset--spacing--30)) / 2))), 1fr)); }
.rf-grade--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, max(260px, calc((100% - 2 * var(--wp--preset--spacing--30)) / 3))), 1fr)); }
.rf-grade--4 { grid-template-columns: repeat(auto-fill, minmax(min(100%, max(220px, calc((100% - 3 * var(--wp--preset--spacing--30)) / 4))), 1fr)); }

/* Cartão simples (texto) */
/* Página Indique: três blocos, o botão sempre na base de cada um. */
.rf-indicar { align-items: stretch; }
.rf-indicar__bloco { display: flex; flex-direction: column; gap: 0.75rem; scroll-margin-top: 100px; }
.rf-indicar__bloco h3 { margin: 0; }
.rf-indicar__bloco > .wp-block-buttons { margin-top: auto; padding-top: 0.5rem; }
.rf-cartao { background: #fff; border: 1px solid var(--rf-linha); border-radius: var(--rf-raio); padding: 1.5rem; position: relative; }
.rf-secao--areia .rf-cartao { border-color: transparent; box-shadow: var(--rf-sombra); }
.rf-cartao > :first-child { margin-top: 0; }
.rf-cartao > :last-child { margin-bottom: 0; }
.rf-cartao h3 { margin-bottom: 0.5rem; }
.rf-cartao h3 a { color: var(--rf-petroleo-escuro); text-decoration: none; }
.rf-cartao h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; } /* cartão inteiro clicável */
.rf-cartao:has(h3 a):hover { border-color: var(--rf-petroleo); }
.rf-cartao:has(h3 a:focus-visible) { outline: 3px solid var(--rf-petroleo-escuro); outline-offset: 3px; }
.rf-cartao--leve { background: var(--rf-areia); border-color: transparent; }

/* Ícones dos cartões (desenhados em CSS, sem arquivo extra) */
[class*="rf-ico-"]::before {
	content: ""; display: block; width: 44px; height: 44px; margin-bottom: 1rem; border-radius: 12px;
	background: var(--rf-amarelo) var(--rf-ico) center / 26px no-repeat;
}
.rf-ico-capacita { --rf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e3640' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c3 2 9 2 12 0v-5'/%3E%3C/svg%3E"); }
.rf-ico-bazar { --rf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e3640' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 13H6z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E"); }
.rf-ico-acessivel { --rf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e3640' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='4' r='2'/%3E%3Cpath d='M12 7v7h5l2 5M12 10H7'/%3E%3Cpath d='M9 13a5 5 0 1 0 6 6'/%3E%3C/svg%3E"); }
.rf-ico-instituicoes { --rf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e3640' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V9l7-5 7 5v12'/%3E%3Cpath d='M10 21v-5h4v5'/%3E%3C/svg%3E"); }
.rf-ico-advocacy { --rf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e3640' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M3 10v4h3l7 5V5L6 10z'/%3E%3Cpath d='M17 9a4 4 0 0 1 0 6M19.5 6.5a8 8 0 0 1 0 11'/%3E%3C/svg%3E"); }
.rf-ico-coracao { --rf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e3640' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 20s-8-5-8-11a4.5 4.5 0 0 1 8-2.5A4.5 4.5 0 0 1 20 9c0 6-8 11-8 11z'/%3E%3C/svg%3E"); }
.rf-ico-empresa { --rf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e3640' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M9 7V5h6v2M3 13h18'/%3E%3C/svg%3E"); }
.rf-ico-voluntario { --rf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e3640' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4l6 6-9 9H5v-6z'/%3E%3Cpath d='M12 6l6 6'/%3E%3C/svg%3E"); }
.rf-ico-vaquinha { --rf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e3640' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15 9.5c-.5-1-1.6-1.5-3-1.5-1.7 0-3 .9-3 2s1.3 1.7 3 2 3 .9 3 2-1.3 2-3 2c-1.4 0-2.5-.5-3-1.5M12 6v2M12 16v2'/%3E%3C/svg%3E"); }

/* Foto ainda não enviada (aparece só até a equipe colocar a imagem) */
.rf-foto-pendente {
	display: grid; place-items: center; aspect-ratio: 4 / 3; width: 100%; border-radius: var(--rf-raio);
	background: repeating-linear-gradient(135deg, var(--rf-areia) 0 14px, #e3eaec 14px 28px);
	color: var(--rf-cinza); text-align: center; padding: 1rem; box-sizing: border-box; font-size: 0.875rem;
}
.rf-foto-pendente p, .rf-foto-pendente span { margin: 0; max-width: 28ch; }
.rf-dupla { gap: var(--wp--preset--spacing--40); }
@media (max-width: 781px) { .rf-foto-pendente { aspect-ratio: 16 / 9; } }
/* Foto ao lado de um texto: ocupa a mesma área do espaço reservado (4:3; 16:9 no celular), recortando a foto. */
/* Faixa de foto no topo de uma página (ex.: Bazar). */
.rf-faixa-foto { margin-block: 0 var(--wp--preset--spacing--40) !important; }
.rf-faixa-foto img { display: block; width: 100%; height: auto; border-radius: var(--rf-raio); }
/* Foto do cartão de cada linha (Nossa atuação). */
.rf-frente__foto { display: block; line-height: 0; border-radius: var(--rf-raio); overflow: hidden; margin-bottom: 0.5rem; }
.rf-frente__foto img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 0.4s ease; }
.rf-frente:hover .rf-frente__foto img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { .rf-frente:hover .rf-frente__foto img { transform: none; } }
.rf-foto-dupla { margin: 0; }
.rf-foto-dupla img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 40%; border-radius: var(--rf-raio); }
@media (max-width: 781px) { .rf-foto-dupla img { aspect-ratio: 16 / 9; } }

/* Cards com imagem (projetos, notícias) */
.rf-grade > .rf-card { padding: 0; }
.rf-card__link { display: flex; flex-direction: column; height: 100%; padding: 0 !important; color: inherit; text-decoration: none; }
.rf-card__midia { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--rf-areia); }
.rf-card__midia img, .rf-card__midia .rf-foto-pendente { width: 100%; height: 100%; object-fit: cover; border-radius: 0; aspect-ratio: auto; }
.rf-card__corpo { padding: 1.25rem; display: flex; flex-direction: column; gap: 0.375rem; flex: 1; }
.rf-card__corpo p { margin: 0; }
.rf-card__titulo { margin: 0; font-size: var(--wp--preset--font-size--medio); color: var(--rf-petroleo-escuro); }
.rf-card__meta { color: var(--rf-cinza); font-size: 0.875rem; }
.rf-card__mais { margin-top: auto; padding-top: 0.5rem; font-weight: 700; color: var(--rf-petroleo); }
.rf-card__link:hover .rf-card__titulo { text-decoration: underline; }
.rf-etiqueta { display: inline-block; padding: 0.25rem 0.625rem; border-radius: 999px; font-size: 0.75rem; font-weight: 700; background: var(--rf-areia); color: var(--rf-petroleo-escuro); }
.rf-card__midia .rf-etiqueta { position: absolute; top: 0.75rem; left: 0.75rem; }
.rf-etiqueta--andamento, .rf-etiqueta--abertas { background: var(--rf-amarelo); color: var(--rf-tinta); }
.rf-etiqueta--concluido { background: var(--rf-petroleo); color: #fff; }
.rf-etiqueta--encerrado { background: var(--rf-linha); color: var(--rf-tinta); }

/* Atalhos (mosaico do Quem somos) */
.rf-atalho a { display: flex; flex-direction: column; gap: 0.25rem; height: 100%; box-sizing: border-box; padding: 1.25rem 1.5rem; border-radius: var(--rf-raio); background: var(--rf-areia); color: var(--rf-tinta); text-decoration: none; border: 1px solid transparent; }
.rf-atalho a:hover { border-color: var(--rf-petroleo); }
.rf-atalho strong { color: var(--rf-petroleo-escuro); font-size: 1.0625rem; }
.rf-atalho strong::after { content: " →"; }
.rf-atalho span { color: var(--rf-cinza); font-size: 0.9375rem; }

/* Frentes (Nossa atuação) */
.rf-frente h2 { margin-bottom: 0.25rem; }
.rf-frente h2 a { text-decoration: none; color: var(--rf-petroleo-escuro); }

/* Etapas numeradas */
.rf-etapas { list-style: none; counter-reset: etapa; padding: 0; display: grid; gap: 1rem; }
.rf-etapas > li { counter-increment: etapa; position: relative; padding: 1rem 1.25rem 1rem 4rem; background: var(--rf-areia); border-radius: var(--rf-raio); }
.rf-etapas > li::before { content: counter(etapa); position: absolute; left: 1rem; top: 0.875rem; width: 2rem; height: 2rem; border-radius: 50%; background: var(--rf-petroleo); color: #fff; display: grid; place-items: center; font-weight: 800; }

/* Chamada (bloco de ação no fim das páginas) */
.rf-chamada { padding: 1.5rem; border-radius: var(--rf-raio); border-left: 6px solid var(--rf-amarelo); background: var(--rf-areia); margin-block: var(--wp--preset--spacing--40); }
.rf-chamada > :first-child { margin-top: 0; }
.rf-chamada .wp-block-buttons, .rf-chamada > .rf-botao { margin-top: 0.75rem; margin-right: 0.5rem; }
.rf-chamada--destaque { background: var(--rf-petroleo-escuro); color: #fff; }
.rf-chamada--destaque :where(h2, h3, p > a, li a) { color: #fff; }
.rf-chamada--destaque .rf-botao--contorno { color: #fff; }
.rf-chamada--destaque .rf-botao--contorno:hover { background: #fff; color: var(--rf-petroleo-escuro); border-color: #fff; }
.rf-botao.rf-botao--zap { background: #1f7a4d; color: #fff; }
.rf-botao.rf-botao--zap:hover { background: #17633e; color: #fff; }
.rf-botao.rf-botao--escuro { background: var(--rf-petroleo-escuro); color: #fff; }
.rf-botao.rf-botao--escuro:hover { background: var(--rf-tinta); color: #fff; }

/* Tabela */
.rf-tabela table { border-collapse: collapse; width: 100%; font-size: 0.9375rem; }
.rf-tabela th, .rf-tabela td { border: 1px solid var(--rf-linha); padding: 0.75rem; text-align: left; vertical-align: top; }
.rf-tabela thead th { background: var(--rf-petroleo); color: #fff; }
.rf-tabela td:last-child { background: #fff8e8; }

/* Linha do tempo: vertical no celular, horizontal com arraste no computador */
.rf-linha-tempo { position: relative; display: grid; gap: 1.5rem; padding-left: 1.75rem; margin-block: var(--wp--preset--spacing--40); }
.rf-linha-tempo::before { content: ""; position: absolute; left: 0.5rem; top: 0.5rem; bottom: 0.5rem; width: 3px; background: var(--rf-linha); border-radius: 3px; }
.rf-marco { position: relative; margin: 0 !important; }
.rf-marco::before { content: ""; position: absolute; left: -1.625rem; top: 0.375rem; width: 1rem; height: 1rem; border-radius: 50%; background: var(--rf-amarelo); border: 3px solid #fff; box-shadow: 0 0 0 2px var(--rf-petroleo); }
.rf-marco__ano { margin: 0; font-weight: 800; font-size: var(--wp--preset--font-size--grande); color: var(--rf-petroleo); line-height: 1.1; }
.rf-marco h3 { margin: 0.25rem 0; }
.rf-marco p:last-child { margin: 0; color: var(--rf-cinza); }
@media (min-width: 900px) {
	.rf-linha-tempo { display: flex; gap: 1.5rem; padding: 2.5rem 0 1rem; overflow-x: auto; scroll-snap-type: x mandatory; cursor: grab; scrollbar-width: thin; }
	.rf-linha-tempo.rf-arrastando { cursor: grabbing; scroll-snap-type: none; user-select: none; }
	.rf-linha-tempo::before { left: 0; right: 0; top: 1.25rem; bottom: auto; width: auto; height: 3px; }
	.rf-marco { flex: 0 0 280px; scroll-snap-align: start; background: #fff; border: 1px solid var(--rf-linha); border-radius: var(--rf-raio); padding: 1.25rem; }
	.rf-marco::before { left: 1.25rem; top: -1.75rem; }
}

/* Organograma */
.rf-org { margin-block: var(--wp--preset--spacing--40); }
.rf-org__arvore { display: flex; flex-direction: column; align-items: center; }
.rf-org__no { background: #fff; border: 1px solid var(--rf-linha); border-radius: var(--rf-raio); width: 100%; box-sizing: border-box; }
.rf-org__no summary { cursor: pointer; padding: 1rem 1.25rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; list-style: none; font-weight: 700; color: var(--rf-petroleo-escuro); min-height: 44px; box-sizing: border-box; }
.rf-org__no summary::-webkit-details-marker { display: none; }
.rf-org__no summary::after { content: "+"; font-size: 1.25rem; color: var(--rf-petroleo); }
.rf-org__no[open] > summary::after { content: "–"; }
.rf-org__no--raiz { max-width: 420px; background: var(--rf-petroleo); border-color: var(--rf-petroleo); }
.rf-org__no--raiz summary, .rf-org__no--raiz summary::after, .rf-org__no--raiz .rf-org__detalhe { color: #fff; }
.rf-org__qtd { margin-left: auto; font-size: 0.8125rem; font-weight: 600; opacity: 0.85; }
.rf-org__detalhe { padding: 0 1.25rem 1rem; font-size: 0.9375rem; }
.rf-org__detalhe p { margin-top: 0; }
.rf-org__detalhe ul { margin: 0; padding-left: 1.125rem; }
.rf-org__ramos { list-style: none; padding: 1.5rem 0 0; margin: 0; width: 100%; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); position: relative; }
.rf-org__ramos::before { content: ""; position: absolute; top: 0; left: 50%; width: 3px; height: 1.5rem; background: var(--rf-linha); transform: translateX(-50%); }
.rf-org__ramos > li { align-self: start; }
.rf-org__dica { text-align: center; color: var(--rf-cinza); font-size: 0.875rem; margin: 0 0 1rem; }
.rf-org__rotulo { display: flex; flex-direction: column; gap: 0.125rem; }
.rf-org__tipo { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rf-cinza); }
.rf-org__nucleos { list-style: none; padding: 0 !important; margin: 0.75rem 0 0 !important; display: grid; gap: 0.5rem; }
.rf-org__nucleos .rf-org__no { background: var(--rf-areia); border-color: transparent; }
.rf-org__nucleos .rf-org__no summary { padding: 0.75rem 1rem; font-size: 0.9375rem; }
.rf-org__nucleos .rf-org__detalhe { padding: 0 1rem 0.75rem; }

/* Equipe */
.rf-pessoas { list-style: none; padding: 0; display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr)); margin-block: var(--wp--preset--spacing--40); }
.rf-pessoa { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.25rem; }
.rf-pessoa__foto, .rf-pessoa__iniciais { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; margin-bottom: 0.5rem; }
.rf-pessoa__iniciais { display: grid; place-items: center; background: var(--rf-areia); color: var(--rf-petroleo); font-weight: 800; font-size: 2rem; border: 2px solid var(--rf-linha); box-sizing: border-box; }
.rf-pessoa__nome { color: var(--rf-petroleo-escuro); }
.rf-pessoa__cargo { font-size: 0.9375rem; }
.rf-pessoa__area { font-size: 0.8125rem; color: var(--rf-cinza); }
.rf-pessoa__linkedin { display: inline-grid; place-items: center; width: 44px; height: 44px; color: var(--rf-petroleo); }

/* Transparência */
.rf-indice { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; }
.rf-indice a { display: inline-block; padding: 0.5rem 1rem; border-radius: 999px; background: var(--rf-areia); text-decoration: none; font-weight: 600; font-size: 0.9375rem; }
.rf-indice a:hover { background: var(--rf-petroleo); color: #fff; }
.rf-docs__ano { margin: 1.5rem 0 0.5rem; color: var(--rf-cinza); }
.rf-docs { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.5rem; }
.rf-doc { display: flex; align-items: center; gap: 1rem; padding: 0.75rem 1rem; border: 1px solid var(--rf-linha); border-radius: var(--rf-raio); }
/* Documentos em grade: cartões lado a lado. */
.rf-docs--grade { grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 1rem; margin-block: var(--wp--preset--spacing--30); }
.rf-docs--grade .rf-doc { flex-direction: column; align-items: flex-start; padding: 1.25rem; }
/* Documentos (Obras e Transparência): sem o ícone de PDF (o botão Baixar continua) e com contorno amarelo. */
.rf-doc { border: 2px solid var(--rf-amarelo); }
.rf-doc .rf-doc__icone { display: none; }
.rf-docs--grade .rf-doc .rf-botao { margin-top: auto; }
.rf-doc__icone { flex: 0 0 auto; width: 44px; height: 52px; border-radius: 6px; background: #b42318; color: #fff; display: grid; place-items: center; font-size: 0.75rem; font-weight: 800; }
.rf-doc__info { flex: 1; display: flex; flex-direction: column; }
.rf-doc__info small { color: var(--rf-cinza); }
.rf-doc__pendente { font-size: 0.875rem; color: var(--rf-cinza); }

/* Cursos */
.rf-cursos { list-style: none; padding: 0; display: grid; gap: var(--wp--preset--spacing--30); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.rf-curso { border: 1px solid var(--rf-linha); border-radius: var(--rf-raio); padding: 1.5rem; display: flex; flex-direction: column; gap: 0.5rem; align-items: flex-start; }
.rf-curso h3 { margin: 0.25rem 0 0; }
.rf-curso p { margin: 0; }
.rf-curso__detalhes { color: var(--rf-cinza); font-size: 0.9375rem; }
.rf-curso .rf-botao { margin-top: auto; }

/* Onde atuamos */
.rf-onde { display: grid; gap: var(--wp--preset--spacing--40); align-items: start; margin-block: var(--wp--preset--spacing--40); }
@media (min-width: 782px) { .rf-onde { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); } }
.rf-mapa { width: 100%; height: auto; max-width: 420px; }
.rf-mapa__regiao { stroke: #fff; stroke-width: 3; }
.rf-mapa__rio { fill: none; stroke: #8cc3d6; stroke-width: 8; stroke-linecap: round; }
.rf-mapa__rotulo { font-weight: 700; font-size: 15px; fill: var(--rf-tinta); }
.rf-mapa__numero { font-size: 14px; fill: var(--rf-tinta); }
.rf-mapa__legenda { font-size: 11px; fill: #2f6b80; font-style: italic; }
.rf-onde__listas { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.rf-onde__listas h3 { margin: 0 0 0.5rem; }
.rf-bairros { list-style: none; margin: 0; padding: 0; }
.rf-bairros li { display: flex; justify-content: space-between; padding: 0.375rem 0; border-bottom: 1px solid var(--rf-linha); }

/* Depoimento (some quando não há depoimento em destaque) */
.rf-so-com-depoimento:not(:has(.rf-depoimento)) { display: none; }
.rf-so-com-indicadores:not(:has(.rf-contador)) { display: none; }
.rf-depoimento { margin: var(--wp--preset--spacing--30) auto 0; max-width: 720px; background: #fff; border-radius: var(--rf-raio); box-shadow: var(--rf-sombra); padding: 2rem; display: grid; gap: 1rem; box-sizing: border-box; }
.rf-depoimento__texto { margin: 0; font-size: var(--wp--preset--font-size--medio); font-style: italic; border: 0; padding: 0; }
.rf-depoimento__texto::before { content: "\201C"; display: block; font-size: 4rem; line-height: 0.5; color: var(--rf-amarelo); font-style: normal; margin-top: 1rem; }
.rf-depoimento figcaption { display: flex; align-items: center; gap: 0.75rem; }
.rf-depoimento__foto { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
/* Depoimento com foto: cartão vertical 3:4 no estilo do site de referência, véu amarelo e nome sobre a foto. */
.rf-depoimento--foto { max-width: 960px; padding: 0; gap: 0; overflow: hidden; grid-template-columns: minmax(0, 1fr); grid-template-areas: "foto" "texto"; }
.rf-depoimento__retrato, .rf-depoimento--foto figcaption { grid-area: foto; }
.rf-depoimento__retrato { position: relative; overflow: hidden; aspect-ratio: 4 / 5; }
.rf-depoimento__retrato img.rf-depoimento__foto { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0; object-fit: cover; object-position: 50% 30%; transition: transform 0.5s ease; }
.rf-depoimento__retrato::before, .rf-depoimento__retrato::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.rf-depoimento__retrato::before { mix-blend-mode: soft-light; background: radial-gradient(circle at 30% 20%, rgb(245 175 0 / 55%) 0%, rgb(245 175 0 / 15%) 45%, transparent 75%); }
.rf-depoimento__retrato::after { background: linear-gradient(to top, rgb(30 54 64 / 85%) 0%, rgb(30 54 64 / 45%) 22%, transparent 45%); }
.rf-depoimento--foto:hover .rf-depoimento__foto { transform: scale(1.05); }
.rf-depoimento--foto figcaption { z-index: 2; align-self: end; padding: 1.25rem 1.5rem; color: #fff; line-height: 1.3; font-size: 0.875rem; }
.rf-depoimento--foto figcaption strong { font-size: 1.125rem; font-weight: 800; }
.rf-depoimento__corpo { grid-area: texto; display: grid; gap: 1rem; align-content: center; padding: 1.5rem 2rem 2rem; }
@media (min-width: 700px) {
	.rf-depoimento--foto { grid-template-columns: minmax(240px, 320px) minmax(0, 1fr); grid-template-areas: "foto texto"; }
	.rf-depoimento--foto .rf-depoimento__retrato { aspect-ratio: 3 / 4; }
	.rf-depoimento--foto .rf-depoimento__corpo { padding: 2.5rem; }
}
/* Em grade (página Obras), a foto fica em cima do texto. */
.rf-depoimentos .rf-depoimento--foto { grid-template-columns: minmax(0, 1fr); grid-template-areas: "foto" "texto"; }
.rf-depoimentos .rf-depoimento--foto .rf-depoimento__retrato { aspect-ratio: 1; }
.rf-depoimentos .rf-depoimento--foto .rf-depoimento__corpo { padding: 1.5rem 2rem 2rem; align-content: start; }
@media (prefers-reduced-motion: reduce) { .rf-depoimento__retrato img.rf-depoimento__foto { transition: none; } .rf-depoimento--foto:hover .rf-depoimento__foto { transform: none; } }
.rf-depoimentos { align-items: start; display: grid; gap: var(--wp--preset--spacing--30); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); margin-block: var(--wp--preset--spacing--30); }
.rf-depoimentos .rf-depoimento { margin: 0; max-width: none; align-content: start; }
.rf-depoimentos .rf-depoimento__texto { font-size: 1rem; }
.rf-video { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: var(--rf-raio); overflow: hidden; cursor: pointer; background: #000; aspect-ratio: 16 / 9; }
.rf-video img { width: 100%; height: 100%; object-fit: cover; opacity: 0.85; }
.rf-video__play { position: absolute; inset: 0; margin: auto; width: 72px; height: 72px; border-radius: 50%; background: var(--rf-amarelo); }
.rf-video__play::after { content: ""; position: absolute; left: 28px; top: 22px; border-style: solid; border-width: 14px 0 14px 22px; border-color: transparent transparent transparent var(--rf-tinta); }
.rf-video iframe { width: 100%; height: 100%; border: 0; }

/* Projeto */
.rf-hero--projeto h1 { max-width: 20ch; color: #fff; }
/* Capa com foto, filtro azul da ONG e texto (estilo do site de referência). Usada em Equipe e Linha 1; para usar em outra página, copie o bloco de capa de uma delas. */
.rf-hero.rf-hero--capa.wp-block-cover { min-height: min(80vh, 640px) !important; margin-block: 0 var(--wp--preset--spacing--50) !important; }
.rf-hero--capa .wp-block-cover__image-background { filter: grayscale(0.35); object-position: 60% 40%; }
.rf-hero--capa .wp-block-cover__background { opacity: 1 !important; background-color: transparent !important; background: linear-gradient(90deg, rgb(29 92 114 / 93%) 0%, rgb(29 92 114 / 80%) 45%, rgb(29 92 114 / 45%) 100%) !important; }
@media (max-width: 781px) { .rf-hero--capa .wp-block-cover__background { background: none !important; background-color: rgb(29 92 114 / 82%) !important; } }
/* Capa com arte pronta (foto, selos e grafismos já na imagem): sem filtro; mostra a arte inteira (16:9) e o texto
   fica na parte de cima, na área lisa à esquerda, acima dos selos. No celular a arte vem em cima e o texto embaixo. */
.rf-hero.rf-hero--arte.wp-block-cover { min-height: min-content !important; aspect-ratio: var(--rf-proporcao, 1920 / 804); max-height: 900px; align-items: flex-start; margin-block: 0 var(--wp--preset--spacing--50) !important; padding-block: clamp(1.5rem, 5vw, 4.5rem) 0; }
.rf-hero--arte .wp-block-cover__background { display: none; }
.rf-hero--solo.rf-hero--arte .wp-block-cover__inner-container { padding: 0; }
/* Arte com o texto no centro (área lisa entre as imagens): título e frase centralizados na vertical e na horizontal. */
.rf-hero.rf-hero--arte.rf-hero--centro.wp-block-cover { align-items: center; padding-block: 0; }
.rf-hero.rf-hero--centro .wp-block-cover__inner-container > * { margin-left: auto !important; margin-right: auto !important; max-width: min(46%, 640px); text-align: center; }
.rf-hero--centro .rf-hero__titulo { max-width: none; }
.rf-hero--arte.rf-hero--centro .rf-hero__titulo::before { display: none; }
/* Arte com o texto à direita (casal à esquerda). */
.rf-hero.rf-hero--arte.rf-hero--direita.wp-block-cover { align-items: center; padding-block: 0; }
.rf-hero.rf-hero--direita .wp-block-cover__inner-container > * { margin-left: 50% !important; margin-right: 0 !important; max-width: 44%; }
.rf-hero--direita .wp-block-cover__inner-container > p { max-width: min(44%, 560px); }
@media (max-width: 781px) {
	.rf-hero.rf-hero--arte.rf-hero--direita.wp-block-cover { aspect-ratio: 1000 / 1100; flex-direction: row; justify-content: center; align-items: flex-end; padding: 0 0 1.5rem; background: #26596b url("../img/formas-de-ajudar-celular.webp") center / cover no-repeat; }
	.rf-hero--direita .wp-block-cover__image-background { display: none; }
	.rf-hero--direita .wp-block-cover__inner-container { width: 100%; padding: 0 1.25rem; }
	.rf-hero.rf-hero--direita .wp-block-cover__inner-container > * { margin-left: 0 !important; max-width: none; }
}
/* Arte branca (fundo transparente): texto escuro. */
.rf-hero--arte.rf-hero--branca .rf-hero__titulo { color: var(--rf-petroleo); }
.rf-hero--arte.rf-hero--branca p, .rf-hero--arte.rf-hero--branca p strong { color: var(--rf-petroleo-escuro); }
/* Celular: a arte vira uma montagem recortada (um personagem em cada canto) e o texto fica por cima, no meio. */
@media (max-width: 781px) {
	.rf-hero.rf-hero--arte.rf-hero--centro.wp-block-cover { aspect-ratio: 1000 / 1100; flex-direction: row; justify-content: center; align-items: center; padding: 0; background: #fff url("../img/blog-celular.webp") center / cover no-repeat; }
	.rf-hero--centro .wp-block-cover__image-background { display: none; }
	.rf-hero--centro .wp-block-cover__inner-container { width: 100%; padding: 0 1.25rem; }
	.rf-hero--centro .wp-block-cover__inner-container > * { max-width: none; }
}
/* Título sobre a arte, na coluna da direita, acima da frase "Junto transformamos vidas" (que está na imagem). */
.rf-hero--solo.rf-hero--arte .wp-block-cover__inner-container { position: static; }
.rf-hero--solo.rf-hero--arte .rf-hero__titulo { position: absolute; z-index: 2; left: 53%; width: 39%; top: 15%; max-width: none; margin: 0; text-align: center; color: #fff; font-size: clamp(1.125rem, 4vw, 3.75rem); line-height: 1.05; text-shadow: 0 2px 10px rgb(0 0 0 / 55%); }
.rf-hero--solo.rf-hero--arte .rf-hero__titulo::before { display: none; }
@media (max-width: 781px) { .rf-hero.rf-hero--solo.rf-hero--arte.wp-block-cover { padding: 0; } }
.rf-hero--arte .wp-block-cover__image-background { object-position: 50% 100%; }
.rf-hero--arte .wp-block-cover__inner-container { max-width: 1200px; }
.rf-hero--arte .wp-block-cover__inner-container > * { max-width: min(46%, 560px); }
@media (max-width: 781px) {
	.rf-hero.rf-hero--arte.wp-block-cover { aspect-ratio: auto; max-height: none; flex-direction: column; background: var(--rf-arte-fundo, #26596b); padding: 0 0 2rem; }
	.rf-hero--arte .wp-block-cover__image-background { position: static; width: 100%; height: auto; aspect-ratio: var(--rf-proporcao, 1920 / 804); }
	.rf-hero--arte .wp-block-cover__inner-container { width: 100%; box-sizing: border-box; padding: 1.5rem 16px 0; }
	.rf-hero--arte .wp-block-cover__inner-container > * { max-width: none; }
}
/* Arte de capa clara (fundo amarelo): texto escuro. */
.rf-hero--arte.rf-hero--clara p, .rf-hero--arte.rf-hero--clara p strong { color: var(--rf-petroleo-escuro); }
/* Título em branco (pedido da Fernanda), com uma sombra leve para continuar legível sobre o amarelo. */
.rf-hero--arte.rf-hero--clara .rf-hero__titulo { color: #fff; text-shadow: 0 0 3px rgb(30 54 64 / 75%), 0 2px 10px rgb(30 54 64 / 55%); }
.rf-hero--arte.rf-hero--clara .rf-hero__titulo .rf-realce { color: var(--rf-petroleo); text-shadow: none; }
.rf-hero--clara { --rf-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20' fill='none'%3E%3Cpath stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='m2 2 8 8-8 8'/%3E%3C/svg%3E"); }
.rf-hero--arte.rf-hero--clara .rf-hero__titulo { max-width: 20ch; font-size: clamp(2rem, 4.2vw, 3.5rem); }
.rf-hero--clara .rf-hero__botao .wp-block-button__link { background: var(--rf-petroleo); color: #fff; }
.rf-hero--clara .rf-hero__botao .wp-block-button__link:hover { background: var(--rf-petroleo-escuro); color: #fff; }
.rf-hero.rf-hero--clara .wp-block-button.is-style-outline > .wp-block-button__link { border: 2px solid var(--rf-petroleo-escuro); color: var(--rf-petroleo-escuro); border-radius: 999px; font-weight: 800; background: transparent; }
.rf-hero--clara .rf-hero__botao-contorno .wp-block-button__link:hover { background: var(--rf-petroleo-escuro); color: #fff; }
.rf-hero .rf-hero__titulo { font-size: clamp(2.25rem, 5.5vw, 4.25rem); line-height: 1.08; max-width: 14ch; }
.rf-realce { color: var(--rf-amarelo); }
.rf-hero p strong { color: #fff; font-weight: 800; }
.rf-hero__botao .wp-block-button__link { background: var(--rf-amarelo); color: var(--rf-petroleo-escuro); border-radius: 999px; text-transform: uppercase; font-weight: 800; letter-spacing: 0.02em; padding: 0.9rem 1.75rem; box-shadow: 0 6px 18px rgb(0 0 0 / 20%); }
.rf-hero__botao .wp-block-button__link:hover { background: #fff; color: var(--rf-petroleo-escuro); }
.rf-hero__resumo p { color: #fff; font-size: var(--wp--preset--font-size--medio); max-width: 50ch; }
.rf-relacionadas h2 { margin-top: 0; }
/* Hero do projeto mais baixo que o da home */
.rf-hero.rf-hero--projeto.wp-block-cover { min-height: min(60vh, 440px) !important; }
/* Foto do projeto Cores que Transformam: mostra o desenho do caderno, não o desfoque do meio */
.postid-610 .rf-hero--projeto .wp-block-cover__image-background { object-position: 50% 82%; }
/* Projeto sem foto: fundo petróleo cheio (em vez do cinza da transparência) */
.rf-hero--projeto:not(:has(img)) .wp-block-cover__background { opacity: 1 !important; }
/* Indicadores do projeto centralizados, seja quantos forem */
.rf-contadores.rf-contadores--projeto { display: flex; flex-wrap: wrap; justify-content: center; }
.rf-contadores--projeto .rf-contador { flex: 0 1 220px; }

/* Na home, os selos aparecem na seção própria; o rodapé não repete */
.home .rf-rodape-faixa .rf-selos { display: none; }

/* ==========================================================================
   FASE 3 — captação e formulários
   ========================================================================== */

/* Formulários */
.rf-form { margin-block: var(--wp--preset--spacing--30); }
.rf-etapa[hidden], .rf-doacao [hidden] { display: none !important; }
.rf-form__mel { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rf-etapa { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 1rem; }
.rf-etapa__titulo { font-weight: 800; font-size: var(--wp--preset--font-size--medio); color: var(--rf-petroleo-escuro); margin-bottom: 0.5rem; padding: 0; }
.rf-etapa__titulo span { display: block; font-size: 0.8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rf-cinza); }
.rf-campo { display: flex; flex-direction: column; gap: 0.375rem; margin: 0; }
.rf-campo > label, .rf-campo legend { font-weight: 600; }
.rf-campo--grupo { border: 0; padding: 0; min-width: 0; }
.rf-campo input:not([type=checkbox]):not([type=radio]), .rf-campo select, .rf-campo textarea, .rf-doacao input[type=text] {
	box-sizing: border-box; width: 100%; min-height: 48px; padding: 0.625rem 0.875rem;
	border: 1.5px solid #8a989c; border-radius: 10px; background: #fff; color: var(--rf-tinta); font: inherit;
}
.rf-campo textarea { min-height: 120px; resize: vertical; }
.rf-campo :focus-visible { border-color: var(--rf-petroleo); }
.rf-campo__ajuda { color: var(--rf-cinza); }
.rf-campo__erro { color: #b42318; font-weight: 600; }
.rf-campo__erro:empty { display: none; }
.rf-campo--invalido input:not([type=checkbox]), .rf-campo--invalido select, .rf-campo--invalido textarea { border-color: #b42318; }
.rf-escolhas { display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); margin-top: 0.25rem; }
.rf-escolha { display: flex; gap: 0.625rem; align-items: flex-start; font-weight: 400; cursor: pointer; min-height: 44px; padding-top: 0.625rem; box-sizing: border-box; }
.rf-escolha input { width: 1.25rem; height: 1.25rem; margin: 0.125rem 0 0; flex: 0 0 auto; accent-color: var(--rf-petroleo); }
.rf-termo { margin: 0 0 0.5rem; padding: 1rem 1rem 1rem 2.25rem; background: var(--rf-areia); border-radius: var(--rf-raio); font-size: 0.9375rem; }
.rf-termo li + li { margin-top: 0.375rem; }
.rf-etapa__botoes { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.5rem; }
.rf-etapa__botoes button { cursor: pointer; font: inherit; font-weight: 700; }
.rf-form__status { margin: 0.75rem 0 0; font-weight: 600; color: var(--rf-petroleo-escuro); }
.rf-form__status:empty { display: none; }
.rf-form__sucesso { padding: 1.5rem; border-radius: var(--rf-raio); background: #e7f4ec; color: #14532d; font-weight: 600; font-size: var(--wp--preset--font-size--medio); }

/* Newsletter no rodapé */
.rf-newsletter { padding-bottom: var(--wp--preset--spacing--30); border-bottom: 1px solid rgb(255 255 255 / 15%); }
.rf-newsletter__titulo { color: #fff !important; font-size: var(--wp--preset--font-size--grande); margin-bottom: 0.5rem; }
.rf-form__aviso { margin: 0.5rem 0 0; font-size: 0.8125rem; opacity: 0.85; }
.rf-newsletter .rf-form__aviso { grid-column: 1 / -1; order: 5; }
.rf-newsletter .rf-form { max-width: none; }
.rf-newsletter .rf-etapa { grid-template-columns: 1fr; }
@media (min-width: 782px) {
	.rf-newsletter .rf-etapa { grid-template-columns: 1fr 1fr 1fr auto; align-items: end; }
	.rf-newsletter .rf-campo--marcar { grid-column: 1 / -1; order: 5; }
	.rf-newsletter .rf-etapa__botoes { margin: 0; }
}
.rf-rodape-faixa .rf-campo input { border-color: transparent; }
.rf-rodape-faixa .rf-escolha a { color: #fff; }
.rf-rodape-faixa .rf-campo__erro { color: #ffd0cc; }
.rf-rodape-faixa .rf-form__status { color: #fff; }

/* Doação em um passo */
.rf-doacao { margin-block: var(--wp--preset--spacing--30); }
.rf-doacao__modos { display: none; }
.rf-doacao--js .rf-doacao__modos { display: inline-flex; padding: 0.25rem; border-radius: 999px; background: var(--rf-areia); gap: 0.25rem; margin-bottom: 1.5rem; }
.rf-doacao__modos button { border: 0; border-radius: 999px; padding: 0.75rem 1.5rem; min-height: 44px; font: inherit; font-weight: 700; background: transparent; color: var(--rf-petroleo-escuro); cursor: pointer; }
.rf-doacao__modos button[aria-selected=true] { background: var(--rf-petroleo); color: #fff; }
.rf-doacao--js .rf-doacao__titulo-semjs { display: none; }
.rf-doacao__unica fieldset { border: 0; padding: 0; margin: 0 0 1.25rem; }
.rf-doacao__unica legend { font-weight: 700; margin-bottom: 0.75rem; }
.rf-valores { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); }
.rf-valor { position: relative; display: flex; flex-direction: column; gap: 0.25rem; padding: 1rem; border: 2px solid var(--rf-linha); border-radius: var(--rf-raio); cursor: pointer; background: #fff; }
.rf-valor input[type=radio] { position: absolute; opacity: 0; }
.rf-valor:has(input[type=radio]:checked) { border-color: var(--rf-petroleo); background: #eef4f5; }
.rf-valor:has(input[type=radio]:focus-visible) { outline: 3px solid var(--rf-petroleo-escuro); outline-offset: 2px; }
.rf-valor__quanto { font-weight: 800; font-size: var(--wp--preset--font-size--medio); color: var(--rf-petroleo-escuro); }
.rf-valor__impacto { font-size: 0.875rem; color: var(--rf-cinza); }
.rf-valor--outro { grid-column: span 2; }
.rf-valor__campo { display: flex; align-items: center; gap: 0.375rem; }
.rf-valor__campo input { max-width: 160px; }
.rf-doacao__nota { color: var(--rf-cinza); font-size: 0.875rem; margin-top: 0.75rem; }
.rf-doacao__unica button { cursor: pointer; font: inherit; font-weight: 800; }

/* Planos mensais */
.rf-planos { list-style: none; padding: 0; margin: var(--wp--preset--spacing--30) 0; display: grid; gap: var(--wp--preset--spacing--30); grid-template-columns: repeat(auto-fill, minmax(min(100%, max(260px, calc((100% - 3rem) / 3))), 1fr)); align-items: stretch; }
.rf-plano { position: relative; display: flex; flex-direction: column; gap: 0.5rem; padding: 1.75rem 1.5rem; border: 2px solid var(--rf-linha); border-radius: var(--rf-raio); background: #fff; }
.rf-plano--destaque { border-color: var(--rf-amarelo); box-shadow: var(--rf-sombra); }
/* Foto no alto do cartão do plano, com filtro azul (amarelo no destaque) que some em branco para o texto não brigar com a imagem. */
.rf-plano[style*="--rf-foto"] { padding-top: 11.5rem; background: linear-gradient(180deg, rgb(29 92 114 / 38%) 0, rgb(255 255 255 / 100%) 15rem) top / 100% 15rem no-repeat, var(--rf-foto) center top / 100% 15rem no-repeat, #fff; }
.rf-plano--destaque[style*="--rf-foto"] { background: linear-gradient(180deg, rgb(245 175 0 / 40%) 0, rgb(255 255 255 / 100%) 15rem) top / 100% 15rem no-repeat, var(--rf-foto) center top / 100% 15rem no-repeat, #fff; }
.rf-plano > .rf-etiqueta { position: absolute; top: -0.875rem; left: 1.5rem; }
.rf-plano__nome { margin: 0; color: var(--rf-petroleo-escuro); }
.rf-plano__valor { margin: 0; font-size: var(--wp--preset--font-size--medio); }
.rf-plano__valor strong { font-size: var(--wp--preset--font-size--titulo); color: var(--rf-petroleo); }
.rf-plano__dia, .rf-plano__impacto { margin: 0; color: var(--rf-cinza); font-size: 0.9375rem; }
.rf-plano__beneficios, .rf-lista-check { list-style: none; padding: 0; margin: 0.5rem 0 1rem; display: grid; gap: 0.5rem; }
.rf-plano__beneficios li, .rf-lista-check li { position: relative; padding-left: 1.75rem; }
.rf-plano__beneficios li::before, .rf-lista-check li::before { content: ""; position: absolute; left: 0.25rem; top: 0.35em; width: 0.5rem; height: 0.875rem; border: solid var(--rf-petroleo); border-width: 0 3px 3px 0; transform: rotate(45deg); }
.rf-plano .rf-botao { margin-top: auto; }

/* Níveis de empresa */
.rf-nivel__valor { font-size: var(--wp--preset--font-size--medio); margin: 0; }
.rf-nivel__valor strong { color: var(--rf-petroleo); }
.rf-nivel { border-top: 6px solid #9aa5a8; }
.rf-nivel--ouro { border-top-color: var(--rf-amarelo); }
.rf-nivel--diamante { border-top-color: var(--rf-petroleo); }

/* PIX e copiar */
.rf-pix { padding: 1.25rem 1.5rem; border: 1px dashed var(--rf-petroleo); border-radius: var(--rf-raio); margin-block: var(--wp--preset--spacing--30); }
.rf-pix p { margin: 0 0 0.75rem; }
.rf-copiar { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }
.rf-copiar code { padding: 0.5rem 0.75rem; background: var(--rf-areia); border-radius: 8px; font-size: 1rem; word-break: break-all; }
.rf-copiar button { cursor: pointer; font: inherit; }

/* Vaquinhas */
.rf-progresso { height: 12px; border-radius: 999px; background: var(--rf-linha); overflow: hidden; margin: 0.5rem 0; }
.rf-progresso span { display: block; height: 100%; background: var(--rf-amarelo); border-radius: inherit; }
.rf-vaquinha__numeros { display: flex; flex-wrap: wrap; gap: 1rem; margin: 0 0 0.75rem; }
.rf-vaquinha__numeros dt { font-size: 0.8125rem; color: var(--rf-cinza); }
.rf-vaquinha__numeros dd { margin: 0; font-weight: 800; color: var(--rf-petroleo-escuro); }
.rf-vaquinha .rf-botao { align-self: flex-start; }
.rf-vaquinha__pix { margin-top: 0.75rem; font-size: 0.9375rem; }
.rf-vaquinha__pix summary { cursor: pointer; text-decoration: underline; }

/* Mutirões */
.rf-mutiroes { list-style: none; padding: 0; margin: var(--wp--preset--spacing--30) 0; display: grid; gap: 0.75rem; }
.rf-mutirao { display: flex; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid var(--rf-linha); border-radius: var(--rf-raio); flex-wrap: wrap; }
.rf-mutirao__data { display: flex; flex-direction: column; align-items: center; min-width: 64px; padding: 0.5rem; border-radius: 10px; background: var(--rf-petroleo); color: #fff; text-transform: uppercase; font-size: 0.75rem; line-height: 1.2; }
.rf-mutirao__data strong { font-size: 1.75rem; }
.rf-mutirao__info { flex: 1; min-width: 200px; }
.rf-mutirao__info h3 { margin: 0; }
.rf-mutirao__info p { margin: 0.25rem 0 0; color: var(--rf-cinza); }

/* Parceiros */
.rf-so-com-parceiros:not(:has(.rf-parceiro)) { display: none; }
.rf-parceiros__tipo { font-size: var(--wp--preset--font-size--normal); text-transform: uppercase; letter-spacing: 0.06em; color: var(--rf-cinza); margin-top: 1.5rem; }
.rf-parceiros { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; align-items: center; }
.rf-parceiro img { height: 56px; width: auto; filter: grayscale(1); opacity: 0.8; }
.rf-parceiro a:hover img { filter: none; opacity: 1; }

/* Perguntas (bloco Detalhes) */
.wp-block-details { border: 1px solid var(--rf-linha); border-radius: var(--rf-raio); padding: 0.875rem 1.25rem; margin-block: 0.5rem; }
.wp-block-details summary { cursor: pointer; font-weight: 700; color: var(--rf-petroleo-escuro); min-height: 28px; }
.wp-block-details[open] summary { margin-bottom: 0.5rem; }

/* ==========================================================================
   FASE 4 — obras, imprensa, FAQ e cookies
   ========================================================================== */

/* Antes e depois */
.rf-ads { display: grid; gap: var(--wp--preset--spacing--40); margin-block: var(--wp--preset--spacing--30); grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.rf-ad { margin: 0; }
.rf-ad__quadro { position: relative; overflow: hidden; border-radius: var(--rf-raio); aspect-ratio: 4 / 3; background: var(--rf-areia); user-select: none; }
.rf-ad__quadro img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rf-ad__depois { position: absolute; inset: 0; clip-path: inset(0 0 0 var(--rf-ad)); }
.rf-ad__alca { position: absolute; top: 0; bottom: 0; left: var(--rf-ad); width: 3px; margin-left: -1.5px; background: #fff; box-shadow: 0 0 6px rgb(0 0 0 / 40%); pointer-events: none; }
.rf-ad__alca::after { content: "↔"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--rf-petroleo-escuro); display: grid; place-items: center; font-weight: 800; box-shadow: var(--rf-sombra); }
.rf-ad__rotulo { position: absolute; top: 0.75rem; padding: 0.25rem 0.625rem; border-radius: 999px; background: rgb(29 43 48 / 75%); color: #fff; font-size: 0.8125rem; font-weight: 700; pointer-events: none; }
.rf-ad__rotulo--antes { left: 0.75rem; }
.rf-ad__rotulo--depois { right: 0.75rem; }
.rf-ad__controle { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; }
.rf-ad__quadro:has(.rf-ad__controle:focus-visible) { outline: 3px solid var(--rf-petroleo-escuro); outline-offset: 3px; }
.rf-ad figcaption { margin: 0 0 0.75rem; text-align: center; color: var(--rf-petroleo); font-size: 1.25rem; font-weight: 700; line-height: 1.25; }
/* Largura total: os quadros lado a lado (4 no computador, 2 no tablet, 1 no celular). */
.rf-ads.alignfull { box-sizing: border-box; padding-inline: clamp(16px, 2.5vw, 48px); }
@media (min-width: 600px) { .rf-ads.alignfull { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .rf-ads.alignfull { grid-template-columns: repeat(4, 1fr); gap: clamp(1rem, 2.5vw, 3rem); } }

/* Portfólio */
.rf-filtros { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.rf-filtros button { min-height: 44px; padding: 0.5rem 1rem; border-radius: 999px; border: 1.5px solid var(--rf-linha); background: #fff; color: var(--rf-petroleo-escuro); font: inherit; font-weight: 700; cursor: pointer; }
.rf-filtros button[aria-pressed=true] { background: var(--rf-petroleo); border-color: var(--rf-petroleo); color: #fff; }
.rf-portfolio__contagem { color: var(--rf-cinza); font-size: 0.875rem; margin: 0 0 0.5rem; }
.rf-obra[hidden] { display: none !important; }
.rf-obra__abrir { display: flex; flex-direction: column; width: 100%; height: 100%; padding: 0; border: 0; background: none; text-align: left; font: inherit; color: inherit; cursor: pointer; position: relative; }
.rf-obra__abrir img, .rf-obra__abrir .rf-foto-pendente { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; }
.rf-obra__legenda { padding: 1rem 1.25rem; font-weight: 700; color: var(--rf-petroleo-escuro); }
.rf-obra__qtd { position: absolute; top: 0.75rem; right: 0.75rem; padding: 0.25rem 0.625rem; border-radius: 999px; background: rgb(29 43 48 / 75%); color: #fff; font-size: 0.75rem; font-weight: 700; }
.rf-obra__abrir:hover .rf-obra__legenda { text-decoration: underline; }

/* Galeria em modal */
.rf-galeria { width: min(960px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); padding: 0; border: 0; border-radius: var(--rf-raio); background: #111; color: #fff; }
.rf-galeria::backdrop { background: rgb(0 0 0 / 80%); }
.rf-galeria__topo { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.5rem 0.5rem 0.5rem 1rem; }
.rf-galeria__titulo { margin: 0; font-weight: 700; }
.rf-galeria__fechar { width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgb(255 255 255 / 15%); color: #fff; font-size: 1.75rem; cursor: pointer; }
.rf-galeria__foto { margin: 0; }
.rf-galeria__foto img { display: block; width: 100%; max-height: calc(100vh - 12rem); object-fit: contain; background: #000; }
.rf-galeria__posicao { padding: 0.5rem 1rem; font-size: 0.875rem; opacity: 0.8; }
.rf-galeria__nav { display: flex; justify-content: space-between; padding: 0 1rem 1rem; }
.rf-galeria__nav button { min-height: 44px; padding: 0.5rem 1rem; border-radius: 999px; border: 1.5px solid rgb(255 255 255 / 40%); background: transparent; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }

/* Na mídia */
.rf-midia { border: 1px solid var(--rf-linha); border-radius: var(--rf-raio); padding: 1.25rem; display: flex; flex-direction: column; gap: 0.5rem; list-style: none; }
.rf-midia__logo { height: 48px; display: flex; align-items: center; }
.rf-midia__logo img { max-height: 48px; width: auto; filter: grayscale(1); }
.rf-midia__veiculo { font-weight: 800; color: var(--rf-cinza); text-transform: uppercase; letter-spacing: 0.04em; }
.rf-midia__titulo { margin: 0; font-size: var(--wp--preset--font-size--medio); }
.rf-midia__titulo a { color: var(--rf-petroleo-escuro); }

/* Notícias */
.rf-categorias { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; margin: 0 0 var(--wp--preset--spacing--30); }
.rf-categorias li { margin: 0; }
.rf-categorias a { display: inline-block; padding: 0.375rem 0.875rem; border-radius: 999px; background: var(--rf-areia); text-decoration: none; font-weight: 600; font-size: 0.875rem; }
.rf-categorias a:hover { background: var(--rf-petroleo); color: #fff; }
.rf-categorias .current-cat a { background: var(--rf-petroleo); color: #fff; }
.rf-carregar-mais { margin-top: var(--wp--preset--spacing--40); }
.rf-carregar-mais a { display: inline-flex; align-items: center; min-height: 48px; padding: 0.75rem 2rem; border-radius: 999px; border: 2px solid var(--rf-petroleo); color: var(--rf-petroleo); font-weight: 700; text-decoration: none; }
.rf-carregar-mais a:hover { background: var(--rf-petroleo); color: #fff; }
.rf-card--noticia .wp-block-post-featured-image img { border-radius: 0; }
.rf-card--noticia:not(:has(.wp-block-post-featured-image img))::before { content: ""; display: block; aspect-ratio: 4 / 3; background: repeating-linear-gradient(135deg, var(--rf-areia) 0 14px, #e3eaec 14px 28px); }
.rf-card--noticia .wp-block-post-excerpt__more-text { display: none; }

/* FAQ */
.rf-faqs { margin-block: var(--wp--preset--spacing--30); }

/* Kit de imprensa: números */
.rf-numeros-kit { background: var(--rf-petroleo); color: #fff; border-radius: var(--rf-raio); padding: var(--wp--preset--spacing--30); }

/* Aviso de cookies */
.rf-cookies { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 70; max-width: 560px; padding: 1.25rem; border-radius: var(--rf-raio); background: #fff; color: var(--rf-tinta); box-shadow: 0 8px 32px rgb(0 0 0 / 25%); }
.rf-cookies p { margin: 0 0 0.75rem; font-size: 0.9375rem; }
.rf-cookies__botoes { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.rf-cookies__botoes button { cursor: pointer; font: inherit; font-weight: 700; }
.rf-cookies[hidden] { display: none; }

/* --------------------------------------------------------------------------
   MIV 2026: grafismos da marca (ladrilhos recortados dos PNG enviados pela ReforAMAR,
   ver scripts/recortar-grafismos.mjs) e o ">" amarelo antes dos títulos.
   -------------------------------------------------------------------------- */
:root {
	--rf-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20' fill='none'%3E%3Cpath stroke='%23f5af00' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='m2 2 8 8-8 8'/%3E%3C/svg%3E");
}

main h1:not(.screen-reader-text)::before,
main :where(.entry-content, .rf-secao, .wp-block-post-content) > h2.wp-block-heading:not(.screen-reader-text):not(.has-text-align-center)::before {
	content: ""; display: inline-block; width: 0.42em; height: 0.72em; margin-right: 0.4em; vertical-align: -0.02em;
	background: var(--rf-chevron) no-repeat center / contain;
}

/* Canto superior direito das páginas internas: triângulo petróleo com casinhas e colchetes (como no manual). */
.rf-principal { position: relative; isolation: isolate; }
.rf-principal:not(.rf-principal--cheia):not(:has(> .wp-block-cover:first-child))::before {
	content: ""; position: absolute; z-index: -1; top: 0; right: 0; pointer-events: none;
	width: clamp(96px, 20vw, 280px); aspect-ratio: 1;
	background: var(--rf-petroleo) url("../img/grafismos/colchetes-amarelos.png") 0 0 / 86px auto;
	clip-path: polygon(0 0, 100% 0, 100% 100%);
}

/* Rodapé: faixa amarela com os telhados brancos (o triângulo amarelo do manual). */
footer.wp-block-template-part::before { content: ""; display: block; height: 24px; background: var(--rf-amarelo) url("../img/grafismos/telhados-brancos.png") 0 0 / 112px auto; }

/* --------------------------------------------------------------------------
   Carrossel da página inicial (out/2026)
   No celular: foto (recorte da direita, onde está a pessoa) e texto embaixo, na cor da faixa.
   A partir de 1024px: foto inteira de fundo e texto sobre o lado liso da imagem.
   -------------------------------------------------------------------------- */
.rf-carrossel { position: relative; margin-block: 0 !important; background: var(--rf-petroleo-escuro); }
.rf-carrossel__trilho { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.rf-carrossel__trilho::-webkit-scrollbar { display: none; }
.rf-carrossel__trilho:focus-visible { outline: 3px solid var(--rf-amarelo); outline-offset: -3px; }
.rf-slide { --rf-slide-cor: #1d5c72; flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; position: relative; display: flex; flex-direction: column; background: var(--rf-slide-cor); color: #fff; }
.rf-slide--amarelo { --rf-slide-cor: #f5af00; color: var(--rf-tinta); }
.rf-slide--branco { --rf-slide-cor: #fff; color: var(--rf-tinta); }
.rf-slide--branco .rf-slide__titulo { color: var(--rf-petroleo) !important; }
.rf-slide__img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: right center; }
.rf-slide__conteudo { flex: 1; box-sizing: border-box; padding: 1.5rem 16px 2.5rem; display: flex; flex-direction: column; align-items: flex-start; gap: 0.75rem; }
.rf-slide__titulo { margin: 0; color: inherit !important; font-size: clamp(1.75rem, 4.2vw, 3.25rem); font-weight: 800; line-height: 1.05; text-transform: uppercase; }
.rf-slide__texto { margin: 0 0 0.5rem; font-size: clamp(1rem, 1.7vw, 1.375rem); font-weight: 700; line-height: 1.25; text-transform: uppercase; max-width: 28ch; }
.rf-slide .rf-botao { text-transform: uppercase; }
@media (min-width: 1024px) {
	.rf-slide { display: block; aspect-ratio: 1920 / 600; max-height: 640px; }
	.rf-slide__img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
	.rf-slide__conteudo { position: relative; z-index: 1; height: 100%; justify-content: center; padding: 2rem max(16px, calc((100% - 1200px) / 2)); }
	.rf-slide__conteudo > * { max-width: min(40%, 520px); }
}

/* Setas nas laterais (aparecem só com JavaScript). No celular, arrasta-se com o dedo. */
.rf-carrossel__seta { position: absolute; top: 50%; z-index: 2; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: rgb(255 255 255 / 85%); color: var(--rf-petroleo-escuro); font: inherit; font-size: 1.75rem; line-height: 1; cursor: pointer; box-shadow: 0 2px 8px rgb(0 0 0 / 15%); opacity: 0; transition: opacity 0.2s; }
.rf-carrossel__seta[hidden] { display: none; }
.rf-carrossel__seta--anterior { left: 16px; }
.rf-carrossel__seta--proxima { right: 16px; }
.rf-carrossel:hover .rf-carrossel__seta, .rf-carrossel__seta:focus-visible { opacity: 1; }
.rf-carrossel__seta:focus-visible { outline: 3px solid var(--rf-amarelo); outline-offset: 2px; }
@media (max-width: 1023px) { .rf-carrossel__seta { display: none; } }

/* --------------------------------------------------------------------------
   Movimento reduzido
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* --------------------------------------------------------------------------
   Nota Potiguar (igual à página do site atual; só o menu e o rodapé são do site novo)
   -------------------------------------------------------------------------- */
.rf-np { padding-top: var(--wp--preset--spacing--40); }
.rf-np__banner { margin-block: 0 var(--wp--preset--spacing--30); }
.rf-np__banner img { display: block; width: 100%; max-width: 800px; height: auto; margin-inline: auto; }
.rf-np__cadastro { margin-block: var(--wp--preset--spacing--40); }
.rf-np__quadro { display: block; width: 100%; height: 1450px; border: 0; border-radius: var(--rf-raio); background: var(--rf-areia); }
@media (max-width: 700px) { .rf-np__quadro { height: 1290px; } }
.rf-np__nota { margin-top: 0.75rem; font-size: 0.875rem; color: var(--rf-cinza); text-align: center; }
.rf-np__app { margin-block: var(--wp--preset--spacing--50); gap: var(--wp--preset--spacing--40); }
.rf-np__lojas { display: grid; gap: 1rem; justify-items: start; margin: 1.5rem 0 0; }
.rf-np__lojas a { display: block; line-height: 0; }
.rf-np__lojas img { display: block; width: min(100%, 300px); height: auto; }
.rf-np__celulares { margin: 0; }
.rf-np__celulares img { display: block; width: 100%; max-width: 480px; height: auto; margin-inline: auto; }
.rf-np__login .wp-block-button__link { background: var(--rf-petroleo); color: #fff; border-radius: 999px; font-weight: 800; }
.rf-np__login .wp-block-button__link::before { content: "\2713"; margin-right: 0.5rem; }
.rf-np__passos { margin-block: var(--wp--preset--spacing--40); gap: var(--wp--preset--spacing--30); }
.rf-np__passos img { display: block; width: 100%; height: auto; border-radius: var(--rf-raio); box-shadow: var(--rf-sombra); }
.rf-np__porque { padding-bottom: var(--wp--preset--spacing--40); }

/* --------------------------------------------------------------------------
   Missão, visão e valores (Quem somos): cartões amarelos da marca, com símbolo,
   título com traço e brilho laranja no canto, no estilo do site de referência.
   -------------------------------------------------------------------------- */
.rf-mvv > .rf-cartao { position: relative; overflow: hidden; background: var(--rf-amarelo); border: 0; border-radius: 28px; padding: 2.25rem 2rem 2.5rem; color: var(--rf-petroleo-escuro); box-shadow: 0 18px 40px -20px rgb(30 54 64 / 40%); }
.rf-mvv > .rf-cartao::after { content: ""; position: absolute; top: 0; right: 0; width: 55%; height: 40%; pointer-events: none; background: radial-gradient(circle at 100% 0, rgb(236 129 25 / 90%) 0, rgb(236 129 25 / 0%) 70%); }
.rf-mvv > .rf-cartao::before { content: ""; position: relative; z-index: 1; display: block; width: 64px; height: 64px; margin-bottom: 1.25rem; background: no-repeat center / contain; }
.rf-mvv > .rf-cartao:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2064%2064%27%20fill%3D%27none%27%20stroke%3D%27%231e3640%27%20stroke-width%3D%272.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2730%27%20cy%3D%2734%27%20r%3D%2725%27%2F%3E%3Ccircle%20cx%3D%2730%27%20cy%3D%2734%27%20r%3D%2716%27%2F%3E%3Ccircle%20cx%3D%2730%27%20cy%3D%2734%27%20r%3D%277%27%2F%3E%3Cpath%20d%3D%27M30%2034%2058%206M50%206h8v8%27%2F%3E%3C%2Fsvg%3E"); }
.rf-mvv > .rf-cartao:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2064%2064%27%20fill%3D%27none%27%20stroke%3D%27%231e3640%27%20stroke-width%3D%272.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2034C14%2018%2050%2018%2060%2034%2050%2050%2014%2050%204%2034Z%27%2F%3E%3Ccircle%20cx%3D%2732%27%20cy%3D%2734%27%20r%3D%279%27%2F%3E%3Ccircle%20cx%3D%2732%27%20cy%3D%2734%27%20r%3D%273%27%2F%3E%3Cpath%20d%3D%27M32%206v8M14%2012l4%206M50%2012l-4%206%27%2F%3E%3C%2Fsvg%3E"); }
.rf-mvv > .rf-cartao:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2064%2064%27%20fill%3D%27none%27%20stroke%3D%27%231e3640%27%20stroke-width%3D%272.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M28%2030V12M28%2022c-8%200-10-8-10-8%208%200%2010%204%2010%208ZM28%2017c8%200%2010-8%2010-8-8%200-10%204-10%208Z%27%2F%3E%3Cpath%20d%3D%27M6%2044l12-4%2018%204c6%200%2010%204%206%208l-14%202M36%2044l12-6%2010%204-2%2012-22%206-18-4Z%27%2F%3E%3C%2Fsvg%3E"); }
.rf-mvv > .rf-cartao > * { position: relative; z-index: 1; color: var(--rf-petroleo-escuro); }
.rf-mvv > .rf-cartao h3 { margin-top: 0; font-size: clamp(1.5rem, 2.2vw, 2rem); color: var(--rf-petroleo-escuro); }
.rf-mvv > .rf-cartao h3::after { content: ""; display: block; width: 72px; height: 4px; margin-top: 0.75rem; border-radius: 2px; background: var(--rf-petroleo); }
.rf-mvv > .rf-cartao strong { font-weight: 800; }

/* Botão sozinho, centralizado na coluna da página. */
.rf-centralizado { display: flex; justify-content: center; margin-block: var(--wp--preset--spacing--30); }
