/*
Theme Name: Francisco Masuda
Theme URI: https://franciscomasuda.com
Description: Tema filho do Twenty Twenty-Five para o site de Francisco Masuda. Direção visual B (Abrigo).
Author: Francisco Masuda
Template: twentytwentyfive
Version: 0.2.0
Requires at least: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: francisco
*/

/* ---------- base ---------- */
body { -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-element-button, .wp-block-button__link { white-space: nowrap; min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--wp--preset--color--telha); outline-offset: 3px; }

/* Botões de WhatsApp usam o botão padrão (salmão/pêssego com letra chocolate), que dá mais destaque (Francisco, 05/10). */

/* Ícone de conversa nos botões de WhatsApp */
.fm-wa .wp-block-button:not(.is-style-outline) .wp-block-button__link::before {
	content: ""; width: 20px; height: 20px; flex: 0 0 20px;
	background-color: currentColor;
	-webkit-mask: url("assets/img/chat.svg") center / contain no-repeat;
	mask: url("assets/img/chat.svg") center / contain no-repeat;
}

/* ---------- textos auxiliares ---------- */
.fm-eyebrow { font-size: 14px !important; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--telha); }
.fm-service { font-weight: 600; line-height: 1.4; }
.fm-micro { font-size: 17px; }
.fm-lead { font-size: var(--wp--preset--font-size--large); }

/* ---------- seções escuras ---------- */
.has-chocolate-background-color, .has-verde-musgo-background-color { color: var(--wp--preset--color--marfim); }
.has-chocolate-background-color .fm-eyebrow,
.has-verde-musgo-background-color .fm-eyebrow { color: var(--wp--preset--color--areia); }
.has-chocolate-background-color a:where(:not(.wp-element-button)),
.has-verde-musgo-background-color a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--pessego); }
.has-chocolate-background-color .fm-muted,
.has-verde-musgo-background-color .fm-muted { color: var(--wp--preset--color--areia); }
.fm-muted { color: var(--wp--preset--color--marrom); }

/* botão contorno */
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; border: 1.5px solid currentColor; color: inherit; padding: 13px 25px; }
.has-chocolate-background-color .wp-block-button.is-style-outline > .wp-block-button__link,
.has-verde-musgo-background-color .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--wp--preset--color--marfim); }

/* link de texto com seta */
.fm-arrow a { font-weight: 600; text-underline-offset: 5px; text-decoration-thickness: 1.5px; display: inline-flex; align-items: center; min-height: 44px; }
.fm-arrow a::after { content: "→"; margin-left: 8px; text-decoration: none; display: inline-block; transition: transform .2s ease; }
.fm-arrow a:hover::after { transform: translateX(4px); }

/* ---------- cabeçalho ---------- */
/* Fixo no topo ao rolar, só a partir de 782px (no celular a barra de baixo já tem Menu e WhatsApp).
   O "grudar" vai no <header> que envolve o cabeçalho: dentro dele, que tem só a altura do cabeçalho, não funcionava. */
@media (min-width: 782px) {
	header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
	.admin-bar header.wp-block-template-part { top: 32px; }
}
.fm-header .wp-block-site-title a { color: var(--wp--preset--color--marfim); display: inline-flex; min-height: 44px; align-items: center; }
.fm-header .wp-block-navigation a { color: var(--wp--preset--color--marfim); min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; }
.fm-header .wp-block-navigation a:hover, .fm-header .wp-block-navigation .current-menu-item > a { text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 1.5px; }
.fm-header .wp-block-navigation__responsive-container-open { min-width: 44px; min-height: 44px; color: var(--wp--preset--color--marfim); }
.fm-header .wp-block-navigation__responsive-container-open::after { content: "Menu"; font-size: 16px; margin-left: 8px; }
/* Computador (a partir de 782px): barra horizontal sempre visível. O menu "Menu" é só do celular (até 781px).
   Entre 782 e 1199px a barra fica mais compacta para caber em uma linha. */
