/* Amanda Franco — estilos do site.
   Cores, fontes e tamanhos vêm do theme.json (manual de marca v1.1).
   Aqui ficam o ritmo das seções, os componentes e os movimentos. */

:root {
	--af-linho: var(--wp--preset--color--linho);
	--af-papel: var(--wp--preset--color--papel);
	--af-areia: var(--wp--preset--color--areia);
	--af-linha: var(--wp--preset--color--linha);
	--af-tinta: var(--wp--preset--color--tinta);
	--af-sepia: var(--wp--preset--color--sepia);
	--af-vinho: var(--wp--preset--color--vinho);
	--af-ouro: var(--wp--preset--color--ouro);
	--af-ouro-claro: var(--wp--preset--color--ouro-claro);
	--af-noite: var(--wp--preset--color--noite);
	--af-titulos: var(--wp--preset--font-family--titulos);
	--af-sombra-papel: var(--wp--preset--shadow--papel);
	--af-sombra-destaque: var(--wp--preset--shadow--destaque);
	--af-raio: 24px;
	--af-raio-md: 16px;
	--af-curva: cubic-bezier(.2, .7, .2, 1);
	--af-rapido: 160ms;
	--af-medio: 320ms;
	--af-lento: 700ms;
	--af-topo-altura: 90px;
}

