/* Versão pública final — referência /versaofinal/files (agosto de 2026). */
:root {
	--pf-blue: #0f2557;
	--pf-blue-2: #17356f;
	--pf-blue-3: #2b4e9b;
	--pf-yellow: #ffc53d;
	--pf-yellow-2: #e2a400;
	--pf-paper: #f1f4f9;
	--pf-white: #fff;
	--pf-ink: #14161b;
	--pf-muted: #5b6373;
	--pf-border: #e1e6ef;
	--pf-green: #1f7a5a;
	--pf-green-soft: #e4f6ee;
	/* ── estilo "Mira" (shadcn), aplicado ao site inteiro em 14/09/2026 ───────
	   Aprovado pelo dono depois de ver no painel. SÓ O ESTILO: nenhuma cor mudou.
	   O preset vem todo em oklch(x 0 0) — croma zero —, então não havia cor a pegar.
	   No Mira quem desenha é a BORDA; a sombra recua a uma camada discreta. */
	--pf-shadow: 0 1px 2px rgba(15, 37, 87, .06);
	/* A escala de raio, que antes não existia: eram 27 valores fixos entre 9px e
	   20px, espalhados. Agora saem todos daqui. Base = 0.625rem, do preset. */
	--pf-radius: 10px;
	--pf-radius-lg: 12px;   /* cartões */
	--pf-radius-sm: 8px;    /* campos e botões */
	--pf-shell: 1180px;
}

.pf-site, .pf-site button, .pf-site input, .pf-site select, .pf-site textarea { font-family: "Instrument Sans", system-ui, sans-serif; }
.pf-site.rt-body { padding-top: 0 !important; background: var(--pf-paper); color: var(--pf-ink); }
.pf-site h1, .pf-site h2, .pf-site h3, .pf-site h4, .pf-site strong, .pf-site .pf-btn { font-family: Archivo, system-ui, sans-serif; letter-spacing: -.02em; }
.pf-site *, .pf-site *::before, .pf-site *::after { box-sizing: border-box; }
.pf-site a { color: inherit; }
.pf-site img { max-width: 100%; }
.pf-main { min-height: 70vh; overflow: clip; }
.pf-shell { width: min(var(--pf-shell), calc(100% - 40px)); margin-inline: auto; }
.pf-narrow { max-width: 820px; }