@media (min-width: 782px) {
	.fm-header .wp-block-navigation__responsive-container-open { display: none !important; }
	.fm-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: block !important; position: static; width: auto; }
}
@media (min-width: 782px) and (max-width: 1199px) {
	.fm-header .wp-block-navigation { gap: 0; }
	.fm-header .wp-block-navigation__container { gap: 18px !important; }
	.fm-header .wp-block-navigation a { font-size: 15px; }
	.fm-header .wp-block-group { gap: 18px !important; }
	.fm-header .fm-header-cta .wp-block-button__link { padding-left: 18px; padding-right: 18px; font-size: 14px !important; }
}
/* Entre 782 e 959px não cabe o texto do botão: fica só o ícone de conversa (o texto continua para leitor de tela) */
@media (min-width: 782px) and (max-width: 959px) {
	.fm-header .wp-block-navigation__container { gap: 14px !important; }
	.fm-header .wp-block-navigation a { font-size: 14px; }
	.fm-header .wp-block-group { gap: 14px !important; }
	.fm-header .fm-header-cta .wp-block-button__link { font-size: 0 !important; width: 52px; padding: 0; gap: 0; }
}
@media (max-width: 781px) {
	.fm-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: inline-flex; align-items: center; }
	.fm-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
}
.fm-header .wp-block-site-title { white-space: nowrap; }
.fm-nav-cta { display: none !important; }
.fm-nav-home { display: none !important; } /* "Início" só no menu aberto (celular/tablet); no computador o nome do site já leva ao início */
.fm-header .is-menu-open .fm-nav-home { display: block !important; }

/* menu aberto (mobile) */
.fm-header .wp-block-navigation__responsive-container.is-menu-open { padding: 20px; }
.fm-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 72px !important; align-items: stretch !important; }
.fm-header .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; align-items: stretch !important; }
.fm-header .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid rgba(242,225,200,0.22); }
.fm-header .is-menu-open .wp-block-navigation-item a { font-family: var(--wp--preset--font-family--fraunces); font-size: 30px; font-weight: 500; min-height: 64px; width: 100%; }
.fm-header .is-menu-open .wp-block-navigation-item a::after { content: "→"; margin-left: auto; color: var(--wp--preset--color--pessego); }
.fm-header .is-menu-open .fm-nav-cta { display: block !important; border-bottom: 0 !important; margin-top: 32px; }
.fm-header .is-menu-open .fm-nav-cta a { font-family: var(--wp--preset--font-family--inter); font-size: 17px; font-weight: 600; justify-content: center; min-height: 52px; border-radius: 999px; }
.fm-header .is-menu-open .fm-nav-cta a::after { content: none; }
.fm-header .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }
@media (max-width: 781px) { .fm-header-cta { display: none !important; } }

/* ---------- barra fixa do celular: Menu + WhatsApp (só mobile) ---------- */
.fm-sticky-cta { display: none; }
.fm-bar-menu { display: none; }
@media (max-width: 781px) {
	.fm-sticky-cta { display: flex; align-items: center; gap: 12px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 12px 16px calc(16px + env(safe-area-inset-bottom)); background: var(--wp--preset--color--chocolate); border-top: 1px solid rgba(242,225,200,0.25); box-shadow: 0 -6px 20px rgba(28,15,8,0.18); }
	.fm-sticky-cta .wp-block-button, .fm-sticky-cta .wp-block-button__link { width: 100%; }
	.fm-sticky-cta > * { margin: 0 !important; }
	.fm-sticky-cta .wp-block-buttons { flex: 1 1 0; min-width: 0; }
	.fm-bar-menu { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: none; min-height: 52px; padding: 0 20px; border: 1.5px solid var(--wp--preset--color--marfim); border-radius: 999px; background: transparent; color: var(--wp--preset--color--marfim); font: 600 17px/1 var(--wp--preset--font-family--inter); cursor: pointer; }
	.fm-bar-menu:focus-visible { outline: 2px solid var(--wp--preset--color--marfim); outline-offset: 3px; }
	body { padding-bottom: 84px; }
}

/* ---------- anéis (motivo da direção B) ---------- */
.fm-rings { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1; max-width: 600px; width: 100%; margin-inline: auto; }
.fm-rings::before { content: ""; position: absolute; inset: 0; background: url("assets/img/rings.svg") center / contain no-repeat; pointer-events: none; }
.fm-rings > * { position: relative; }
.fm-rings .wp-block-image { width: 66%; margin: 0; }
.fm-rings .wp-block-image img { width: 100%; aspect-ratio: 1; object-fit: cover; object-position: 50% 18%; border-radius: 50%; }
.fm-rings-bg { position: relative; overflow: hidden; }
.fm-rings-bg::before { content: ""; position: absolute; width: min(90vw, 560px); aspect-ratio: 1; left: 50%; top: 50%; transform: translate(-50%, -50%); background: url("assets/img/rings.svg") center / contain no-repeat; opacity: .5; pointer-events: none; }
.fm-rings-bg > * { position: relative; }