html { scroll-padding-top: calc(var(--af-topo-altura) + 16px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, .af-rodape__nome, .af-sobre__frase, .af-rodape__frase, .af-num { font-variation-settings: "opsz" 96; }
h1, h2, h3 { text-wrap: balance; }
p, li { text-wrap: pretty; }
::selection { background: var(--af-areia); color: var(--af-tinta); }
img { height: auto; }

/* Foco sempre visível (WCAG 2.2 — 2.4.7 e 2.4.11). */
:where(a, button, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--af-vinho);
	outline-offset: 3px;
	border-radius: 6px;
}
.af-passo :focus-visible, .af-sintomas :focus-visible, .af-rodape :focus-visible { outline-color: var(--af-ouro-claro); }

/* Links do texto: sublinhado discreto que ganha força no toque. */
.af-principal p a, .af-principal li a, .af-rodape a {
	text-decoration-thickness: 1px;
	text-underline-offset: .22em;
	transition: text-decoration-thickness var(--af-rapido), color var(--af-rapido);
}
.af-principal p a:hover, .af-principal li a:hover, .af-rodape a:hover { text-decoration-thickness: 2px; }

/* ---------- Pular para o conteúdo ---------- */
.af-pular {
	position: absolute; left: 1rem; top: -100px; z-index: 1000;
	background: var(--af-vinho); color: var(--af-linho); padding: .75rem 1.25rem; border-radius: 999px;
	font-weight: 600; text-decoration: none;
}
.af-pular:focus { top: 1rem; }

/* ---------- Cabeçalho ---------- */
.af-topo-wrap { position: sticky; top: 0; z-index: 50; }
.admin-bar .af-topo-wrap { top: var(--wp-admin--admin-bar--height, 32px); }
.af-topo-wrap { transition: transform var(--af-medio) var(--af-curva); }
.af-topo-wrap.is-oculto { transform: translateY(-100%); }
.af-topo-wrap:focus-within { transform: none; }
.af-topo {
	background: color-mix(in srgb, var(--af-linho) 90%, transparent);
	-webkit-backdrop-filter: saturate(1.2) blur(10px);
	backdrop-filter: saturate(1.2) blur(10px);
	border-bottom: 1px solid transparent;
	transition: border-color var(--af-medio), box-shadow var(--af-medio), background-color var(--af-medio);
}
.af-topo.is-rolado { border-bottom-color: var(--af-linha); box-shadow: 0 10px 30px -24px rgba(70, 44, 34, .45); }
.af-topo__barra {
	max-width: 1180px; margin: 0 auto;
	padding: .75rem clamp(1.25rem, 5vw, 2.5rem);
	display: flex; align-items: center; gap: 1.5rem;
	min-height: var(--af-topo-altura); box-sizing: border-box;
}
.af-marca { display: flex; align-items: center; gap: .7rem; text-decoration: none; color: var(--af-tinta); flex-shrink: 0; }
.af-marca__simbolo { width: 40px; height: 40px; border-radius: 50%; transition: transform var(--af-medio) var(--af-curva); }
.af-marca:hover .af-marca__simbolo { transform: translateY(-2px); }
.af-marca__texto { display: flex; flex-direction: column; line-height: 1.15; }
.af-marca__nome { font-family: var(--af-titulos); font-size: 1.3rem; font-variation-settings: "opsz" 72; }
.af-marca__crp { font-size: .75rem; color: var(--af-sepia); letter-spacing: .02em; }

.af-menu { margin-left: auto; }
.af-menu .wp-block-navigation__container { gap: 1.4rem; }
.af-menu .wp-block-navigation-item__content {
	color: var(--af-tinta); text-decoration: none; font-size: .95rem; padding: .35rem 0;
	background-image: url("../img/sublinhado.svg"); background-repeat: no-repeat;
	background-position: 0 100%; background-size: 0% 6px;
	transition: background-size var(--af-medio) var(--af-curva), color var(--af-rapido);
}
.af-menu .wp-block-navigation-item__content:hover,
.af-menu .wp-block-navigation-item__content[aria-current="true"] { background-size: 100% 6px; }
.af-menu .wp-block-navigation-item__content[aria-current="true"] { color: var(--af-vinho); }
.af-topo__acao { flex-shrink: 0; }
.af-topo__acao .wp-block-button__link { padding: .7rem 1.2rem; font-size: .95rem; }

@media (max-width: 960px) {
	:root { --af-topo-altura: 104px; }
	.af-topo__barra { flex-wrap: wrap; row-gap: .25rem; padding-top: .6rem; padding-bottom: .35rem; }
	.af-topo__acao { margin-left: auto; }
	.af-menu {
		order: 3; flex-basis: 100%; margin: 0 calc(-1 * clamp(1.25rem, 5vw, 2.5rem));
		overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1.25rem, #000 calc(100% - 2rem), transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0, #000 1.25rem, #000 calc(100% - 2rem), transparent 100%);
	}
	.af-menu::-webkit-scrollbar { display: none; }
	.af-menu .wp-block-navigation__container { flex-wrap: nowrap; padding: 0 clamp(1.25rem, 5vw, 2.5rem); gap: 1.2rem; }
	.af-menu .wp-block-navigation-item { flex-shrink: 0; }
}
@media (max-width: 600px) {
	.af-topo .af-topo__acao { display: none; } /* No celular, o botão flutuante e o da abertura cumprem esse papel. */
}

/* ---------- Botões ---------- */
.wp-element-button, .wp-block-button__link {
	transition: transform var(--af-rapido) var(--af-curva), box-shadow var(--af-rapido), background-color var(--af-rapido), color var(--af-rapido), border-color var(--af-rapido);
	box-shadow: 0 1px 0 rgba(70, 44, 34, .08);
}
@media (hover: hover) {
	.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -14px rgba(70, 44, 34, .55); }
}
.wp-block-button__link:active { transform: translateY(0) scale(.98); box-shadow: none; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--af-vinho); border: 1.5px solid currentColor; padding: calc(.95rem - 1.5px) calc(1.6rem - 1.5px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: color-mix(in srgb, var(--af-vinho) 7%, transparent); color: var(--af-vinho); }

/* ---------- Seções ---------- */
.af-principal > .wp-block-post-content > .alignfull:first-child { margin-top: 0; }
.af-principal > .wp-block-post-content > * + .alignfull { margin-block-start: 0; }
.af-secao { padding-top: clamp(4.5rem, 10vw, 7.5rem); padding-bottom: clamp(4.5rem, 10vw, 7.5rem); position: relative; }
.af-secao--papel { background: var(--af-papel); }
.af-rotulo {
	font-size: .8125rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--af-sepia); margin-bottom: .5rem;
}
.af-cabeca { display: grid; gap: .6rem; margin-bottom: clamp(2rem, 5vw, 3rem); }
.af-cabeca .wp-block-heading { margin-top: 0; }
.af-ilustra { margin: 0 0 1rem; }
.af-ilustra img { width: clamp(96px, 14vw, 140px); }