/* Header */
.pf-site .pf-header { position: sticky; inset: 0 0 auto; z-index: 900; height: 76px; background: #fff; border-bottom: 1px solid var(--pf-border); transform: none; }
.pf-site .pf-header.is-hidden { transform: none; }
.pf-header-inner { width: min(var(--pf-shell), calc(100% - 40px)); height: 100%; margin: auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 34px; }
.pf-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--pf-blue); line-height: 1; }
.pf-brand .custom-logo { width: auto; height: 50px; object-fit: contain; }
/* 1.2.3: a logo nítida do tema tem width/height no HTML; sem width:auto o menu ☰ a espremia (max-height 36px). */
.rt-drawer-logo img.custom-logo { width: auto; height: 44px; max-height: none; }
.pf-brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--pf-blue); color: var(--pf-yellow); font: 800 24px/1 Archivo, sans-serif; border: 3px solid var(--pf-yellow); }
.pf-brand strong { display: block; font-size: 18px; letter-spacing: .04em; }
.pf-brand small { display: block; margin-top: 4px; font-size: 10px; letter-spacing: .04em; color: var(--pf-muted); }
.pf-nav { display: flex; align-items: center; justify-content: center; gap: 4px; }
.pf-nav a { position: relative; padding: 14px 13px; color: #343a47; text-decoration: none; font: 600 14px/1 Archivo, sans-serif; }
.pf-nav a::after { content: ""; position: absolute; left: 13px; right: 13px; bottom: 5px; height: 3px; border-radius: 2px; background: var(--pf-yellow); transform: scaleX(0); transition: transform .2s; }
.pf-nav a:hover::after, .pf-nav a.is-active::after { transform: scaleX(1); }
.pf-area-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; border-radius: var(--pf-radius-sm); background: var(--pf-yellow); color: var(--pf-blue); text-decoration: none; font: 700 13px/1 Archivo, sans-serif; box-shadow: 0 5px 14px rgba(226,164,0,.18); }
.pf-area-button:hover { background: #ffd05e; transform: translateY(-1px); }
.pf-site .pf-menu-toggle { display: none !important; width: 42px; height: 42px; border: 0; padding: 9px; background: transparent; color: var(--pf-blue); }
.pf-menu-toggle svg { width: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

/* Signature/covers */
.pf-court { position: relative; isolation: isolate; color: #fff; background: var(--pf-blue); }
.pf-court::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .15; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 440'%3E%3Cg fill='none' stroke='%23fff' stroke-width='3'%3E%3Crect x='55' y='35' width='1090' height='370' rx='2'/%3E%3Cpath d='M600 35v370M55 220h1090'/%3E%3Ccircle cx='600' cy='220' r='76'/%3E%3Cpath d='M55 130h175v180H55m1090-180H970v180h175'/%3E%3Ccircle cx='230' cy='220' r='50'/%3E%3Ccircle cx='970' cy='220' r='50'/%3E%3C/g%3E%3C/svg%3E"); background-position: center; background-size: cover; }
.pf-cover { padding: 50px 0 58px; }
.pf-cover .pf-shell { max-width: 960px; }
.pf-cover h1 { max-width: 850px; margin: 12px 0 14px; color: #fff; font-size: clamp(36px, 5vw, 62px); line-height: 1.02; font-weight: 800; }
.pf-cover > .pf-shell > p, .pf-cover-description { max-width: 720px; margin: 0; color: rgba(255,255,255,.82); font-size: 18px; line-height: 1.6; }
.pf-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; color: rgba(255,255,255,.68); font-size: 13px; }
.pf-breadcrumb a { text-decoration: none; }
.pf-eyebrow { display: block; margin-bottom: 9px; color: var(--pf-blue-3); font: 700 12px/1.2 Archivo, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.pf-eyebrow-light { color: var(--pf-yellow); }

/* Shared */
.pf-section { padding: 76px 0; }
.pf-white { background: #fff; }
.pf-section h2 { margin: 0; color: var(--pf-blue); font-size: clamp(28px, 4vw, 42px); line-height: 1.08; font-weight: 800; }
.pf-section-head { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 32px; }
.pf-section-head > a { flex: none; color: var(--pf-blue-3); font: 700 14px Archivo, sans-serif; text-decoration: none; }
.pf-lead { color: var(--pf-muted); font-size: 18px; line-height: 1.65; }
.pf-btn, .pf-site .rcon-form-enviar, .pf-site .recriando-auth-submit { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 21px; border: 0; border-radius: var(--pf-radius-sm); font: 700 14px/1 Archivo, sans-serif; text-decoration: none; cursor: pointer; transition: transform .2s, background .2s; }
.pf-btn:hover { transform: translateY(-2px); }
/* 🔴 POR QUE ESTAS REGRAS COMEÇAM COM `.pf-site`
   A linha 32 diz `.pf-site a { color: inherit }`, que é (0,1,1) — uma classe E um
   elemento. As regras de botão eram `.pf-btn-azul`, (0,1,0). O link vencia o botão.

   Consequência, medida em 14/09/2026: botão feito com <a> pegava a cor do texto ao
   redor em vez da própria. "Abrir" saía quase preto sobre azul escuro (1,3:1) e
   "Quero receber" saía branco sobre amarelo (1,58:1) — os dois ilegíveis. O mesmo
   botão feito com <button> ficava certo, porque a regra do link não o alcança.

   Defeito ANTIGO, não do estilo Mira: só apareceu porque o dono olhou a tela.

   O prefixo dá (0,2,0), que vence (0,1,1) sem `!important`. Mexer na linha 32 seria
   pior: aquele `inherit` é o que faz link de texto herdar a cor da seção escura.
   ──────────────────────────────────────────────────────────────────────────── */
.pf-site .pf-btn-yellow { background: var(--pf-yellow); color: var(--pf-blue); }
.pf-site .pf-btn-yellow:hover { background: #ffd05e; }
.pf-site .pf-btn-blue { background: var(--pf-blue); color: #fff; }
.pf-site .pf-btn-blue:hover { background: var(--pf-blue-2); color: #fff; }
.pf-tag { display: inline-flex; align-items: center; min-height: 25px; padding: 0 9px; border-radius: 999px; background: #e8eefc; color: var(--pf-blue-3); font: 700 10px/1 Archivo, sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.pf-tag-yellow { background: var(--pf-yellow); color: var(--pf-blue); }
.pf-tag-green { background: var(--pf-green-soft); color: var(--pf-green); }
.pf-empty { max-width: 700px; margin: 20px auto; padding: 44px; border: 1px solid var(--pf-border); border-radius: var(--pf-radius-lg); background: #fff; text-align: center; }
.pf-empty h2, .pf-empty h3 { color: var(--pf-blue); }
.pf-empty p { color: var(--pf-muted); }

/* Home */
.pf-home-hero { min-height: 560px; display: grid; align-items: center; padding: 64px 0; }
.pf-hero-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); align-items: center; gap: 65px; }
.pf-hero-copy h1 { max-width: 760px; margin: 14px 0 18px; color: #fff; font-size: clamp(42px, 6vw, 72px); line-height: .98; font-weight: 800; }
.pf-hero-copy h1 em { color: var(--pf-yellow); font-style: normal; }
.pf-hero-copy > p { max-width: 680px; color: rgba(255,255,255,.82); font-size: 19px; line-height: 1.6; }
.pf-search { display: flex; width: 100%; max-width: 660px; margin-top: 28px; padding: 6px; border-radius: var(--pf-radius); background: #fff; box-shadow: 0 14px 34px rgba(0,0,0,.18); }
.pf-search input { flex: 1; min-width: 0; height: 48px; padding: 0 16px; border: 0; outline: 0; color: var(--pf-ink); font-size: 16px; background: transparent; }
.pf-search button { min-width: 100px; border: 0; border-radius: var(--pf-radius-sm); background: var(--pf-yellow); color: var(--pf-blue); font: 700 14px Archivo, sans-serif; cursor: pointer; }
.pf-quick { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; color: rgba(255,255,255,.68); font-size: 14px; }
.pf-quick a { padding: 7px 13px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: #fff; text-decoration: none; }
.pf-featured-activity { display: block; padding: 25px; border: 1px solid rgba(255,255,255,.24); border-radius: var(--pf-radius-lg); color: #fff; background: rgba(255,255,255,.1); backdrop-filter: blur(8px); text-decoration: none; box-shadow: 0 20px 50px rgba(0,0,0,.15); }
.pf-featured-activity h2 { margin: 18px 0 8px; color: #fff; font-size: 25px; }
.pf-featured-activity p { color: rgba(255,255,255,.78); line-height: 1.5; }
.pf-featured-activity strong { color: var(--pf-yellow); font-size: 13px; }
.pf-court-mini { height: 145px; display: flex; align-items: center; justify-content: space-around; margin-top: 18px; border: 2px solid rgba(255,255,255,.35); background: linear-gradient(90deg, transparent 49.5%,rgba(255,255,255,.25) 50%,transparent 50.5%); font-size: 27px; }
.pf-stage-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.pf-stage-card { min-height: 190px; display: flex; flex-direction: column; justify-content: end; padding: 24px; border: 1px solid var(--pf-border); border-radius: var(--pf-radius-lg); background: #fff; text-decoration: none; transition: .2s; }
.pf-stage-card:hover { transform: translateY(-3px); border-color: #b9c7e7; box-shadow: var(--pf-shadow); }
.pf-stage-card > span { font-size: 40px; margin-bottom: auto; }
.pf-stage-card h3 { margin: 22px 0 5px; color: var(--pf-blue); font-size: 20px; }
.pf-stage-card small { color: var(--pf-muted); }
.pf-post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.pf-post-grid-home .pf-post-featured { grid-column: span 2; grid-row: span 2; }
.pf-post-grid-home .pf-post-featured .pf-post-cover { min-height: 300px; }
.pf-post-card { overflow: hidden; border: 1px solid var(--pf-border); border-radius: var(--pf-radius-lg); background: #fff; transition: .2s; }
.pf-post-card:hover { transform: translateY(-3px); box-shadow: var(--pf-shadow); }
.pf-post-cover { min-height: 170px; display: grid; place-items: center; background: linear-gradient(145deg,var(--pf-blue-3),var(--pf-blue)); background-position: center; background-size: cover; text-decoration: none; font-size: 46px; }
.pf-post-cover.has-image { position: relative; }
.pf-post-cover.has-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(15,37,87,.2),transparent); }
.pf-post-body { padding: 20px; }
.pf-post-body h3 { margin: 12px 0 9px; color: var(--pf-blue); font-size: 19px; line-height: 1.22; }
.pf-post-body h3 a { text-decoration: none; }
.pf-post-body p { margin: 0 0 15px; color: var(--pf-muted); line-height: 1.48; }
.pf-post-body small { color: #7b8392; font-size: 11px; }
.pf-date-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; }
.pf-date-card { display: flex; align-items: center; gap: 15px; padding: 19px; border: 1px solid var(--pf-border); border-radius: var(--pf-radius); background: #fff; text-decoration: none; transition: .2s; }
.pf-date-card:hover { border-color: var(--pf-yellow-2); transform: translateY(-2px); }
.pf-date-card > span { font-size: 29px; }
.pf-date-card h3 { margin: 0 0 4px; color: var(--pf-blue); font-size: 15px; }
.pf-date-card small { color: var(--pf-muted); }
.pf-method-layout { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 60px; }
.pf-method-list { margin-top: 28px; }
.pf-method-list article { display: flex; gap: 16px; padding: 17px 0; border-top: 1px solid var(--pf-border); }
.pf-method-list b { flex: none; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--pf-yellow); color: var(--pf-blue); }
.pf-method-list h3 { margin: 0 0 5px; color: var(--pf-blue); font-size: 16px; }
.pf-method-list p { margin: 0; color: var(--pf-muted); line-height: 1.45; }
.pf-whatsapp { display: flex; flex-direction: column; align-items: start; justify-content: center; min-height: 310px; padding: 38px; border-radius: var(--pf-radius-lg); color: #fff; background: var(--pf-blue); box-shadow: var(--pf-shadow); }
.pf-whatsapp h2 { margin: 8px 0 12px; color: #fff; font-size: 32px; }
.pf-whatsapp p { color: rgba(255,255,255,.78); line-height: 1.6; }
.pf-whatsapp .pf-btn { margin-top: 8px; }
.pf-about-grid, .pf-bio-grid { display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: 64px; }
.pf-about-photo { min-height: 400px; display: grid; place-items: center; overflow: hidden; border-radius: var(--pf-radius-lg); background: var(--pf-blue); color: var(--pf-yellow); font: 800 70px Archivo; }
.pf-about-photo img { width: 100%; height: 100%; min-height: 400px; object-fit: cover; }
.pf-authority { display: flex; flex-wrap: wrap; gap: 24px; margin: 27px 0; }
.pf-authority span { color: var(--pf-muted); font-size: 13px; }
.pf-authority strong { display: block; color: var(--pf-blue); font-size: 28px; }

/* Products */
.pf-site .rt-produtos-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.pf-site .rt-produto { overflow: hidden; border: 1px solid var(--pf-border); border-radius: var(--pf-radius-lg); background: #fff; box-shadow: none; }
.pf-site .rt-produto-capa { width: 100%; height: 210px; object-fit: cover; }
.pf-site .rt-produto-corpo { padding: 25px; }
.pf-site .rt-produto-titulo { color: var(--pf-blue); font-size: 22px; }
.pf-site .rt-produto-sub { color: var(--pf-muted); line-height: 1.5; }
.pf-site .rt-produto-preco strong { color: var(--pf-blue); font-size: 25px; }
.pf-site .rt-produto .rt-btn { background: var(--pf-yellow); color: var(--pf-blue); }
.pf-products-complete { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.pf-products-complete > .rt-produtos-grid { display: contents; }
.pf-recriar-product { display: flex; flex-direction: column; align-items: start; padding: 25px; border: 2px solid var(--pf-yellow); border-radius: var(--pf-radius-lg); background: var(--pf-blue); color: #fff; }
.pf-recriar-product h3 { margin: 24px 0 10px; color: #fff; font-size: 24px; }
.pf-recriar-product p { color: rgba(255,255,255,.76); line-height: 1.55; }
.pf-recriar-product .pf-product-note { color: var(--pf-yellow); font-size: 12px; }
.pf-recriar-product .pf-btn { width: 100%; margin-top: auto; background: var(--pf-yellow); color: var(--pf-blue); }

/* Blog/article */
.pf-cover-search { max-width: 600px; }
.pf-filter-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: -12px 0 30px; }
.pf-filter-pills a { padding: 9px 13px; border: 1px solid var(--pf-border); border-radius: 999px; background: #fff; color: var(--pf-muted); text-decoration: none; font: 600 12px Archivo; }
.pf-filter-pills a:hover, .pf-filter-pills a.is-active { border-color: var(--pf-blue); color: var(--pf-blue); }
.pf-blog .pf-whatsapp { min-height: 0; flex-direction: row; align-items: center; justify-content: space-between; gap: 30px; margin-top: 64px; }
.pf-blog .pf-whatsapp > div { max-width: 700px; }
.pf-site .navigation.pagination { margin-top: 35px; }
.pf-site .nav-links { display: flex; justify-content: center; gap: 7px; }
/* 8.11: o WordPress põe a MESMA classe `page-numbers` no <ul> que envolve a lista
   (paginate_links type=list) — a regra da caixinha pegava o <ul> e empilhava tudo com
   marcador. A caixinha é só do número; o <ul> vira a fileira. */
.pf-site a.page-numbers, .pf-site span.page-numbers { min-width: 39px; height: 39px; display: grid; place-items: center; padding: 0 10px; border-radius: var(--pf-radius-sm); background: #fff; color: var(--pf-blue); text-decoration: none; }
.pf-site span.page-numbers.current { background: var(--pf-blue); color: #fff; }
.pf-site span.page-numbers.dots { background: transparent; }
.pf-site ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; list-style: none; margin: 35px 0 0; padding: 0; }
.pf-site ul.page-numbers li { display: block; margin: 0; }
.pf-article-head { padding: 50px 0 58px; }

/* ── a imagem do artigo no cabeçalho ──────────────────────────────────────────
   O cabeçalho já era a faixa azul com o desenho de quadra a 15% (`.pf-court`).
   A imagem entra ATRÁS dele, e uma camada azul forte entra por cima — senão o
   título branco cai sobre foto clara e some. A camada vai de 82% a 94% de baixo
   para cima: a parte de cima da foto respira, e onde o texto denso fica (título,
   linha do autor) o fundo é quase sólido.

   `::after` e não `::before` porque o `::before` já desenha a quadra; os dois
   ficam em z-index -1, e o `::after` pinta depois, cobrindo os dois.

   ⚠️ Medir o contraste depois de mexer aqui. Foi assim que o "Abrir" ilegível
   passou despercebido: o CSS parecia certo e a tela dizia outra coisa. */
.pf-article-head.has-image { background-position: center; background-size: cover; }
.pf-article-head.has-image::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(180deg, rgba(15, 37, 87, .82), rgba(15, 37, 87, .94));
}
.pf-article-shell { width: min(920px, calc(100% - 40px)); margin-inline: auto; }
.pf-article-head h1 { max-width: 890px; margin: 16px 0; color: #fff; font-size: clamp(37px,5.5vw,62px); line-height: 1.03; font-weight: 800; }
.pf-article-deck { max-width: 780px; color: rgba(255,255,255,.84); font-size: 19px; line-height: 1.55; }
.pf-author-line { display: flex; align-items: center; gap: 12px; margin-top: 28px; }
.pf-author-line img { border-radius: 50%; }
.pf-author-line span { display: flex; flex-direction: column; }
.pf-author-line small { margin-top: 3px; color: rgba(255,255,255,.65); }
.pf-article-layout { padding-block: 55px 75px; }
.pf-toc { margin-bottom: 38px; padding: 23px 26px; border-left: 5px solid var(--pf-yellow); border-radius: 0 13px 13px 0; background: #fff; }
.pf-toc > strong { color: var(--pf-blue); }
.pf-toc ol { columns: 2; margin: 13px 0 0; padding-left: 20px; }
.pf-toc li { break-inside: avoid; margin: 8px 0; color: var(--pf-muted); }
.pf-toc a { color: var(--pf-blue-3); text-decoration: none; }
.pf-article-content { max-width: 760px; margin-inline: auto; color: #252932; font-size: 17.5px; line-height: 1.75; }
.pf-article-content h2 { scroll-margin-top: 100px; margin: 52px 0 14px; color: var(--pf-blue); font-size: clamp(25px,3.5vw,34px); line-height: 1.15; }
.pf-article-content h3 { margin-top: 35px; color: var(--pf-blue); }
.pf-article-content a { color: var(--pf-blue-3); }
.pf-article-content blockquote { margin: 32px 0; padding: 23px 26px; border: 0; border-left: 5px solid var(--pf-yellow); border-radius: 0 12px 12px 0; background: #fff5d7; }
.pf-article-content img { height: auto; border-radius: var(--pf-radius); }

/* Activities */
.pf-filter-panel { position: relative; z-index: 2; margin-top: -20px; }
.pf-cascade { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; padding: 24px; border: 1px solid var(--pf-border); border-radius: var(--pf-radius-lg); background: #fff; box-shadow: var(--pf-shadow); }
.pf-filter-step { min-width: 0; }
.pf-step-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.pf-step-head > b { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; background: var(--pf-yellow); color: var(--pf-blue); }
.pf-step-head span { display: flex; flex-direction: column; }
.pf-step-head strong { color: var(--pf-blue); font-size: 14px; }
.pf-step-head small { color: var(--pf-muted); font-size: 10px; }
.pf-cascade select, .pf-cascade input, .rcon-form-input, .pf-login input[type="text"], .pf-login input[type="password"], .pf-login input[type="email"] { width: 100%; min-height: 48px; padding: 0 13px; border: 1px solid #ccd4e2; border-radius: var(--pf-radius-sm); background: #fff; color: var(--pf-ink); font-size: 16px; }
.pf-filter-search { grid-column: span 2; color: var(--pf-blue); font: 700 12px Archivo; }
.pf-filter-search span { display: block; margin-bottom: 8px; }
.pf-cascade > .pf-btn { align-self: end; }
.pf-clear { align-self: center; color: var(--pf-muted); font-size: 12px; }
.pf-results-head { margin-bottom: 26px; }
.pf-activity-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.pf-activity-card { overflow: hidden; border: 1px solid var(--pf-border); border-radius: var(--pf-radius-lg); background: #fff; transition: .2s; }
.pf-activity-card:hover { transform: translateY(-3px); box-shadow: var(--pf-shadow); }
.pf-activity-image { height: 165px; display: grid; place-items: center; background: linear-gradient(145deg,#315db3,var(--pf-blue)); background-size: cover; background-position: center; text-decoration: none; font-size: 42px; }
.pf-activity-card > div { padding: 20px; }
.pf-card-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.pf-activity-card h3 { margin: 12px 0 8px; color: var(--pf-blue); font-size: 19px; }
.pf-activity-card h3 a { text-decoration: none; }
.pf-activity-card p { color: var(--pf-muted); line-height: 1.48; }
.pf-card-link { color: var(--pf-blue-3); font: 700 13px Archivo; text-decoration: none; }
.pf-adapt-note { margin-bottom: 24px; padding: 22px; border-left: 5px solid var(--pf-yellow); border-radius: 0 13px 13px 0; background: #fff; }
.pf-adapt-note h3 { margin: 10px 0 5px; color: var(--pf-blue); }
.pf-adapt-note p { margin: 0; color: var(--pf-muted); }
.pf-activity-sticky { position: sticky; bottom: 0; z-index: 50; display: flex; justify-content: center; align-items: center; gap: 25px; padding: 15px 20px; background: var(--pf-yellow); color: var(--pf-blue); font-size: 13px; }
.pf-activity-sticky a { font: 700 13px Archivo; }

/* Editorial / products / RecrIAr / about */
.pf-callout { margin-top: 35px; padding: 28px; border: 1px solid var(--pf-border); border-radius: var(--pf-radius-lg); background: #fff; }
.pf-callout p { color: var(--pf-muted); }
.pf-callout-blue { margin: 0; padding: 45px; border: 0; background: var(--pf-blue); color: #fff; }
.pf-callout-blue h2 { color: #fff; }
.pf-callout-blue p { max-width: 720px; color: rgba(255,255,255,.77); }
.pf-faq { border-top: 1px solid var(--pf-border); }
.pf-faq details { border-bottom: 1px solid var(--pf-border); }
.pf-faq summary { display: flex; justify-content: space-between; gap: 20px; padding: 22px 2px; color: var(--pf-blue); font: 700 16px Archivo; cursor: pointer; list-style: none; }
.pf-faq summary::-webkit-details-marker { display: none; }
.pf-faq details[open] summary span { transform: rotate(45deg); }
.pf-faq p { margin: -5px 0 23px; color: var(--pf-muted); line-height: 1.6; }
.pf-recriar-cover .pf-btn { margin-top: 25px; }
.pf-three-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.pf-three-steps article { padding: 29px; border: 1px solid var(--pf-border); border-radius: var(--pf-radius-lg); background: #fff; }
.pf-three-steps b { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 50%; background: var(--pf-yellow); color: var(--pf-blue); }
.pf-three-steps h3 { margin: 24px 0 9px; color: var(--pf-blue); }
.pf-three-steps p { color: var(--pf-muted); line-height: 1.55; }
.pf-plan-example { overflow: hidden; border: 1px solid var(--pf-border); border-radius: var(--pf-radius-lg); background: #fff; box-shadow: var(--pf-shadow); }
.pf-plan-example > header { padding: 28px 32px; background: var(--pf-blue); color: #fff; }
.pf-plan-example h3 { margin: 10px 0 0; color: #fff; font-size: 25px; }
.pf-plan-grid { display: grid; grid-template-columns: repeat(2,1fr); }
.pf-plan-grid section { padding: 25px 30px; border-right: 1px solid var(--pf-border); border-bottom: 1px solid var(--pf-border); }
.pf-plan-grid strong { color: var(--pf-blue); }
.pf-plan-grid p { margin-bottom: 0; color: var(--pf-muted); line-height: 1.5; }
.pf-bio-grid { align-items: start; }
.pf-bio-grid > div:last-child > p { color: var(--pf-muted); font-size: 17px; line-height: 1.7; }
.pf-contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; }
.pf-form-card { padding: 30px; border: 1px solid var(--pf-border); border-radius: var(--pf-radius-lg); background: #fff; box-shadow: var(--pf-shadow); }
.rcon-form-campo { margin-bottom: 17px; }
.rcon-form-label { display: block; margin-bottom: 7px; color: var(--pf-blue); font: 700 12px Archivo; }
.rcon-form textarea.rcon-form-input { min-height: 130px; padding-top: 12px; }
.pf-site .rcon-form-enviar { width: 100%; background: var(--pf-yellow); color: var(--pf-blue); }
.rcon-form-ok, .rcon-form-erro { padding: 13px 16px; border-radius: var(--pf-radius-sm); background: var(--pf-green-soft); color: var(--pf-green); }
.rcon-form-erro { background: #fff0f0; color: #a12d2d; }

/* Login */
.pf-login { min-height: 700px; display: grid; grid-template-columns: 1fr 1fr; background: #fff; }
.pf-login-form, .pf-login-benefits { display: grid; place-items: center; padding: 65px 8vw; }
.pf-login-form > div, .pf-login-benefits > div { width: min(460px,100%); }
.pf-login h1 { margin: 8px 0; color: var(--pf-blue); font-size: clamp(38px,5vw,56px); }
.pf-login-form > div > p { color: var(--pf-muted); }
.pf-login .recriando-auth-card { max-width: none; margin: 28px 0 0; padding: 0; border: 0; box-shadow: none; }
.pf-login .recriando-auth-header { display: none; }
.pf-login .recriando-auth-field, .pf-login .login-username, .pf-login .login-password { margin-bottom: 16px; }
.pf-login label { display: block; margin-bottom: 7px; color: var(--pf-blue); font: 700 12px Archivo; }
.pf-login input[type="submit"], .pf-login .recriando-auth-submit { width: 100%; min-height: 49px; border: 0; border-radius: var(--pf-radius-sm); background: var(--pf-yellow); color: var(--pf-blue); font: 700 14px Archivo; cursor: pointer; }
.pf-signup { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--pf-border); font-size: 13px; }
.pf-signup a { color: var(--pf-blue-3); font-weight: 700; }
.pf-login-benefits h2 { color: #fff; font-size: clamp(29px,4vw,42px); }
.pf-login-benefits ul { margin: 28px 0; padding: 0; list-style: none; }
.pf-login-benefits li { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.88); }
.pf-login-benefits li b { color: var(--pf-yellow); }
.pf-login-benefits small { color: rgba(255,255,255,.6); line-height: 1.5; }
.pf-login-ready { display: flex; flex-direction: column; align-items: start; gap: 14px; margin-top: 25px; padding: 25px; border-radius: var(--pf-radius); background: var(--pf-paper); }

/* Collection */
.pf-collection-list { display: grid; gap: 20px; }
.pf-collection-item { padding: 30px; border: 1px solid var(--pf-border); border-radius: var(--pf-radius-lg); background: #fff; }
.pf-collection-item header { display: flex; align-items: start; gap: 18px; }
.pf-collection-item header > b { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--pf-yellow); color: var(--pf-blue); font-size: 18px; }
.pf-collection-item h2 { margin: 3px 0 11px; color: var(--pf-blue); font-size: 25px; }
.pf-collection-item h2 a { text-decoration: none; }
.pf-collection-item > p { color: var(--pf-muted); font-size: 16px; line-height: 1.65; }

/* Existing single material, brought into the same language */
.pf-site .rt-material-head { padding: 50px 0; color: #fff; background: var(--pf-blue); }
.pf-site .rt-material-head h1 { color: #fff; }
.pf-site .rt-material-corpo { padding-block: 55px; }
.pf-site .rt-material-ficha { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); }

/* Footer */
.pf-site .pf-footer { padding: 55px 0 0; background: #091a40; color: rgba(255,255,255,.72); }
.pf-footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3,1fr); gap: 45px; }
.pf-brand-footer { color: #fff; }
.pf-brand-footer small { color: rgba(255,255,255,.6); }
/* 8.1: o logo tem texto escuro — sobre o azul-marinho do rodapé ele some. Plaquinha clara. */
.pf-brand-footer .custom-logo { height: 56px; width: auto; background: #fff; padding: 6px 12px; border-radius: 12px; }
.pf-footer-grid > div:first-child p { max-width: 280px; line-height: 1.55; }
.pf-footer-grid h2 { margin: 7px 0 17px; color: #fff; font-size: 14px; }
.pf-footer-grid > div:not(:first-child) a { display: block; margin: 11px 0; color: rgba(255,255,255,.69); text-decoration: none; font-size: 13px; }
.pf-socials { display: flex; gap: 8px; margin-top: 18px; }
.pf-socials a { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.1); }
.pf-socials svg { width: 17px; }
.pf-footer-bottom { display: flex; justify-content: space-between; gap: 25px; margin-top: 45px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.1); font-size: 11px; }

.pf-reveal { transition: opacity .55s ease, transform .55s ease; }
.pf-js .pf-reveal:not(.is-visible) { opacity: 0; transform: translateY(14px); }

@media (max-width: 900px) {
	.pf-site .pf-header { height: 66px; }
	.pf-header-inner { grid-template-columns: auto 1fr auto; gap: 8px; }
	.pf-site .pf-menu-toggle { display: grid !important; place-items: center; }
	.pf-header .pf-brand { justify-self: center; }
	.pf-header .pf-brand-mark { width: 35px; height: 35px; font-size: 19px; }
	.pf-header .pf-brand strong { font-size: 15px; }
	.pf-header .pf-brand small { display: none; }
	.pf-nav { display: none; }
	.pf-area-button { min-height: 44px; padding: 0 11px; font-size: 10px; }
	.pf-hero-grid, .pf-method-layout, .pf-about-grid, .pf-bio-grid, .pf-contact-grid { grid-template-columns: 1fr; }
	.pf-featured-activity { max-width: 580px; }
	.pf-stage-grid, .pf-date-grid { grid-template-columns: repeat(2,1fr); }
	.pf-post-grid, .pf-site .rt-produtos-grid, .pf-activity-grid, .pf-products-complete { grid-template-columns: repeat(2,1fr); }
	.pf-post-grid-home .pf-post-featured { grid-column: span 2; grid-row: auto; }
	.pf-cascade { grid-template-columns: repeat(2,1fr); }
	.pf-three-steps { grid-template-columns: 1fr; }
	.pf-login { grid-template-columns: 1fr; }
	.pf-login-benefits { min-height: 500px; }
	.pf-footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
	.pf-footer-grid > div:last-child { grid-column: 2; }
}

@media (max-width: 620px) {
	.pf-shell, .pf-article-shell, .pf-header-inner { width: min(100% - 28px, var(--pf-shell)); }
	.pf-site { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
	.pf-section { padding: 52px 0; }
	.pf-section-head { align-items: start; flex-direction: column; }
	.pf-cover { padding: 35px 0 45px; }
	.pf-cover h1 { font-size: clamp(34px,11vw,49px); }
	.pf-home-hero { min-height: 0; padding: 48px 0; }
	.pf-hero-grid { gap: 38px; }
	.pf-hero-copy h1 { font-size: clamp(39px,12vw,56px); }
	.pf-search input { height: 44px; padding: 0 10px; font-size: 16px; }
	.pf-search button { min-width: 82px; }
	.pf-stage-grid, .pf-date-grid, .pf-post-grid, .pf-site .rt-produtos-grid, .pf-activity-grid, .pf-products-complete { grid-template-columns: 1fr; }
	.pf-post-grid-home .pf-post-featured { grid-column: auto; }
	.pf-post-grid-home .pf-post-featured .pf-post-cover { min-height: 200px; }
	.pf-stage-card { min-height: 150px; }
	.pf-method-layout { gap: 35px; }
	.pf-whatsapp { min-height: 0; padding: 28px; }
	.pf-blog .pf-whatsapp { flex-direction: column; align-items: start; }
	.pf-authority { gap: 16px; }
	.pf-about-photo, .pf-about-photo img { min-height: 320px; }
	.pf-toc ol { columns: 1; }
	.pf-article-content { font-size: 16.5px; }
	.pf-cascade { grid-template-columns: 1fr; margin-inline: -3px; padding: 18px; }
	.pf-filter-search { grid-column: auto; }
	.pf-activity-sticky { justify-content: space-between; }
	.pf-activity-sticky span { display: none; }
	.pf-plan-grid { grid-template-columns: 1fr; }
	.pf-login-form, .pf-login-benefits { padding: 48px 22px; }
	.pf-collection-item { padding: 22px; }
	.pf-collection-item header { gap: 12px; }
	.pf-collection-item h2 { font-size: 21px; }
	.pf-footer-grid { grid-template-columns: 1fr 1fr; }
	.pf-footer-grid > div:first-child { grid-column: 1 / -1; }
	.pf-footer-grid > div:last-child { grid-column: auto; }
	.pf-footer-bottom { flex-direction: column; }
	.pf-site .rt-bottom-nav { display: flex; height: calc(66px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); background: #fff; border-top: 1px solid var(--pf-border); }
	.pf-site .rt-bottom-nav-item.is-active { color: var(--pf-blue); }
}

@media (prefers-reduced-motion: reduce) {
	.pf-reveal, .pf-post-card, .pf-stage-card, .pf-date-card, .pf-btn { transition: none !important; transform: none !important; }
}