/* ---------- blocos de queixa ---------- */
.fm-tile { border-radius: 20px; height: 100%; box-sizing: border-box; transition: transform .25s ease, box-shadow .25s ease; }
.fm-tile:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(60,32,18,0.12); }
.fm-tile-dark { grid-column: 1 / -1; min-height: 0; }
.fm-tile h3 a { color: inherit; text-decoration: none; }
.fm-tile h3 a::after { content: ""; position: absolute; inset: 0; }
.fm-tile { position: relative; }
.fm-tile-dark h3 a::after { content: ""; }

/* itens com traço no topo */
.fm-topline { border-top: 1.5px solid var(--wp--preset--color--pessego); padding-top: 24px; }
.has-marfim-background-color .fm-topline, .has-areia-background-color .fm-topline { border-top-color: var(--wp--preset--color--telha); }

/* foto do "Sobre" colada na borda */
.fm-sobre-foto img { width: 100%; height: 100%; min-height: 440px; object-fit: cover; object-position: 50% 12%; display: block; }
.fm-sobre-foto { margin: 0 !important; height: 100%; }

/* cards de post */
.fm-post-card .wp-block-post-featured-image img { border-radius: 20px; aspect-ratio: 4/3; object-fit: cover; }
.fm-post-card .wp-block-post-title a { color: inherit; text-decoration: none; }
.fm-post-card .wp-block-post-title a:hover { text-decoration: underline; }
.fm-post-card .wp-block-post-date { color: var(--wp--preset--color--marrom); }

/* post: texto em serifa para leitura longa */
.fm-article .wp-block-post-content { font-family: var(--wp--preset--font-family--fraunces); font-size: clamp(19px, 1.6vw, 21px); line-height: 1.7; }
.fm-article .wp-block-post-content h2 { font-size: clamp(24px, 2.4vw, 30px); line-height: 1.25; }
/* Endereços longos nas referências dos posts quebram a linha em vez de gerar rolagem lateral */
.wp-block-post-content { overflow-wrap: anywhere; }
.fm-article { overflow-x: clip; } /* cartões de link do WordPress (iframes invisíveis) ficavam fora da coluna */
.wp-block-post-content iframe { max-width: 100% !important; }
.wp-block-post-content iframe[src*="youtube"], .wp-block-post-content iframe[src*="youtu.be"] { width: 100%; height: auto; aspect-ratio: 16 / 9; }
/* Posts antigos: subtítulos que subiram para h2/h3 (Fase 7, ordem dos títulos) mantêm o tamanho de antes */
.fm-article .wp-block-post-content .fm-orig-3 { font-size: var(--wp--preset--font-size--x-large); line-height: 1.2; }
.fm-article .wp-block-post-content :is(.fm-orig-4, .fm-orig-5, .fm-orig-6) { font-size: 1em; line-height: 1.3; }
.fm-article .wp-block-post-featured-image img { border-radius: 24px; }
.fm-article .wp-block-post-terms a { text-decoration: none; }

/* perguntas frequentes */
.wp-block-details summary { font-family: var(--wp--preset--font-family--fraunces); font-size: clamp(21px, 2vw, 24px); line-height: 1.3; min-height: 44px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; font-family: var(--wp--preset--font-family--inter); font-size: 26px; color: var(--wp--preset--color--telha); transition: transform .25s ease; }
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > :not(summary) { color: var(--wp--preset--color--marrom); max-width: 760px; }

/* ---------- animação sutil ---------- */
@media (prefers-reduced-motion: no-preference) {
	.fm-js .fm-reveal { opacity: 0; transform: translateY(18px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); transition-delay: var(--fm-delay, 0ms); }
	.fm-js .fm-reveal.is-visible { opacity: 1; transform: none; }
	.fm-js .fm-rings::before { animation: fm-breathe 9s ease-in-out infinite; }
	@keyframes fm-breathe { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.035); opacity: .8; } }
}