/* ---------- Abertura ---------- */
.af-abertura {
	padding-top: clamp(2.5rem, 8vw, 6.5rem);
	padding-bottom: clamp(3rem, 7vw, 5.5rem);
	background:
		radial-gradient(55% 70% at 100% 0%, color-mix(in srgb, var(--af-ouro-claro) 22%, transparent), transparent 70%),
		var(--af-linho);
	overflow: hidden;
}
.af-abertura h1 { margin: .25rem 0 1.25rem; }
.af-abertura h1 strong {
	font-weight: inherit; -webkit-box-decoration-break: clone; box-decoration-break: clone;
	background-image: url("../img/sublinhado.svg"); background-repeat: no-repeat;
	background-position: 0 92%; background-size: 100% .28em; padding-bottom: .06em;
}
.af-abertura__apoio { color: var(--af-tinta); max-width: 36ch; }
.af-abertura__acoes { margin-top: 2rem; gap: .75rem; }
.af-sol { position: relative; margin: 0; }
.af-sol img { width: 100%; display: block; }
.af-sol:not(:has(img[src*="simbolo-morros"]))::after { display: none; }
.af-sol img:not([src*="simbolo-morros"]) {
	border-radius: 999px 999px var(--af-raio) var(--af-raio); aspect-ratio: 4 / 5; object-fit: cover; box-shadow: var(--af-sombra-papel);
}
.af-sol::after {
	content: ""; position: absolute; inset: 0;
	background: url("../img/simbolo-sol.svg") center / 100% 100% no-repeat;
	pointer-events: none;
}
@media (min-width: 782px) { .af-abertura__simbolo .af-sol { max-width: 420px; margin-left: auto; } }
@media (max-width: 781px) {
	.af-abertura__grade { flex-direction: column-reverse; gap: 1rem !important; }
	.af-abertura__simbolo { max-width: 150px; }
}
@media (max-width: 400px) {
	/* Telas pequenas: o botão principal precisa caber na primeira tela. */
	.af-abertura { padding-top: 1.5rem; }
	.af-abertura__simbolo { max-width: 104px; }
	.af-abertura .af-rotulo { font-size: .75rem; letter-spacing: .1em; }
	.af-abertura__acoes { margin-top: 1.5rem; }
}
@media (max-width: 340px), (max-height: 600px) and (max-width: 781px) { .af-abertura__simbolo { display: none; } .af-abertura__apoio { font-size: 1rem !important; } }
.af-para-quem { padding-top: clamp(2.5rem, 6vw, 4rem); }

/* ---------- Para quem ---------- */
.af-cenas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 1.25rem; }
/* Em grades, o espaçamento vem do gap (o WordPress soma margem entre irmãos). */
.af-cenas > *, .af-passos > *, .af-contato__grade > *, .af-sigilo__grade > *, .af-passo > *, .af-rodape__grade > *, .af-cabeca > * { margin-block: 0; }
.af-cena {
	margin: 0; background: var(--af-papel); border-radius: var(--af-raio);
	padding: 1.6rem 1.6rem 1.7rem; box-shadow: var(--af-sombra-papel);
	font-family: var(--af-titulos); font-size: var(--wp--preset--font-size--corpo-grande); line-height: 1.45;
	font-variation-settings: "opsz" 30;
	transform: rotate(var(--af-giro, 0deg));
	transition: transform var(--af-medio) var(--af-curva), box-shadow var(--af-medio);
}
.af-cena:nth-child(3n+1) { --af-giro: -.6deg; }
.af-cena:nth-child(3n+2) { --af-giro: .4deg; }
.af-cena:nth-child(3n) { --af-giro: -.3deg; }
@media (hover: hover) { .af-cena:hover { transform: rotate(0) translateY(-3px); box-shadow: var(--af-sombra-destaque); } }
@media (max-width: 600px) {
	.af-cenas { gap: .75rem; }
	.af-cena { padding: 1.1rem 1.25rem 1.2rem; font-size: 1.0625rem; }
}
.af-fecho { margin-top: clamp(2rem, 5vw, 3rem); color: var(--af-vinho); font-family: var(--af-titulos); font-style: italic; }

