/* ==========================================================================
   FMPortugal — folha de estilos do tema (todas as páginas).
   Junta o que vivia nos snippets 21076 (cabeçalho, rodapé, skin), 21061/21062 (listagens, topo do artigo),
   18383 (caixas de edição), 18344 (lightbox), 18347 (modo escuro), no Header & Footer do WPCode e no CSS
   adicional do Customizer. Cores e letras: GUIA-MARCA.md. Modo noite por defeito (html.wp-dark-mode-active),
   modo dia quando o visitante escolhe (html sem a classe). O cabeçalho e o rodapé ficam sempre escuros.
   ========================================================================== */

/* ---------- 1. tokens ---------- */
:root {
  --noite: #130D2A; --noite-2: #090716; --tinta: #1C1438; --tinta-2: #251B4A;
  --rosa: #FF3D9A; --rosa-botao: #D61F78; --violeta: #7C4DFF; --lavanda: #B9A6FF; --ciano: #22C3E6;
  --texto: #FFFFFF; --texto-2: #CFC6F2; --texto-3: #9C93C4; --linha: rgba(185, 166, 255, .14);
  /* conteúdo (artigos e listagens) */
  --bg: #090716; --card: #1C1438; --card-2: #251B4A; --borda: rgba(185, 166, 255, .18);
  --h: #FFFFFF; --tx: #E2DCF7; --mu: #B3AAD6; --link: #FF6FB5; --link-hover: #FFFFFF;
  /* cor de cada edição (GUIA-CAPAS.md, família A) */
  --ed-fm27: linear-gradient(120deg, #9C0A78, #08708F); --ed-fm26: #5B2A86; --ed-fm24: #1E3F8A; --ed-fm23: #0B6B66;
  --ed-fm22: #7A1A34; --ed-fm21: #0A6A6A; --ed-fm20: #1A6B32; --ed-cm: #7A1F1F;
  --titulo: 'Oswald', 'Arial Narrow', sans-serif;
  --corpo: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --r-peq: 6px; --r-med: 12px; --largura: 1200px; --largura-texto: 860px;
}
html:not(.wp-dark-mode-active) {
  --noite: #F1ECFF; --noite-2: #FFFFFF; --tinta: #F6F3FF; --tinta-2: #E8E1FF;
  --texto: #15112B; --texto-2: #3B3560; --texto-3: #6B6590; --lavanda: #5B3FD0; --linha: rgba(76, 55, 160, .18);
  --bg: #F7F5FF; --card: #FFFFFF; --card-2: #EDE7FF; --borda: #E0D8FA;
  --h: #15112B; --tx: #2A2350; --mu: #5B5480; --link: #BE185D; --link-hover: #15112B; --rosa: #D61F78;
}
html.wp-dark-mode-active { color-scheme: dark; scrollbar-color: #2e334d var(--noite-2); }

/* ---------- 2. base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { background: var(--bg); -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--tx); font: 16px/1.55 var(--corpo); -webkit-font-smoothing: antialiased; overflow-wrap: break-word; }
img, video { max-width: 100%; height: auto; }
img { display: block; }
a { color: var(--link); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--link-hover); }
:focus-visible { outline: 2px solid var(--rosa); outline-offset: 3px; border-radius: 4px; }
button, input, select, textarea { font: inherit; color: inherit; }
.contentor { max-width: var(--largura); margin: 0 auto; padding: 0 16px; }
@media (min-width: 768px) { .contentor { padding: 0 32px; } }
.sr-only, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.saltar { position: absolute; left: 16px; top: -60px; z-index: 1000; padding: 10px 14px; background: var(--rosa-botao); color: #fff; border-radius: var(--r-peq); text-decoration: none; }
.saltar:focus { top: 12px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--titulo); font-weight: 600; line-height: 1.15; color: var(--h); margin: 0 0 .5em; text-wrap: balance; }
h1 { font-size: clamp(30px, 4.5vw, 46px); }
h2 { font-size: clamp(24px, 3vw, 32px); }
h3 { font-size: clamp(20px, 2.4vw, 24px); }
h4 { font-size: 19px; }
p { margin: 0 0 1.2em; }
hr { border: 0; border-top: 1px solid var(--borda); margin: 2em 0; }
::selection { background: var(--rosa); color: #fff; }
.site-main { min-height: 50vh; }
.admin-bar .cabecalho { top: 32px; }
@media (max-width: 782px) { .admin-bar .cabecalho { top: 46px; } }

/* ---------- 3. botões, pílulas, edições ---------- */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 20px; background: var(--rosa-botao); color: #fff !important; text-decoration: none !important; font: 600 16px/1.2 var(--titulo); letter-spacing: .4px; border-radius: var(--r-peq); border: 0; cursor: pointer; transition: background .15s ease, transform .15s ease; }
.botao:hover { background: #B8155F; }
.botao:active { transform: translateY(1px); }
.botao-sec { background: transparent; color: var(--texto) !important; box-shadow: inset 0 0 0 1px var(--linha); }
.botao-sec:hover { background: var(--tinta-2); }
.pilula { display: inline-block; padding: 3px 9px; border-radius: 4px; background: var(--rosa); color: var(--noite); font: 700 12px/1.4 var(--corpo); letter-spacing: .6px; }
.ed { display: inline-block; padding: 2px 8px; border-radius: 4px; font: 600 12px/1.5 var(--corpo); color: #fff; }
.ed-fm27 { background: var(--ed-fm27); } .ed-fm26 { background: var(--ed-fm26); } .ed-fm24 { background: var(--ed-fm24); } .ed-fm23 { background: var(--ed-fm23); } .ed-fm22 { background: var(--ed-fm22); } .ed-cm { background: var(--ed-cm); }

/* ---------- 4. cabeçalho (sempre escuro) ---------- */
.cabecalho { --texto: #fff; --texto-2: #CFC6F2; --texto-3: #9C93C4; --tinta: #1C1438; --tinta-2: #251B4A; --noite-2: #090716; --linha: rgba(185, 166, 255, .14); --rosa: #FF3D9A;
  position: sticky; top: 0; z-index: 999; background: rgba(9, 7, 22, .96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--linha); color: #fff; font: 16px/1.55 var(--corpo); }
.cabecalho .contentor { position: relative; display: flex; align-items: center; gap: 24px; min-height: 64px; }
.cabecalho .marca { display: block; text-decoration: none; color: #fff; white-space: nowrap; }
.cabecalho .marca img { display: block; height: 56px; width: auto; }
.cabecalho .menu-principal { min-width: 0; }
.cabecalho .menu { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.cabecalho .menu li { position: relative; margin: 0; padding: 0; list-style: none; }
.cabecalho .menu a { display: block; padding: 10px 12px; text-decoration: none; color: var(--texto-2); font: 500 16px/1.4 var(--corpo); border-radius: var(--r-peq); white-space: nowrap; }
.cabecalho .menu a:hover { color: #fff; background: var(--tinta); }
.cabecalho .menu a[aria-current="page"], .cabecalho .menu .current-menu-item > a, .cabecalho .menu .current-menu-ancestor > a { color: #fff; box-shadow: inset 0 -2px 0 var(--rosa); border-radius: 0; }
/* submenus (se o menu do WordPress os tiver) */
.cabecalho .menu .sub-menu { display: none; position: absolute; left: 0; top: 100%; min-width: 220px; margin: 0; padding: 8px; list-style: none; background: var(--noite-2); border: 1px solid var(--linha); border-radius: var(--r-med); box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .7); z-index: 30; }
.cabecalho .menu li:hover > .sub-menu, .cabecalho .menu li:focus-within > .sub-menu { display: block; }
.cabecalho .menu .sub-menu a { font-size: 15px; white-space: normal; }
.cabecalho .menu .menu-item-has-children > a::after { content: "▾"; margin-left: 6px; font-size: 11px; opacity: .7; }
.cabecalho .acoes { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.cabecalho .botao { font-size: 16px; }
.cabecalho .botao:hover { background: #B8155F; color: #fff; }
.cabecalho .tema, .cabecalho .lupa { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--r-peq); background: transparent; color: #fff; cursor: pointer; box-shadow: inset 0 0 0 1px var(--linha); }
.cabecalho .tema:hover, .cabecalho .lupa:hover, .cabecalho .lupa[aria-expanded="true"] { background: var(--tinta); }
.cabecalho .tema .ic-lua { display: none; }
html:not(.wp-dark-mode-active) .cabecalho .tema .ic-sol { display: none; }
html:not(.wp-dark-mode-active) .cabecalho .tema .ic-lua { display: block; }
.wp-dark-mode-floating-switch { display: none !important; }
.cabecalho .pesq-caixa { position: absolute; right: 16px; left: 16px; top: 72px; max-width: 560px; margin: 0 0 0 auto; padding: 10px; background: var(--tinta); border-radius: var(--r-med); box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .7), inset 0 0 0 1px var(--linha); z-index: 20; }
.cabecalho .pesq-caixa[hidden] { display: none; }
.pesq-form { display: flex; gap: 8px; margin: 0; }
.pesq-form input { flex: 1; min-width: 0; min-height: 44px; margin: 0; padding: 10px 14px; font: 16px var(--corpo); color: var(--texto); background: var(--noite-2); border: 1px solid var(--linha); border-radius: var(--r-peq); }
.pesq-form input::placeholder { color: var(--texto-3); }
.cabecalho .pesq-form input { color: #fff; }
.cabecalho .menu-movel { display: none; margin-left: 8px; }
.cabecalho :focus-visible { outline: 2px solid var(--rosa); outline-offset: 3px; }
@media (max-width: 900px) {
  .cabecalho .contentor { gap: 12px; }
  .cabecalho .menu-principal, .cabecalho .acoes .botao { display: none; }
  .cabecalho .menu-movel { display: block; }
  .cabecalho .menu-movel summary { list-style: none; cursor: pointer; padding: 10px 14px; border-radius: var(--r-peq); box-shadow: inset 0 0 0 1px var(--linha); font-weight: 500; color: #fff; min-height: 44px; display: grid; place-items: center; }
  .cabecalho .menu-movel summary::-webkit-details-marker { display: none; }
  .cabecalho .menu-movel[open] .menu-movel-lista { position: absolute; left: 0; right: 0; top: 64px; padding: 8px 16px 16px; background: #090716; border-bottom: 1px solid var(--linha); max-height: calc(100vh - 64px); max-height: calc(100dvh - 64px); overflow-y: auto; }
  .cabecalho .menu-movel .menu { flex-direction: column; gap: 0; }
  .cabecalho .menu-movel .menu a { padding: 13px 10px; border-bottom: 1px solid rgba(255, 255, 255, .07); border-radius: 0; font: 600 17px/1.3 var(--titulo); letter-spacing: .03em; text-transform: uppercase; color: #fff; white-space: normal; }
  .cabecalho .menu-movel .menu a[aria-current="page"] { color: var(--rosa); box-shadow: none; }
  .cabecalho .menu-movel .menu .sub-menu { display: block; position: static; min-width: 0; padding: 0 0 0 16px; border: 0; box-shadow: none; background: transparent; }
  .cabecalho .menu-movel .menu .sub-menu a { font: 500 15px/1.35 var(--corpo); text-transform: none; color: rgba(255, 255, 255, .86); }
  .cabecalho .menu-movel .menu .menu-item-has-children > a::after { content: ""; }
  .cabecalho .menu-movel .botao { margin-top: 12px; width: 100%; }
  .cabecalho .marca img { height: 46px; }
}

/* ---------- 5. rodapé (sempre escuro) ---------- */
#fmpt-rodape { --linha: rgba(185, 166, 255, .14); background: #090716; color: #9C93C4; border-top: 1px solid var(--linha); margin-top: 72px; padding: 40px 0 56px; font: 14px/1.55 var(--corpo); }
#fmpt-rodape .contentor { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; }
#fmpt-rodape .marca img { display: block; height: 40px; width: auto; }
#fmpt-rodape nav { display: flex; flex-wrap: wrap; gap: 8px 18px; }
#fmpt-rodape .links a { color: #CFC6F2; text-decoration: none; }
#fmpt-rodape .links a:hover { color: #fff; text-decoration: underline; }
#fmpt-rodape .redes { gap: 8px; }
#fmpt-rodape .redes a { width: 44px; height: 44px; display: inline-grid; place-items: center; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--linha); color: #CFC6F2; text-decoration: none; }
#fmpt-rodape .redes a:hover { color: #fff; background: #1C1438; }
#fmpt-rodape .redes svg { display: block; }
#fmpt-rodape .copy { color: #9C93C4; }
.fmpt-home #fmpt-rodape { margin-top: 96px; }

/* ---------- 6. listagens ---------- */
.lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: var(--largura); margin: 0 auto; padding: 24px 16px 0; align-items: stretch; }
@media (min-width: 768px) { .lista { padding: 32px 32px 0; } }
@media (max-width: 1023px) { .lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lista > .topo-listagem, .lista > .migalhas, .lista > .cats-caixa, .lista > .navigation, .lista > .lista-vazia, .lista > .yith-infs-loader, .lista > .infinite-loader, .lista > .fmpt-ad { grid-column: 1 / -1; }
.topo-listagem { position: relative; overflow: hidden; text-align: center; padding: 28px 18px 26px; border-radius: 16px; background: radial-gradient(90% 120% at 100% 0%, rgba(124, 77, 255, .35), transparent 60%), linear-gradient(135deg, #130D2A 0%, #1A0B3B 60%, #3D0A4F 100%); box-shadow: inset 0 0 0 1px rgba(185, 166, 255, .14); color: #fff; }
.topo-listagem .titulo-listagem { color: #fff; font-size: clamp(28px, 3.6vw, 34px); line-height: 1.1; margin: 0; text-transform: uppercase; }
.topo-listagem .descricao-listagem { color: rgba(255, 255, 255, .8); margin: 10px auto 0; max-width: 560px; font-size: 15px; }
.topo-listagem .descricao-listagem p:last-child { margin-bottom: 0; }
.topo-listagem .pesq-listagem { max-width: 560px; margin: 16px auto 0; }
.pesq-listagem .pesq-form input { background: rgba(255, 255, 255, .08); color: #fff; border-color: rgba(185, 166, 255, .3); }
.pesq-listagem .pesq-form input::placeholder { color: rgba(255, 255, 255, .6); }
.lista-icone { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin: 0 auto 12px; border-radius: 14px; background: linear-gradient(135deg, #FF3D9A, #7C4DFF); box-shadow: 0 6px 20px rgba(255, 61, 154, .35); color: #fff; }
.migalhas { display: flex; align-items: center; gap: 6px; font-size: 13px; margin: -8px 4px 0; color: var(--mu); }
.migalhas a { color: var(--link); text-decoration: none; display: inline-flex; }
.migalhas a:hover { color: var(--link-hover); }
/* cartão (computador: imagem em cima) */
.cartao { position: relative; display: flex; flex-direction: column; margin: 0; background: var(--card); border: 1px solid var(--borda); border-radius: 12px; overflow: hidden; transition: border-color .15s ease, transform .15s ease; }
.cartao:hover { border-color: var(--violeta); }
.cartao .cartao-liga { position: absolute; inset: 0; z-index: 1; }
.cartao .cartao-img { position: relative; aspect-ratio: 16 / 9; background: var(--noite); overflow: hidden; }
.cartao .cartao-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .4s ease; }
.cartao:hover .cartao-img img { transform: scale(1.03); }
.cartao .cartao-sem-img { position: absolute; inset: 0; display: grid; place-items: center; color: var(--lavanda); opacity: .5; }
.cartao .cartao-corpo { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px 14px; flex: 1; }
.cartao .entry-title { font: 500 18px/1.25 var(--titulo); margin: 0; color: var(--h); }
.cartao .entry-title a { color: inherit; text-decoration: none; position: relative; z-index: 2; }
.cartao:hover .entry-title a { color: var(--rosa); }
.cartao .cartao-excerto { margin: 0; font-size: 14px; color: var(--mu); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cartao .cartao-seta { display: none; }
.cartao-etiquetas { display: flex; flex-wrap: wrap; gap: 6px; }
.etiqueta { display: inline-block; padding: 3px 8px; border-radius: 5px; color: #fff !important; font: 700 11px/1.4 var(--corpo); letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; position: relative; z-index: 2; white-space: nowrap; transition: filter .15s, transform .15s; }
.etiqueta:hover, .etiqueta:focus-visible { filter: brightness(1.15); transform: translateY(-1px); }
.etiqueta-versao { background: #1D4ED8; }
.etiqueta-tipo { background: #7C3AED; }
.etiqueta .etiq-curta { display: none; }
.cartao-data { display: flex; align-items: center; gap: 5px; font-size: 12px; color: var(--mu); margin-top: auto; }
.cartao-data svg { flex: none; }
/* telemóvel: linha com miniatura à esquerda (como no site desde 24/10) */
@media (max-width: 767px) {
  .lista { grid-template-columns: 1fr; gap: 12px; }
  .cartao { display: grid; grid-template-columns: 136px 1fr 14px; align-items: center; gap: 0 12px; padding: 10px; cursor: pointer; }
  .cartao .cartao-img { aspect-ratio: 16 / 9; width: 136px; border-radius: 8px; align-self: center; }
  .cartao .cartao-img img { object-fit: contain; background: var(--noite); }
  .cartao .cartao-corpo { padding: 0; gap: 5px; min-width: 0; }
  .cartao .entry-title { font-size: 13px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
  body:not(.single) .cartao.category-fun .entry-title { font-size: 13px; line-height: 1.2; -webkit-line-clamp: 6; line-clamp: 6; }
  .cartao .cartao-excerto { display: none; }
  .cartao .cartao-seta { display: block; color: var(--mu); font-size: 20px; line-height: 1; }
  .etiqueta { padding: 2px 7px; font-size: 10px; }
  .etiqueta .etiq-longa { display: none; }
  .etiqueta .etiq-curta { display: inline; }
  .cartao-data { margin-top: 0; }
  .topo-listagem .titulo-listagem { font-size: 28px; }
}
/* paginação (o YITH esconde-a e carrega a seguinte sozinho) */
.navigation.pagination { margin: 16px 0 0; text-align: center; }
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }
.navigation.pagination .page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 12px; background: var(--card); border: 1px solid var(--borda); border-radius: var(--r-peq); color: var(--h); text-decoration: none; }
.navigation.pagination .page-numbers.current { background: #D61F78; border-color: #D61F78; color: #fff; }
.navigation.pagination a.page-numbers:hover { border-color: var(--violeta); }
.fmpt-infs .navigation.pagination { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.yith-infs-loader, .infinite-loader { text-align: center; padding: 16px; }
.lista-vazia { text-align: center; padding: 48px 16px; color: var(--mu); }
.lista-vazia .botao { margin-top: 8px; }

/* ---------- 7. caixas «Mais categorias» / «Escolhe a edição» ---------- */
.cats-caixa { max-width: 1140px; margin: 0 auto; padding: 10px 20px 40px; }
.cats-caixa h2 { font: 600 32px/1.15 var(--titulo); margin: 0; color: var(--h); }
.cats-grelha { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 16px; }
.cats-caixa a.cat-item { display: flex; align-items: center; gap: 10px; padding: 14px 12px; background: var(--card); border: 1px solid var(--borda); border-radius: 12px; text-decoration: none !important; color: var(--h) !important; font: 700 13px/1.2 var(--corpo); text-transform: uppercase; letter-spacing: .04em; transition: border-color .2s, transform .2s; }
.cats-caixa a.cat-item:hover { border-color: var(--violeta); transform: translateY(-2px); }
.cats-caixa a.cat-item span { flex: 1; color: var(--h) !important; }
.cats-caixa a.cat-item .cat-icone { flex: 0 0 26px; display: grid; place-items: center; }
.cats-caixa a.cat-item i { font-style: normal; font-size: 18px; color: var(--mu) !important; }
.cats-caixa.cats-edicoes { max-width: none; margin: 0 0 8px; padding: 4px 0 24px; }
.cats-caixa.cats-edicoes h2 { font-size: 22px; }
.cats-caixa.cats-edicoes .cats-grelha { grid-template-columns: repeat(3, 1fr); }
.cats-caixa.cats-edicoes.cats-4 .cats-grelha { grid-template-columns: repeat(4, 1fr); }
.cats-caixa.cats-edicoes a.cat-item.is-current { background: #5B2A86 !important; border-color: #7C4DFF !important; }
.cats-caixa.cats-edicoes a.cat-item.is-current span, .cats-caixa.cats-edicoes a.cat-item.is-current i { color: #fff !important; }
.cats-caixa.cats-tipos { padding-top: 0; }
.cats-caixa.cats-tipos a.cat-item { padding: 11px 12px; }
@media (max-width: 1023px) { .cats-caixa.cats-edicoes.cats-4 .cats-grelha { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) {
  .cats-caixa { padding: 6px 16px 32px; }
  .cats-caixa h2 { font-size: 24px; }
  .cats-grelha { grid-template-columns: 1fr 1fr; gap: 10px; }
  .cats-caixa a.cat-item { font-size: 11.5px; padding: 12px 10px; }
  .cats-caixa.cats-edicoes { padding: 0 0 18px; }
  .cats-caixa.cats-edicoes h2 { font-size: 20px; }
  .cats-caixa.cats-edicoes .cats-grelha { grid-template-columns: 1fr 1fr; }
}

/* ---------- 8. cartões de guias (página inicial, snippets 19887/18982) ---------- */
.fmpt-pop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.fmpt-pop-card { display: flex; flex-direction: column; border-radius: var(--r-med); overflow: hidden; background: var(--card); border: 1px solid var(--borda); text-decoration: none !important; color: var(--h) !important; transition: border-color .15s ease, transform .15s ease; }
.fmpt-pop-card:hover { border-color: var(--violeta); transform: translateY(-2px); }
.fmpt-pop-img { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--noite); }
.fmpt-pop-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.fmpt-badge { position: absolute; right: 8px; bottom: 8px; z-index: 2; padding: 3px 8px; border-radius: 5px; font: 700 11px/1.3 var(--corpo); letter-spacing: .06em; text-transform: uppercase; color: #fff !important; background: #6E0FD7; pointer-events: none; }
.fmpt-badge.b-novidades, .fmpt-badge.b-noticias { background: #BE185D; } .fmpt-badge.b-downloads { background: #15803D; } .fmpt-badge.b-wonderkids { background: #1D4ED8; } .fmpt-badge.b-entrevistas { background: #C2410C; } .fmpt-badge.b-ferramenta { background: #0F766E; } .fmpt-badge.b-curiosidades, .fmpt-badge.b-historias { background: #B45309; } .fmpt-badge.b-guias, .fmpt-badge.b-taticas { background: #0E7490; }
.fmpt-pop-t { display: block; flex: 1; padding: 12px 14px 14px; font: 500 17px/1.25 var(--titulo); color: var(--h) !important; }
.fmpt-pop-card:hover .fmpt-pop-t { color: var(--rosa) !important; }
.fmpt-pop-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 16px; }
.fmpt-pop-head h2 { margin: 0; }
.fmpt-pop-more { flex: none; font: 600 14px/1.3 var(--titulo); text-transform: uppercase; color: var(--lavanda) !important; text-decoration: none !important; white-space: nowrap; }
.fmpt-pop-more:hover { color: var(--rosa) !important; }
@media (max-width: 900px) { .fmpt-pop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .fmpt-pop-t { font-size: 14px; padding: 8px 10px 10px; } }
#fmpt-pop-auto-src, #fmpt-stories-src { display: none !important; }

/* ---------- 9. artigo e página ---------- */
.artigo { max-width: var(--largura-texto); margin: 0 auto; padding: 0 16px 16px; }
@media (min-width: 768px) { .artigo { padding: 0 24px 24px; } }
.artigo-topo { position: relative; padding-top: 44px; }
.artigo-topo.sem-imagem { padding-top: 32px; }
.artigo-voltar { position: absolute; top: 8px; left: 0; display: inline-flex; align-items: center; gap: 4px; min-height: 36px; padding: 0 6px 0 0; font-size: 14px; color: var(--mu) !important; text-decoration: none !important; }
.artigo-voltar:hover { color: var(--link) !important; }
.pagina .artigo-topo.sem-imagem { padding-top: 24px; }
.artigo-capa { margin: 0 -16px; }
@media (min-width: 768px) { .artigo-capa { margin: 0; border-radius: var(--r-med); overflow: hidden; box-shadow: 0 0 0 1px var(--borda), 0 30px 60px -30px rgba(124, 77, 255, .5); } }
.artigo-capa img.artigo-hero { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; background: var(--noite); }
.pagina-capa { margin-top: 8px; }
.artigo-cab { padding: 18px 0 8px; }
.artigo-linha { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; }
.artigo-badge { display: inline-block; padding: 3px 9px; border-radius: 6px; background: #7C3AED; color: #fff !important; font: 700 11px/1.4 var(--corpo); letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; }
.artigo-badge:hover { background: #6D28D9; }
.artigo .entry-title { font-size: clamp(27px, 4vw, 44px); line-height: 1.12; margin: 0 0 10px; color: var(--h); }
.artigo-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 13px; color: var(--mu) !important; margin: 0; }
.artigo-meta span { display: inline-flex; align-items: center; gap: 5px; color: var(--mu) !important; }
.artigo-meta svg { flex: none; }
/* texto do artigo (tipografia que estava no CSS adicional + skin) */
.entry-content { font-size: 18px; line-height: 1.75; letter-spacing: .1px; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content p, .entry-content li { color: var(--tx); }
.entry-content p { margin-bottom: 1.3em; }
.entry-content ul, .entry-content ol { padding-left: 1.4em; margin: 0 0 1.3em; }
.entry-content li { margin: .3em 0; }
.entry-content h2, .entry-content h3, .entry-content h4 { margin-top: 1.7em; margin-bottom: .6em; color: var(--h); }
.entry-content h2 { font-size: clamp(26px, 3vw, 34px); border-left: 4px solid var(--rosa); padding-left: 14px; }
.entry-content h3 { font-size: clamp(21px, 2.4vw, 26px); }
.entry-content h4 { font-size: 1.15em; }
.entry-content strong, .entry-content b { color: var(--h); }
.entry-content a:not([class*="button"]):not([class*="btn"]):not(.su-button):not(.etiqueta) { color: var(--link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; font-weight: 600; transition: color .2s ease; }
.entry-content a:not([class*="button"]):not([class*="btn"]):not(.su-button):hover { color: var(--link-hover); }
.entry-content img { display: inline-block; vertical-align: middle; height: auto; border-radius: 8px; } /* inline como no editor clássico: logótipos lado a lado, centrados pelo parágrafo */
.entry-content img.aligncenter, .entry-content figure img, .entry-content .wp-caption img, .entry-content p > img:only-child.size-full, .entry-content p > img:only-child.size-large { display: block; }
.entry-content img.aligncenter { margin-left: auto; margin-right: auto; }
.entry-content figure.wp-caption, .entry-content figure { max-width: 100%; margin: 0 0 1.3em; }
.entry-content figure.aligncenter, .entry-content figure.wp-caption.aligncenter { margin-left: auto; margin-right: auto; }
.entry-content .wp-caption img { width: 100%; }
.entry-content p[style*="text-align: center"], .entry-content p[style*="text-align:center"] { text-align: center; }
.entry-content .alignleft { float: left; margin: 0 1.5em 1em 0; }
.entry-content .alignright { float: right; margin: 0 0 1em 1.5em; }
.entry-content .wp-caption { max-width: 100%; }
.entry-content .wp-caption-text, .entry-content figcaption { font-size: 14px; color: var(--mu); text-align: center; margin: 6px 0 0; }
.entry-content blockquote { margin: 1.5em 0; padding: 14px 18px; border-left: 4px solid var(--violeta); background: var(--card); color: var(--tx); border-radius: 0 12px 12px 0; }
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content code { background: rgba(185, 166, 255, .12); color: var(--h); padding: 2px 6px; border-radius: 4px; font-size: .9em; }
.entry-content pre { background: var(--card); border: 1px solid var(--borda); border-radius: 8px; padding: 14px; overflow: auto; font-size: 14px; }
.entry-content table { width: 100%; border-collapse: collapse; margin: 0 0 1.5em; font-size: 15px; }
.entry-content th, .entry-content td { border: 1px solid var(--borda); padding: 8px 10px; text-align: center; color: var(--tx); }
.entry-content th { background: var(--card-2); color: var(--h); }
.entry-content iframe { max-width: 100%; }
.entry-content .wp-video, .entry-content video { max-width: 100%; }
.entry-content hr { border-top-color: var(--borda); }
/* vídeos e embeds em 16:9 */
.entry-content iframe[src*="youtube"], .entry-content iframe[src*="youtu.be"], .entry-content iframe[src*="vimeo"] { aspect-ratio: 16 / 9; width: 100%; height: auto; }
/* anterior/seguinte */
.post-navigation { margin: 32px 0 0; padding-top: 20px; border-top: 1px solid var(--borda); }
.post-navigation .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.post-navigation .nav-next { text-align: right; }
.post-navigation a { display: block; text-decoration: none; color: var(--h); }
.post-navigation .nav-rotulo { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--mu); margin-bottom: 4px; }
.post-navigation .nav-titulo { font: 500 16px/1.3 var(--titulo); }
.post-navigation a:hover .nav-titulo { color: var(--rosa); }
@media (max-width: 600px) { .post-navigation .nav-links { grid-template-columns: 1fr; } .post-navigation .nav-next { text-align: left; } }
/* anúncio (o que estava na barra lateral), só no computador */
.fmpt-ad-artigo { margin: 32px 0 0; text-align: center; }
.fmpt-ad-label { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--mu); margin-bottom: 6px; }
@media (max-width: 921px) { .fmpt-ad-artigo { display: none !important; } }
/* comentários do WordPress (raros: os artigos usam o fórum) */
.comentarios { margin-top: 40px; }
.comentarios-lista { list-style: none; margin: 0; padding: 0; }
.comentarios-lista .comment { padding: 14px 0; border-top: 1px solid var(--borda); }
.comentarios-lista .avatar { border-radius: 50%; }
.comment-form input:not([type="submit"]), .comment-form textarea { width: 100%; padding: 10px 12px; background: var(--card); border: 1px solid var(--borda); border-radius: var(--r-peq); color: var(--tx); }
.comment-form input[type="submit"], input[type="submit"].wpcf7-submit, .wpcf7-submit { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 20px; background: var(--rosa-botao); color: #fff; border: 0; border-radius: var(--r-peq); font: 600 16px/1.2 var(--titulo); cursor: pointer; }
/* Contact Form 7 */
.wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .wpcf7 textarea, .wpcf7 select { width: 100%; padding: 10px 12px; background: var(--card); border: 1px solid var(--borda); border-radius: var(--r-peq); color: var(--tx); }
.wpcf7 label { display: block; margin-bottom: 12px; color: var(--tx); }

/* ---------- 10. caixas que os snippets põem no artigo ---------- */
/* partilha (20456): tira o inline branco sobre fundo claro */
.fmp-share { margin: 2em 0 0 !important; padding: 14px 16px !important; border: 0 !important; border-radius: 12px; background: #1C1438; }
.fmp-share, .fmp-share p, .fmp-share a, .fmp-share button { color: #fff !important; }
.fmp-share a, .fmp-share button { background: #7C4DFF !important; }
.fmp-share a:hover, .fmp-share button:hover { background: #6B3DF0 !important; }
/* caixa de compra (site.js) */
.fmpt-buy { margin: 28px 0 8px; padding: 18px 18px 14px; border-radius: 14px; background: linear-gradient(135deg, #130D2A 0%, #1A0B3B 60%, #3D0A4F 100%); color: #fff; box-shadow: inset 0 0 0 1px rgba(185, 166, 255, .14); }
.fmpt-buy p { margin: 0 0 12px !important; color: #E2DCF7 !important; font-size: 16px; line-height: 1.45; }
.fmpt-buy strong { color: #fff !important; }
.fmpt-buy code { background: rgba(255, 255, 255, .14); color: #fff; padding: 2px 7px; border-radius: 5px; font-weight: 700; letter-spacing: .04em; }
.fmpt-buy-b { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.entry-content .fmpt-buy a.fmpt-buy-btn, .fmpt-buy a.fmpt-buy-btn { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border-radius: 9px; background: #D61F78; color: #fff !important; font: 600 15px/1.2 var(--titulo); text-decoration: none !important; }
.entry-content .fmpt-buy a.fmpt-buy-btn.alt, .fmpt-buy a.fmpt-buy-btn.alt { background: rgba(255, 255, 255, .12); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); }
.fmpt-buy small { display: block; color: rgba(255, 255, 255, .65); font-size: 12px; }
/* Ko-fi (site.js) */
.fmpt-kofi { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 28px 0 0; padding: 14px 16px; border: 1px solid var(--borda); border-radius: 14px; background: var(--card); }
.fmpt-kofi p { margin: 0 !important; font-size: 15px; line-height: 1.45; }
.entry-content a.fmpt-kofi-btn, a.fmpt-kofi-btn { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 9px 16px; border-radius: 9px; background: #C9302C; color: #fff !important; font: 600 14px/1.2 var(--titulo); text-decoration: none !important; }
.entry-content a.fmpt-kofi-btn:hover, a.fmpt-kofi-btn:hover { background: #B02823; }
/* comentários do fórum (20978) */
.fmpt-forum { margin: 2.5em 0 1em; padding: 1.2em 1.25em; border: 1px solid var(--borda) !important; border-radius: 12px; background: var(--card) !important; font-size: 15px; line-height: 1.5; }
.fmpt-forum h3 { margin: 0 0 .8em; font-size: 1.15em; }
.fmpt-forum .fmpt-vazio { margin: 0 0 1em; color: var(--mu) !important; }
.fmpt-forum ul { list-style: none; margin: 0 0 1em; padding: 0; }
.fmpt-forum li { display: flex; gap: .75em; padding: .8em 0; border-top: 1px solid var(--borda) !important; margin: 0; }
.fmpt-forum li:first-child { border-top: 0 !important; }
.fmpt-forum li img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: none; }
.fmpt-forum .fmpt-autor { font-weight: 600; color: var(--h); }
.fmpt-forum .fmpt-data { color: var(--mu) !important; font-size: .85em; margin-left: .4em; }
.fmpt-forum .fmpt-texto { margin: .2em 0 0; overflow-wrap: anywhere; }
.entry-content .fmpt-forum a { text-decoration: none !important; }
.entry-content .fmpt-forum a.fmpt-btn { display: inline-flex; align-items: center; min-height: 44px; padding: .6em 1.1em; border-radius: 6px; background: #D61F78; color: #fff !important; font: 600 15px/1.2 var(--titulo); }
.entry-content .fmpt-forum a.fmpt-ver { margin-left: 1em; color: var(--link) !important; }
/* relacionados (CRP) e índice (EZ TOC) */
.crp_related { margin: 28px 0 0; padding: 16px; background: var(--card); border: 1px solid var(--borda); border-radius: 12px; }
.crp_related h2, .crp_related h3 { color: var(--h); font-size: 22px; margin: 0 0 12px; }
.crp_related a { color: var(--h) !important; text-decoration: none !important; }
.crp_related .crp_title, .crp_related .crp_date { display: block; text-align: center; }
.crp_related img { border-radius: 8px; }
@media (max-width: 767px) {
  .crp_related ul { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; width: 100% !important; }
  .crp_related ul li { width: 100% !important; max-width: none !important; margin: 0 !important; }
}
#ez-toc-container, .ez-toc-v2_0_89 { background: var(--card) !important; border: 1px solid var(--borda) !important; border-radius: 12px; }
#ez-toc-container a, #ez-toc-container .ez-toc-title { color: var(--h) !important; }
#ez-toc-container a:hover { color: var(--rosa) !important; }
/* caixa de atualização e relacionados feitos à mão (artigos de FM27) */
.fmpt-upd { background: linear-gradient(90deg, rgba(124, 77, 255, .14), rgba(255, 61, 154, .10)); border-left: 4px solid var(--rosa); border-radius: 8px; padding: 12px 16px; margin: 0 0 24px; font-size: 16px; line-height: 1.5; }
.fmpt-upd strong { color: var(--lavanda); }
.fmpt-upd a { font-weight: 600; }
.fmpt-related { margin: 32px 0 8px; padding: 16px 18px; border: 1px solid var(--borda); background: var(--card); border-radius: 10px; }
.fmpt-related h3 { margin: 0 0 10px; font-size: 20px; }
.fmpt-related ul { margin: 0; padding-left: 20px; }
.fmpt-related li { margin: 4px 0; }
/* «Lê também» (Curiosidades) e navegação das Histórias (18982) */
.fmpt-le-tambem, .fmpt-serie { margin: 28px 0; padding: 14px 18px; background: var(--card); border: 1px solid var(--borda); border-radius: 12px; }
.fmpt-serie { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 16px; }
/* galeria de capturas nos downloads */
.fmpt-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 14px 0 6px; }
.fmpt-gallery a { display: block; border-radius: 10px; overflow: hidden; border: 1px solid var(--borda); line-height: 0; transition: transform .2s, border-color .2s; }
.fmpt-gallery a:hover { transform: translateY(-2px); border-color: var(--rosa); }
.fmpt-gallery img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; margin: 0 !important; border-radius: 0; }
.entry-content p.fmpt-gallery-credit { font-size: 13px; color: var(--mu); margin: 0 0 22px; }
.fmpt-gallery.one { grid-template-columns: 1fr; max-width: 760px; }
.fmpt-gallery.one img { aspect-ratio: auto; object-fit: contain; max-height: 520px; }
.fmpt-gallery a span { display: block; padding: 8px 10px; font: 700 13px/1.3 var(--corpo); color: var(--h); background: var(--card-2); text-align: center; }
.fmpt-gallery.styles { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.fmpt-gallery.styles img { aspect-ratio: 1 / 1; object-fit: contain; background: #0D1326; padding: 10px; }
.fmpt-gallery.labeled { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.fmpt-gallery.labeled img { aspect-ratio: auto; object-fit: contain; max-height: 440px; background: #0D1326; }
@media (max-width: 600px) { .fmpt-gallery { grid-template-columns: 1fr; gap: 10px; } .fmpt-gallery.styles { grid-template-columns: 1fr 1fr; } }
/* botões antigos no conteúdo */
.btn, .down-but { display: inline-block; background: var(--rosa-botao); color: #fff !important; padding: 8px 16px; border-radius: 6px; text-decoration: none !important; font-weight: 700; }
.btn:hover, .down-but:hover { opacity: .85; }
.down-but { margin-top: 20px; text-transform: uppercase; font-size: 13px; padding: 6px 20px; }
.download-info { display: inline-flex; gap: 20px; margin-left: 20px; align-items: center; font-size: .6875rem; color: var(--mu); }
a.btn.btn-green, a.btn.btn-green:hover { color: #fff !important; }
/* tabelas dos Wonderkids */
img.wk-flag { width: 16px; height: 12px; vertical-align: middle; margin-right: 3px; display: inline; border-radius: 0; }
.wk-nat-table th:nth-child(1), .wk-nat-table td:nth-child(1) { width: 7% !important; }
.wk-nat-table th:nth-child(2), .wk-nat-table td:nth-child(2) { width: 19% !important; }
.wk-nat-table th:nth-child(3), .wk-nat-table td:nth-child(3) { width: 7% !important; }
.wk-nat-table th:nth-child(4), .wk-nat-table td:nth-child(4) { width: 25% !important; }
.wk-nat-table th:nth-child(5), .wk-nat-table td:nth-child(5) { width: 18% !important; }
.wk-nat-table th:nth-child(6), .wk-nat-table td:nth-child(6) { width: 14% !important; }
.wk-nat-table th:nth-child(7), .wk-nat-table td:nth-child(7) { width: 10% !important; }
.table-scroll-wrapper { overflow-x: auto; }
@media (max-width: 767px) {
  .table-scroll-wrapper table { table-layout: fixed !important; width: 100% !important; }
  .table-scroll-wrapper table td, .table-scroll-wrapper table th { font-size: 9px !important; line-height: 1.25 !important; padding: 3px 2px !important; white-space: normal !important; word-break: break-word !important; }
  .table-scroll-wrapper img.wk-flag { width: 12px; height: 9px; margin-right: 2px; }
}
/* páginas Comprar FM (15312, 19755): listas compactas no telemóvel */
@media (max-width: 767px) {
  body.page-id-15312 .entry-content ol li, body.page-id-19755 .entry-content ol li, body.page-id-19755 .entry-content .su-spoiler-content ul[style] li { font-size: 14px !important; line-height: 1.45 !important; margin-bottom: 8px !important; }
  body.page-id-15312 .entry-content ol, body.page-id-19755 .entry-content ol, body.page-id-19755 .entry-content .su-spoiler-content ul[style] { padding-left: 8px !important; margin-left: 26px !important; }
  body.page-id-15312 .entry-content li ol, body.page-id-19755 .entry-content li ol { margin-left: 10px !important; }
}
/* Shortcodes Ultimate no modo noite */
html.wp-dark-mode-active .su-box-content, html.wp-dark-mode-active .su-tabs, html.wp-dark-mode-active .su-spoiler { background: var(--card) !important; color: var(--tx) !important; }
html.wp-dark-mode-active .su-tabs-nav span { color: var(--mu) !important; }
html.wp-dark-mode-active .su-tabs-nav span.su-tabs-current, html.wp-dark-mode-active .su-tabs-pane, html.wp-dark-mode-active .su-spoiler-title { background: var(--card-2) !important; color: var(--h) !important; }
html.wp-dark-mode-active .su-box-content :not(a):not(a *) { color: var(--tx) !important; }
/* correção automática do modo noite (site.js): fundos claros e texto escuro postos à mão no conteúdo */
html.wp-dark-mode-active .fmpt-dm-surface { background-color: var(--card-2) !important; }
html.wp-dark-mode-active .fmpt-dm-text { color: var(--tx) !important; }
html.wp-dark-mode-active :is(h1, h2, h3, h4, h5, h6, strong, b).fmpt-dm-text { color: var(--h) !important; }
html.wp-dark-mode-active .fmpt-dm-accent { color: #F472B6 !important; }
/* bandeira do inglês no TranslatePress: UK em vez de US */
img.trp-flag-image[src*="en_US.svg"] { content: url("https://flagcdn.com/gb.svg"); }

/* páginas Comprar FM: logótipos de pagamento (PNG escuros e transparentes) em modo noite ficam sobre uma pastilha clara */
/* …e ficam todos com a mesma caixa (140×52) em qualquer modo, com o logótipo centrado dentro dela */
.entry-content img:is(.wp-image-3869, .wp-image-3868, .wp-image-14964, .wp-image-3871) { width: 140px !important; height: 52px !important; max-width: 100%; object-fit: contain; box-sizing: border-box; padding: 8px 12px; margin: 4px 3px; border-radius: 8px; vertical-align: middle; }
html.wp-dark-mode-active .entry-content img:is(.wp-image-3869, .wp-image-3868, .wp-image-14964, .wp-image-3871) { background: #fff; }

/* ---------- 11. visualizador de imagens (snippet 18344) ---------- */
.single-post .entry-content img.fmpt-zoomable { cursor: zoom-in; }
.fmpt-zoom-wrap { position: relative; display: inline-block; max-width: 100%; vertical-align: top; }
.fmpt-zoom-wrap.is-block { display: block; width: fit-content; }
.fmpt-zoom-wrap.is-center { margin-left: auto; margin-right: auto; }
.fmpt-zoom-wrap.is-left { float: left; margin: 0 1.5em 1em 0; }
.fmpt-zoom-wrap.is-right { float: right; margin: 0 0 1em 1.5em; }
.fmpt-zoom-wrap.is-left > img, .fmpt-zoom-wrap.is-right > img { float: none; margin: 0; }
.fmpt-zoom-ic { position: absolute; top: 8px; right: 8px; z-index: 1; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(15, 15, 25, .72); box-shadow: 0 2px 8px rgba(0, 0, 0, .3); cursor: zoom-in; transition: opacity .2s, transform .2s; }
.fmpt-zoom-ic svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 2.2; stroke-linecap: round; }
@media (hover: hover) and (pointer: fine) { .fmpt-zoom-ic { opacity: 0; transform: scale(.9); } .fmpt-zoom-wrap:hover .fmpt-zoom-ic { opacity: 1; transform: none; } }
.fmpt-lb { position: fixed; inset: 0; z-index: 2147483647; display: none; background: #0B0B12; -webkit-tap-highlight-color: transparent; }
.fmpt-lb.on { display: block; }
html.fmpt-lb-open, html.fmpt-lb-open body { overflow: hidden; }
.fmpt-lb-stage { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; overflow: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.fmpt-lb-stage img { display: block; max-width: 100vw; max-height: 100vh; width: auto; height: auto; object-fit: contain; cursor: zoom-in; box-shadow: none; border-radius: 0; }
.fmpt-lb.zoom .fmpt-lb-stage { display: block; }
.fmpt-lb.zoom .fmpt-lb-stage img { max-width: none; max-height: none; width: 250vw; cursor: zoom-out; }
@media (min-width: 768px) { .fmpt-lb.zoom .fmpt-lb-stage img { width: auto; min-width: 150vw; } }
.fmpt-lb-x { position: absolute; top: 10px; right: 10px; z-index: 2; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; font: 400 30px/44px system-ui, sans-serif; cursor: pointer; }
.fmpt-lb-x:hover, .fmpt-lb-x:focus-visible { background: rgba(255, 255, 255, .28); outline: none; }
.fmpt-lb-cap, .fmpt-lb-hint { position: absolute; left: 0; right: 0; z-index: 2; padding: 0 16px; text-align: center; color: #E5E7EB; font: 500 14px/1.4 var(--corpo); pointer-events: none; }
.fmpt-lb-cap { bottom: 36px; }
.fmpt-lb-hint { bottom: 12px; font-size: 12px; opacity: .6; }
.fmpt-lb.zoom .fmpt-lb-cap, .fmpt-lb.zoom .fmpt-lb-hint { display: none; }

/* ---------- 12. 404 ---------- */
.erro-404 { max-width: 640px; margin: 0 auto; padding: 56px 16px 32px; text-align: center; }
.erro-404 h1 { font-size: clamp(28px, 4vw, 40px); }
.erro-404 p { color: var(--mu); }
.erro-404 .pesq-listagem { margin: 20px 0 24px; }

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

/* ---------- 14. enquanto o Astra ainda é o tema dos visitantes (Fase 2) ----------
   O CSS adicional do Customizer e o Header & Footer do WPCode continuam a chegar com !important; estas regras,
   mais específicas, garantem que o tema se vê como vai ficar. Inofensivas depois da Fase 3. */
html.wp-dark-mode-active body.fmpt-tema, body.fmpt-tema { background-color: var(--bg) !important; color: var(--tx) !important; }
html.wp-dark-mode-active body.fmpt-tema :is(h1, h2, h3, h4, h5, h6), body.fmpt-tema :is(h1, h2, h3, h4, h5, h6) { color: var(--h); }
body.fmpt-tema .entry-content a:not([class*="button"]):not([class*="btn"]):not(.su-button):not(.etiqueta) { color: var(--link) !important; }
body.fmpt-tema .entry-content a:not([class*="button"]):not([class*="btn"]):not(.su-button):hover { color: var(--link-hover) !important; }
body.fmpt-tema .entry-content h2 { border-left-color: var(--rosa); color: var(--h); }
body.fmpt-tema .entry-content :is(h3, h4, strong) { color: var(--h); }
body.fmpt-tema .navigation.pagination, body.fmpt-tema .nav-links { display: flex !important; }
body.fmpt-tema.fmpt-infs .navigation.pagination { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.fmpt-tema .fmpt-badge { left: auto !important; right: 8px !important; }