/* ---------- peças da Início ---------- */
.fm-peach { color: var(--wp--preset--color--pessego); font-weight: 600; }
.fm-destaque { font-family: var(--wp--preset--font-family--fraunces); font-style: italic; font-weight: 500; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.3; color: var(--wp--preset--color--telha); }
.fm-sobre { padding-left: 0 !important; padding-right: 0 !important; }
.fm-sobre > .wp-block-columns { gap: 0 !important; }
.fm-sobre-texto { padding: clamp(40px, 7vw, 96px) clamp(20px, 8vw, 120px); box-sizing: border-box; }
.fm-card { border-radius: 20px; }
.fm-tile-dark h3 a { color: var(--wp--preset--color--marfim); }
.fm-foot-link { margin: 0; }
.fm-foot-link a { color: var(--wp--preset--color--marfim) !important; display: inline-flex; min-height: 44px; align-items: center; text-underline-offset: 4px; }
.fm-post-card { align-items: stretch !important; }
.fm-post-card .wp-block-post-featured-image { width: 100%; margin: 0; }

/* seções coladas umas nas outras, sem faixa entre elas */
.wp-block-post-content > .alignfull { margin-block: 0 !important; }
html.has-modal-open .fm-sticky-cta { display: none !important; }
/* alvos de toque de 44px nos links de título e categoria */
.fm-post-card .wp-block-post-title a { display: inline-block; padding-block: 10px; }
.fm-article .wp-block-post-terms a { display: inline-flex; align-items: center; min-height: 44px; }
.fm-tile h3 a { display: inline-block; padding-block: 10px; }

/* listas (Sobre) e âncoras (Como posso ajudar) */
.fm-list { padding-left: 1.2em; margin: 0; }
.fm-list li { margin-bottom: 10px; }
.fm-list li::marker { color: var(--wp--preset--color--telha); }
.fm-anchor { scroll-margin-top: 90px; }
.fm-aside { font-family: var(--wp--preset--font-family--fraunces); font-style: italic; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--marrom); }

/* Imagens soltas dentro do texto (posts antigos): cabem na coluna e ficam centralizadas */
.fm-article .wp-block-post-content img { max-width: 100%; height: auto; border-radius: 16px; }
.fm-article .wp-block-post-content img.aligncenter { display: block; margin-inline: auto; float: none; }
.fm-article .wp-block-post-content p:has(> img.aligncenter) { max-width: none; }

/* Comentários antigos (somente leitura) e convite ao contato no fim dos posts */
.fm-comments { border-top: 1px solid var(--wp--preset--color--areia); padding-top: 32px; font-family: var(--wp--preset--font-family--inter); font-size: 17px; line-height: 1.6; }
.fm-comments .wp-block-comments-title { font-size: 20px; }
.fm-comment { padding-block: 16px; }
.fm-comment .wp-block-comment-template { padding-left: 0; }
.wp-block-comment-template ol { padding-left: 24px; }
.fm-post-cta { gap: 16px; padding-top: 24px; }

/* Blog: categorias, busca, rolagem infinita, compartilhar, anterior/próximo */
.fm-blog-bar { gap: 20px 32px; }
.fm-chips ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.fm-chips a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1.5px solid var(--wp--preset--color--chocolate); border-radius: 999px; color: var(--wp--preset--color--chocolate); text-decoration: none; font-size: 16px; font-family: var(--wp--preset--font-family--inter); }
.fm-chips a:hover { background: var(--wp--preset--color--areia); }
.fm-chips a[aria-current="page"] { background: var(--wp--preset--color--chocolate); color: var(--wp--preset--color--marfim); }
.fm-search { min-width: min(100%, 300px); }
.fm-search .wp-block-search__inside-wrapper { border: 1.5px solid var(--wp--preset--color--chocolate); border-radius: 999px; padding: 2px; background: transparent; }
.fm-search .wp-block-search__input { border: 0; background: transparent; padding: 0 16px; min-height: 40px; font-size: 16px; color: var(--wp--preset--color--chocolate); }
.fm-search .wp-block-search__button { border: 0; border-radius: 999px; background: var(--wp--preset--color--chocolate); color: var(--wp--preset--color--marfim); min-width: 44px; min-height: 40px; margin: 0; }
.fm-infinite .wp-block-query-pagination { display: none; }
.fm-infinite-status { text-align: center; margin-top: 48px; min-height: 1.6em; font-size: 17px; }
.fm-infinite-status a { color: var(--wp--preset--color--telha); }
@keyframes fm-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.fm-new { animation: fm-in .6s ease both; }
@media (prefers-reduced-motion: reduce) { .fm-new { animation: none; } }
.fm-readtime::before { content: "·"; margin-right: 12px; }
.fm-small { font-size: 16px; }
.fm-small a { color: var(--wp--preset--color--telha); }
.fm-share { margin-top: 40px; text-align: center; font-family: var(--wp--preset--font-family--inter); }
.fm-share-label { margin: 0 0 12px; font-size: 16px; }
.fm-share ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.fm-share a, .fm-share button { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1.5px solid var(--wp--preset--color--chocolate); border-radius: 999px; background: transparent; color: var(--wp--preset--color--chocolate); font: inherit; font-size: 16px; text-decoration: none; cursor: pointer; }
.fm-share a:hover, .fm-share button:hover { background: var(--wp--preset--color--areia); }
.fm-prevnext { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--wp--preset--color--areia); gap: 24px; font-family: var(--wp--preset--font-family--inter); font-size: 17px; }
.fm-prevnext > * { flex: 1 1 280px; max-width: 48%; margin: 0; }
.fm-prevnext .post-navigation-link-next { text-align: right; }
.fm-prevnext a { display: inline-block; padding-block: 10px; color: var(--wp--preset--color--chocolate); }
@media (max-width: 599px) { .fm-prevnext > * { max-width: 100%; } .fm-prevnext .post-navigation-link-next { text-align: left; } }