/* ---------- Como funciona ---------- */
.af-passos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1.25rem; counter-reset: passo; }
.af-passo-item {
	background: var(--af-linho); border-radius: var(--af-raio); padding: 1.6rem 1.5rem 1.7rem;
	border: 1px solid var(--af-linha); position: relative;
}
.af-passo-item h3 { font-size: 1.35rem; margin: .9rem 0 .5rem; }
.af-passo-item p:last-child { margin: 0; color: var(--af-tinta); font-size: 1rem; line-height: 1.65; }
.af-num {
	margin: 0; width: 2.6rem; height: 2.6rem; border-radius: 50%; display: grid; place-items: center;
	border: 1.5px solid var(--af-ouro); color: var(--af-vinho); font-family: var(--af-titulos); font-size: 1.25rem; line-height: 1;
}
.af-fatos {
	list-style: none; padding: 0 !important; margin: clamp(2rem, 5vw, 2.75rem) auto 0;
	max-width: 1180px !important; display: flex; flex-wrap: wrap; gap: .6rem;
}
.af-fatos li {
	background: var(--af-linho); border: 1px solid var(--af-linha); border-radius: 999px;
	padding: .45rem 1rem; font-size: .9375rem; color: var(--af-tinta);
}

/* ---------- Primeiro passo (seletor) ---------- */
.af-passo {
	background: var(--af-vinho); color: var(--af-linho); border-radius: calc(var(--af-raio) + 8px);
	padding: clamp(1.75rem, 5vw, 3.5rem); box-shadow: var(--af-sombra-destaque);
	display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 4rem); align-items: start;
	background-image: radial-gradient(60% 55% at 0% 100%, rgba(232, 177, 94, .16), transparent 70%);
}
.af-passo .wp-block-heading, .af-passo p { color: var(--af-linho); }
.af-passo .af-rotulo { color: var(--af-ouro-claro); }
.af-passo a { color: var(--af-linho); }
.af-passo__texto h2 { margin-top: 0; }
.af-passo__porta { margin: 2rem 0 0; }
.af-passo__porta img { width: clamp(120px, 18vw, 190px); }
.af-passo__pergunta { font-family: var(--wp--preset--font-family--texto); font-size: 1rem !important; font-weight: 700; letter-spacing: .02em; margin: 1.5rem 0 .7rem; }
.af-passo__pergunta:first-child { margin-top: 0; }
.af-opcoes { gap: .5rem; }
.af-opcoes .wp-block-button__link, .af-opcao {
	background: transparent; color: var(--af-linho) !important; border: 1.5px solid color-mix(in srgb, var(--af-linho) 55%, transparent) !important;
	border-radius: 999px; padding: .6rem 1.05rem !important; min-height: 44px; font: 500 .9375rem/1.2 var(--wp--preset--font-family--texto); cursor: pointer;
	display: inline-flex; align-items: center; gap: .45rem;
}
.af-opcao::before {
	content: ""; width: .55rem; height: .55rem; border-radius: 50%; border: 1.5px solid currentColor; flex-shrink: 0;
	transition: background-color var(--af-rapido), transform var(--af-rapido) var(--af-curva);
}
@media (hover: hover) { .af-opcao:hover { background: rgba(246, 239, 227, .1); border-color: var(--af-linho) !important; } }
.af-opcao[aria-checked="true"] { background: var(--af-linho); color: var(--af-vinho) !important; border-color: var(--af-linho) !important; }
.af-opcao[aria-checked="true"]::before { background: var(--af-ouro); border-color: var(--af-ouro); transform: scale(1.15); }
.af-passo__segue { margin: 1.75rem 0 0; font-size: .9375rem !important; line-height: 1.6; color: color-mix(in srgb, var(--af-linho) 92%, transparent) !important; }
.af-passo__segue strong { color: var(--af-ouro-claro); font-weight: 700; }
.af-passo__previa {
	margin: 1rem 0 1rem; padding: 1rem 1.15rem; border-radius: var(--af-raio-md);
	background: rgba(0, 0, 0, .18); font-size: .9375rem; line-height: 1.55; white-space: pre-line;
}
.af-passo__previa span { display: block; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--af-ouro-claro); margin-bottom: .35rem; }
.af-enviar { margin-top: 1rem; }
.af-enviar .wp-block-button__link {
	background: var(--af-linho); color: var(--af-vinho) !important; font-size: 1.05rem; padding: 1rem 1.7rem;
	display: inline-flex; align-items: center; gap: .6rem;
}
.af-enviar .wp-block-button__link::after { content: "→"; transition: transform var(--af-medio) var(--af-curva); }
.af-enviar .wp-block-button__link:hover { background: #fff; color: var(--af-vinho) !important; }
.af-passo.is-completo .af-enviar .wp-block-button__link { box-shadow: 0 0 0 4px rgba(232, 177, 94, .45); }
.af-passo.is-completo .af-enviar .wp-block-button__link::after { transform: translateX(4px); }
.af-passo__nota { font-size: .875rem !important; color: color-mix(in srgb, var(--af-linho) 86%, transparent) !important; margin: .9rem 0 0; }
@media (max-width: 860px) { .af-passo { grid-template-columns: 1fr; } .af-passo__porta { display: none; } }

/* ---------- Sobre ---------- */
.af-sobre__grade { gap: clamp(2rem, 6vw, 5rem) !important; align-items: start; }
.af-sobre h2 { margin-top: 0; }
.wp-block-image.is-style-arco img {
	border-radius: 999px 999px var(--af-raio) var(--af-raio); aspect-ratio: 4 / 5; object-fit: cover; width: 100%;
	box-shadow: var(--af-sombra-papel);
}
.af-sobre__frase { font-family: var(--af-titulos); font-style: italic; color: var(--af-vinho); font-size: var(--wp--preset--font-size--titulo-3); text-align: center; margin-top: 1.25rem; }
.af-sobre__subtitulo { font-size: 1.35rem !important; margin-top: 2rem; }
.af-credenciais { list-style: none; padding-left: 0 !important; display: grid; gap: .75rem; }
.af-credenciais li { position: relative; padding-left: 1.6rem; }
.af-credenciais li::before {
	content: ""; position: absolute; left: 0; top: .72em; width: .9rem; height: 3px; border-radius: 3px; background: var(--af-ouro);
}
@media (max-width: 781px) {
	.af-sobre__foto:has(img[src*="retrato-provisorio"]) { display: none; }
	.af-sobre__foto .wp-block-image { max-width: 320px; margin-inline: auto; }
}
@media (min-width: 782px) { .af-sobre__foto { position: sticky; top: calc(var(--af-topo-altura) + 2rem); } }

/* ---------- Sigilo ---------- */
.af-sigilo__grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 5rem); }
.af-sigilo__cabeca h2 { margin-top: 0; }
.af-sigilo__lista { list-style: none; padding-left: 0 !important; margin: 0; display: grid; gap: 0; }
.af-sigilo__lista li { padding: 1.05rem 0 1.05rem 2.4rem; border-bottom: 1px solid var(--af-linha); position: relative; }
.af-sigilo__lista li:first-child { border-top: 1px solid var(--af-linha); }
.af-sigilo__lista li::before {
	content: ""; position: absolute; left: .35rem; top: 1.62rem; width: .7rem; height: .7rem; border-radius: 50%;
	border: 1.5px solid var(--af-ouro); background: color-mix(in srgb, var(--af-ouro-claro) 35%, transparent);
}
@media (max-width: 781px) { .af-sigilo__grade { grid-template-columns: 1fr; } }

/* ---------- Sintomas ---------- */
.af-sintomas { background: var(--af-noite); color: var(--af-linho); text-align: center; overflow: hidden; }
.af-sintomas::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(50% 60% at 50% 0%, rgba(232, 177, 94, .14), transparent 70%);
}
.af-sintomas > * { margin-left: auto !important; margin-right: auto !important; position: relative; }
.af-sintomas p { color: color-mix(in srgb, var(--af-linho) 92%, transparent); }
.af-sintomas__nome { color: var(--af-linho) !important; font-size: clamp(3rem, 9vw, 6rem) !important; margin: .5rem auto 1rem !important; max-width: none !important; }
.af-sintomas .wp-block-buttons { justify-content: center; margin-top: 2rem; }
.af-sintomas .is-style-outline > .wp-block-button__link { color: var(--af-linho); }
.af-sintomas .is-style-outline > .wp-block-button__link:hover { background: rgba(246, 239, 227, .08); color: var(--af-linho); }
.af-selo {
	display: inline-block; border: 1px solid var(--af-ouro-claro); color: var(--af-ouro-claro) !important; border-radius: 999px;
	padding: .3rem .9rem; font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; width: fit-content;
}
.af-sintomas__nota { margin-top: 1.5rem; font-size: .875rem !important; color: color-mix(in srgb, var(--af-linho) 78%, transparent) !important; }