/* ---------- faixas de imagem com movimento ao rolar (05/10) ---------- */
.fm-faixa { position: relative; height: clamp(260px, 46vh, 520px); overflow: hidden; margin-block: 0 !important; }
.fm-faixa > .wp-block-image { height: 100%; }
.wp-block-image.fm-px { position: relative; overflow: hidden; margin: 0 !important; }
.wp-block-image.fm-px img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-block-image.fm-px-frame { aspect-ratio: 4 / 5; max-height: 680px; border-radius: 20px; }
.wp-block-image.fm-px-frame img { object-position: 50% 60%; }
/* com JavaScript ligado (e sem "reduzir movimento"), a imagem fica maior que a moldura e desliza dentro dela */
.fm-px-on .wp-block-image.fm-px img { position: absolute; left: 0; top: -15%; height: 130%; transform: translate3d(0, var(--fm-py, 0px), 0); will-change: transform; }

/* Overlay de cor da marca nas fotos de vegetação (harmoniza o verde das fotos com o verde-musgo e o chocolate do site) */
.fm-faixa.fm-tint::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
	background: linear-gradient(180deg, rgba(42,69,46,.42) 0%, rgba(60,32,18,.30) 100%); mix-blend-mode: multiply; }
/* recorte da primeira faixa (broto entre paralelepípedos): mantém o broto no centro */
.wp-block-image.fm-px img[src*="faixa-muro"] { object-position: 46% 68%; }
/* Faixa do café (duotone chocolate + marfim): mais alta para caber a caneca */
.fm-faixa.fm-faixa-alta { height: clamp(320px, 58vh, 620px); }
.fm-faixa.fm-faixa-alta .wp-block-image.fm-px img { object-position: 60% 38%; }

/* ---------- imagem de fundo com véu que abre e fecha ao rolar (06/10) ----------
   A imagem fica atrás do texto. O véu (cor da própria seção) é quase transparente quando a seção entra ou sai da tela
   e fica 90% opaco quando o texto está no centro, para a leitura. veil.js define --fm-veil (0 a 1).
   Sem JavaScript ou com "reduzir movimento": véu opaco, a seção fica como era antes (só a cor). */
.fm-veil { position: relative; overflow: hidden; isolation: isolate; }
.fm-veil > .fm-veil-img { position: absolute !important; inset: 0; width: 100%; height: 100%; max-width: none !important; margin: 0 !important; z-index: 0; }
.fm-veil > .fm-veil-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fm-veil::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: var(--fm-veil-c, #2A452E); opacity: var(--fm-veil, var(--fm-veil-max, .9)); }
.fm-veil > :not(.fm-veil-img) { position: relative; z-index: 2; }
.fm-veil.fm-rings-bg::before { z-index: 2; }
/* Teste 08/10: o texto da seção clareia nas bordas (veil.js define --fm-txt); sem JavaScript fica em 100% */
.fm-veil-txt > :not(.fm-veil-img) { opacity: var(--fm-txt, 1); }
.fm-veil-verde-musgo { --fm-veil-c: var(--wp--preset--color--verde-musgo, #2A452E); }
.fm-veil-areia { --fm-veil-c: var(--wp--preset--color--areia, #DDC2A5); }
.fm-veil-chocolate { --fm-veil-c: var(--wp--preset--color--chocolate, #3C2012); }
.fm-veil-verde-musgo > .fm-veil-img img { object-position: 60% 55%; }
.fm-veil-chocolate > .fm-veil-img img { object-position: 50% 40%; }

/* Celular: a caixa da tese é alta e estreita, então "cover" ampliava demais a casca. Aqui a imagem mantém a proporção original
   (a casca inteira, com respiro), centralizada, e as bordas de cima e de baixo se dissolvem na cor da seção. */
@media (max-width: 700px) {
	.fm-veil > .fm-veil-img img[src*="veu-corpo"] {
		position: absolute; left: 50%; top: 50%; width: 125%; height: auto; max-width: none; object-fit: contain;
		transform: translate(-50%, -50%);
		-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 22%, #000 78%, transparent 100%);
		mask-image: linear-gradient(to bottom, transparent 0, #000 22%, #000 78%, transparent 100%);
	}
}
/* Celular: espaço próprio para a casca embaixo do texto da tese, para ela ser vista inteira e com respiro */
@media (max-width: 700px) {
	.fm-veil-verde-musgo { padding-bottom: calc(var(--wp--preset--spacing--60, 60px) + 230px) !important; }
	.fm-veil > .fm-veil-img img[src*="veu-corpo"] { top: auto; bottom: 0; transform: translate(-50%, 0); }
}

/* ---------- outras páginas (06/10): enquadramento de cada imagem de fundo e fotos em retângulo arredondado ---------- */
.fm-veil > .fm-veil-img img[src*="veu-sala"] { object-position: 50% 62%; }
.fm-veil > .fm-veil-img img[src*="veu-sessao"] { object-position: 50% 62%; }
.fm-veil > .fm-veil-img img[src*="veu-porta"] { object-position: 78% 50%; }
.fm-veil > .fm-veil-img img[src*="veu-caminhos"] { object-position: 50% 58%; }
.fm-veil > .fm-veil-img img[src*="veu-trilha"] { object-position: 50% 78%; }
/* Como posso ajudar (07/10): véu mais leve nas duas imagens, para a imagem aparecer */
.fm-veil-leve-1 { --fm-veil-max: .35; }
.fm-veil-leve-2 { --fm-veil-max: .42; }
.fm-veil > .fm-veil-img img[src*="veu-escrita"] { object-position: 50% 40%; }
/* foto de palestra: retângulo com cantos arredondados, como a foto do espaço */
.wp-block-image.fm-foto-ret { aspect-ratio: 4 / 3; border-radius: 20px; overflow: hidden; margin: 0 !important; }
.wp-block-image.fm-foto-ret img { width: 100%; height: 100%; object-fit: cover; object-position: 58% 38%; display: block; }
/* retrato do Sobre: mesma moldura do espaço, mais alta */
.wp-block-image.fm-px-frame img[src*="retrato-sobre"] { object-position: 50% 18%; }
@media (max-width: 781px) { .wp-block-image.fm-px-frame { max-height: 560px; } }

/* ---------- aviso de cookies (07/10): só aparece com Analytics configurado ---------- */
.fm-cookie-open { margin-left: 20px; }
.fm-cookie { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 70; max-width: 560px; padding: 18px 20px; border-radius: 16px; background: var(--wp--preset--color--marfim); color: var(--wp--preset--color--chocolate); box-shadow: 0 10px 32px rgba(28,15,8,0.28); font-size: 16px; line-height: 1.5; }
.fm-cookie p { margin: 0 0 14px; }
.fm-cookie a { color: var(--wp--preset--color--telha); text-decoration: underline; }
.fm-cookie-btns { display: flex; gap: 10px; }
.fm-cookie-btns button { flex: 1; min-height: 48px; padding: 0 18px; border-radius: 999px; border: 1.5px solid var(--wp--preset--color--chocolate); background: transparent; color: var(--wp--preset--color--chocolate); font: 600 16px/1 var(--wp--preset--font-family--inter); cursor: pointer; }
.fm-cookie-btns button[data-v="yes"] { background: var(--wp--preset--color--chocolate); color: var(--wp--preset--color--marfim); }
.fm-cookie-btns button:focus-visible { outline: 3px solid var(--wp--preset--color--telha); outline-offset: 2px; }
@media (max-width: 781px) { .fm-cookie { bottom: calc(96px + env(safe-area-inset-bottom)); } }
.fm-cookie-open[hidden] { display: none; }

/* nota de 2026 no topo de textos antigos */
.fm-nota { padding: 14px 18px; border-left: 3px solid var(--wp--preset--color--telha); background: rgba(146,51,22,.07); border-radius: 0 10px 10px 0; font-size: 17px; }