/* ---------- Dúvidas ---------- */
.af-faq { margin-top: 2rem; border-top: 1px solid var(--af-linha); }
.af-faq .wp-block-details { border-bottom: 1px solid var(--af-linha); margin: 0; padding: 0; }
.af-faq summary {
	list-style: none; cursor: pointer; padding: 1.25rem 3rem 1.25rem 0; position: relative;
	font-family: var(--af-titulos); font-size: var(--wp--preset--font-size--corpo-grande); line-height: 1.4;
	transition: color var(--af-rapido);
}
.af-faq summary::-webkit-details-marker { display: none; }
.af-faq summary::after {
	content: ""; position: absolute; right: .35rem; top: 50%; width: .7rem; height: .7rem; margin-top: -.5rem;
	border-right: 2px solid var(--af-vinho); border-bottom: 2px solid var(--af-vinho);
	transform: rotate(45deg); transition: transform var(--af-medio) var(--af-curva), margin var(--af-medio) var(--af-curva);
}
.af-faq details[open] > summary::after { transform: rotate(-135deg); margin-top: -.15rem; }
@media (hover: hover) { .af-faq summary:hover { color: var(--af-vinho); } }
.af-faq details > p { margin: 0 0 1.4rem; max-width: 62ch; color: var(--af-tinta); }
@supports (interpolate-size: allow-keywords) {
	@media (prefers-reduced-motion: no-preference) {
		.af-faq { interpolate-size: allow-keywords; }
		.af-faq details::details-content { height: 0; overflow: clip; transition: height var(--af-medio) var(--af-curva), content-visibility var(--af-medio) allow-discrete; }
		.af-faq details[open]::details-content { height: auto; }
	}
}

/* ---------- Contato ---------- */
.af-contato__grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1.25rem; margin-top: 2rem; }
.af-cartao { background: var(--af-papel); border-radius: var(--af-raio); padding: 1.6rem; box-shadow: var(--af-sombra-papel); }
.af-cartao h3 { margin: 0 0 .6rem; font-size: 1.35rem; }
.af-cartao p { margin: 0 0 .6rem; }
.af-cartao p:last-child { margin-bottom: 0; }
.af-link-seta a { font-weight: 600; text-decoration: none; }
.af-link-seta a::after { content: " →"; display: inline-block; transition: transform var(--af-medio) var(--af-curva); }
.af-link-seta a:hover::after { transform: translateX(4px); }

/* ---------- Páginas internas ---------- */
.af-pagina { padding-top: clamp(3rem, 8vw, 5rem); padding-bottom: clamp(4rem, 9vw, 6rem); }
.af-pagina__titulo { margin-bottom: 1.5rem; }
.af-pagina h2 { font-size: var(--wp--preset--font-size--titulo-3); margin-top: 2.5rem; }

/* ---------- Rodapé ---------- */
.af-rodape { background: var(--af-vinho); color: var(--af-linho); padding-top: clamp(3.5rem, 8vw, 5rem); padding-bottom: 2rem; font-size: .9375rem; }
.af-rodape p { color: color-mix(in srgb, var(--af-linho) 92%, transparent); margin: 0 0 .75rem; }
.af-rodape a { color: var(--af-linho); }
.af-rodape__grade { display: grid; grid-template-columns: 1.1fr 1fr 1.1fr; gap: clamp(2rem, 5vw, 4rem); max-width: 1180px; margin: 0 auto; }
.af-rodape__simbolo { margin: 0 0 1rem; }
.af-rodape__nome { font-family: var(--af-titulos); font-size: 1.6rem; color: var(--af-linho) !important; margin-bottom: .35rem !important; }
.af-rodape__titulo { font-weight: 700; letter-spacing: .12em; text-transform: uppercase; font-size: .75rem; color: var(--af-ouro-claro) !important; }
.af-rodape__crise { background: rgba(0, 0, 0, .16); border-radius: var(--af-raio-md); padding: 1.25rem 1.35rem; align-self: start; }
.af-rodape__crise p:last-child { margin: 0; }
.af-rodape__base {
	max-width: 1180px; margin: clamp(2.5rem, 6vw, 3.5rem) auto 0; padding-top: 1.5rem;
	border-top: 1px solid rgba(246, 239, 227, .2);
	display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem 2rem; align-items: baseline;
}
.af-rodape__frase { font-family: var(--af-titulos); font-style: italic; font-size: 1.25rem; color: var(--af-ouro-claro) !important; margin: 0 !important; }
.af-rodape__legal { font-size: .8125rem; margin: 0 !important; }
@media (max-width: 860px) { .af-rodape__grade { grid-template-columns: 1fr; } }

/* ---------- Botão flutuante (celular) ---------- */
.af-flutuante {
	position: fixed; left: 50%; bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 60;
	transform: translate(-50%, 160%); opacity: 0; visibility: hidden;
	background: var(--af-vinho); color: var(--af-linho); text-decoration: none; font-weight: 600;
	padding: .9rem 1.5rem; border-radius: 999px; box-shadow: 0 14px 30px -12px rgba(46, 39, 36, .6);
	transition: transform var(--af-medio) var(--af-curva), opacity var(--af-medio), visibility 0s linear var(--af-medio);
	white-space: nowrap;
}
.af-flutuante.is-visivel { transform: translate(-50%, 0); opacity: 1; visibility: visible; transition-delay: 0s; }
@media (min-width: 961px) { .af-flutuante { display: none; } }
@media (max-width: 960px) { html { scroll-padding-bottom: 5.5rem; } }

/* ---------- Movimento ----------
   Só depois que o script confirma que o elemento está abaixo da dobra: nada some sem JavaScript. */
.af-espera { opacity: 0; transform: translateY(18px); }
.af-espera.is-visivel {
	opacity: 1; transform: none;
	transition: opacity var(--af-lento) var(--af-curva), transform var(--af-lento) var(--af-curva);
	transition-delay: calc(var(--af-i, 0) * 70ms);
}
.af-cena.af-espera.is-visivel { transform: rotate(var(--af-giro, 0deg)); }

@media (prefers-reduced-motion: no-preference) {
	/* O título e o texto de apoio aparecem de imediato (são o maior elemento da tela e não devem esperar). */
	.af-abertura__texto > .af-rotulo, .af-abertura__acoes { animation: af-subir .8s var(--af-curva) both; }
	.af-abertura__acoes { animation-delay: .15s; }
	.af-abertura h1 strong { animation: af-traco 1s var(--af-curva) .7s both; }
	.af-sol img { animation: af-aparecer 1s ease-out both; }
	.af-sol::after { animation: af-nascer 1.6s var(--af-curva) .35s both; }
}
@keyframes af-subir { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes af-aparecer { from { opacity: 0; } to { opacity: 1; } }
@keyframes af-nascer { from { opacity: 0; transform: translateY(16%); } to { opacity: 1; transform: none; } }
@keyframes af-traco { from { background-size: 0% .28em; } to { background-size: 100% .28em; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.af-espera { opacity: 1; transform: none; }
}

/* ---------- Impressão: tudo visível, sem elementos fixos ---------- */
@media print {
	.af-espera { opacity: 1 !important; transform: none !important; }
	.af-topo-wrap, .af-flutuante, .af-pular { display: none !important; }
	.af-secao { padding-top: 1.5rem; padding-bottom: 1.5rem; }
	.af-faq details > p { display: block; }
}

/* ---------- Editor: sem movimentos nem elementos fixos ---------- */
.editor-styles-wrapper .af-cena { transform: none; }
