/*
 * Fórum da E4T — telas do fórum (cabeçalho, migalhas, índice, listas, tópico, posts, reações, editor, perfil).
 * Desenho baseado no tema padrão do Invision Community 5. Só variáveis de base.css.
 */

/* ---------- Estrutura ---------- */
.largura { width: 100%; max-width: var(--largura-max); margin-inline: auto; padding-inline: var(--margem-lateral); }
.app { display: flex; flex-direction: column; min-height: 100vh; }
.principal { flex: 1 0 auto; padding-block: var(--esp-bloco) var(--esp-3); }
.colunas { display: grid; grid-template-columns: minmax(0, 1fr) var(--largura-lateral); gap: var(--esp-bloco); align-items: start; }
.colunas__lateral { position: sticky; top: var(--esp-bloco); display: grid; gap: var(--esp-bloco); }
@media (max-width: 1000px) { .colunas { grid-template-columns: minmax(0, 1fr); } .colunas__lateral { position: static; } }

/* ---------- Cabeçalho (desktop) ---------- */
.cabecalho { color: var(--cab1-texto); }
.cabecalho__primario { background: var(--cab1-fundo); color: var(--cab1-texto); }
.cabecalho__primario .largura { min-height: var(--altura-cabecalho); display: flex; align-items: center; gap: 1.5em; }
.cabecalho__secundario { background: var(--cab2-fundo); color: var(--cab2-texto); }
.cabecalho__secundario .largura { min-height: var(--altura-cabecalho-2); display: flex; align-items: center; gap: 1.5em; }

.logo { display: flex; align-items: center; gap: .7em; color: inherit; font-size: 18px; font-weight: 500; line-height: 1.1; flex: 0 0 auto; }
.logo:hover { color: inherit; }
.logo__icone { width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; background: var(--primaria); color: #fff; font-size: 18px; }
.logo__texto { display: grid; }
.logo__slogan { font-size: 12px; opacity: .7; font-weight: 400; }

.navegacao { display: flex; align-items: center; gap: .15em; flex: 1 1 auto; justify-content: center; }
.navegacao__link {
  display: flex; align-items: center; gap: .55em;
  padding: .8em 1.4em; border-radius: 5px; color: inherit;
  font-size: max(12px, .8em); font-weight: 700; text-transform: uppercase; letter-spacing: .02em;
  transition: background-color .15s;
}
.navegacao__link:hover { color: inherit; background: color-mix(in srgb, currentColor 8%, transparent); }
.navegacao__link.ativo { background: color-mix(in srgb, currentColor 14%, transparent); }
.navegacao__link i { display: none; }

.usuario-barra { display: flex; align-items: center; gap: .4em; flex: 0 0 auto; margin-inline-start: auto; }
.usuario-barra__link { display: flex; align-items: center; gap: .5em; color: inherit; font-weight: 600; padding: .55em .8em; border-radius: 6px; }
.usuario-barra__link:hover { color: inherit; background: color-mix(in srgb, currentColor 10%, transparent); }
.usuario-barra .botao--primario { box-shadow: 0 2px 8px hsl(0 0% 0% / .2); }
.icone-cabecalho { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: inherit; font-size: 16px; position: relative; }
.icone-cabecalho:hover { color: inherit; background: color-mix(in srgb, currentColor 12%, transparent); }
.conta-botao { display: flex; align-items: center; gap: .6em; color: inherit; padding: .3em .6em .3em .3em; border-radius: 30px; font-weight: 600; }
.conta-botao:hover { background: color-mix(in srgb, currentColor 10%, transparent); color: inherit; }
.conta-botao .fa-angle-down { font-size: .8em; opacity: .7; }

/* Busca rápida do cabeçalho: cresce ao focar; "Neste fórum/tópico" fica junto */
.busca-rapida {
  position: relative; display: flex; align-items: center; width: 230px; height: 36px; margin-inline-end: .4em;
  border-radius: 6px; border: 1px solid transparent; background: color-mix(in srgb, currentColor 10%, transparent);
  transition: width .25s ease, background-color .2s, border-color .2s, box-shadow .2s;
}
.busca-rapida:hover { background: color-mix(in srgb, currentColor 14%, transparent); }
.busca-rapida:focus-within {
  width: 340px; background: var(--fundo-1); color: var(--cor-forte); border-color: var(--primaria);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primaria) 25%, transparent);
}
.busca-rapida > i { position: absolute; left: .95em; opacity: .7; pointer-events: none; }
.busca-rapida input { flex: 1; min-width: 0; height: 100%; padding: 0 .6em 0 2.6em; background: none; border: 0; color: inherit; outline: none; }
.busca-rapida input::placeholder { color: inherit; opacity: .7; }
.busca-rapida__onde { height: 26px; margin-inline-end: 5px; padding: 0 .5em; border: 0; border-radius: 4px; font-size: .85em; color: inherit; background: color-mix(in srgb, currentColor 12%, transparent); cursor: pointer; }
.busca-rapida__onde option { color: var(--cor-texto); background: var(--fundo-1); }
@media (max-width: 1250px) { .busca-rapida { width: 170px; } .busca-rapida:focus-within { width: 280px; } }

/* Migalhas (breadcrumb) */
.migalhas { flex: 1 1 auto; display: flex; overflow-x: auto; scrollbar-width: none; font-weight: 600; font-size: .9em; }
.migalhas::-webkit-scrollbar { display: none; }
.migalhas li { flex: 0 0 auto; display: flex; align-items: center; }
.migalhas li:not(:last-child)::after { content: "\f054"; font-family: var(--fonte-icones); font-weight: 900; font-size: .75em; opacity: .7; min-width: 2.6em; text-align: center; }
.migalhas a { color: inherit; padding: .8em 0; display: block; }
.migalhas a:hover { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.migalhas span { opacity: .8; padding: .8em 0; display: block; }
.migalhas i { margin-right: .4em; }
.migalhas--rodape { color: var(--cor-texto); margin-top: var(--esp-bloco); }

/* ---------- Cabeçalho (celular) ---------- */
.cabecalho-movel { display: none; background: var(--cabmovel-fundo); color: var(--cabmovel-texto); border-bottom: 1px solid var(--fundo-4); position: sticky; top: 0; z-index: 20; }
.cabecalho-movel .largura { min-height: var(--altura-cabecalho-movel); display: flex; align-items: center; gap: .5em; }
.cabecalho-movel .logo { font-size: 17px; }
.cabecalho-movel .logo__icone { width: 34px; height: 34px; font-size: 15px; }
/* 0.33.0: nome comprido do site não empurra os ícones para fora da tela (corta com "...") */
.cabecalho-movel .logo { flex: 0 1 auto; min-width: 0; }
.cabecalho-movel .logo__texto { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cabecalho-movel .largura > .icone-cabecalho, .cabecalho-movel .largura > .botao, .cabecalho-movel .logo__icone, .cabecalho-movel .logo__imagem { flex: 0 0 auto; }
@media (max-width: 400px) { .cabecalho-movel .largura { gap: .25em; } .cabecalho-movel .largura > .icone-cabecalho { width: 36px; } }
.migalhas-movel { display: none; padding: .2em var(--margem-lateral); font-size: .9em; }
.barra-movel {
  display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 20;
  background: var(--fundo-1); border-top: 1px solid var(--fundo-4);
  padding: .35em .5em calc(.35em + env(safe-area-inset-bottom));
  justify-content: space-around; box-shadow: 0 -4px 20px hsl(0 0% 0% / .06);
}
.barra-movel a, .barra-movel button { display: grid; justify-items: center; gap: .15em; padding: .4em .8em; border-radius: 8px; color: var(--cor-suave); font-size: 11px; font-weight: 600; min-width: 60px; }
.barra-movel a i, .barra-movel button i { font-size: 18px; }
.barra-movel a.ativo { background: var(--primaria); color: #fff; }

.painel-movel { position: fixed; inset: 0; z-index: 60; display: none; }
.painel-movel.aberto { display: block; }
.painel-movel__fundo { position: absolute; inset: 0; background: hsl(0 0% 0% / .5); animation: fundo-aparece .2s; }
.painel-movel__gaveta { position: absolute; top: 0; bottom: 0; right: 0; width: min(340px, 88vw); background: var(--fundo-1); overflow-y: auto; padding: 1em; animation: gaveta-entra .25s ease-out; display: grid; align-content: start; gap: .3em; }
.painel-movel__gaveta a, .painel-movel__gaveta button { display: flex; gap: .8em; align-items: center; padding: .8em 1em; border-radius: 8px; color: var(--cor-forte); font-weight: 500; width: 100%; text-align: left; }
.painel-movel__gaveta a:hover, .painel-movel__gaveta button:hover { background: var(--fundo-hover); }
.painel-movel__gaveta i { width: 1.4em; text-align: center; color: var(--cor-suave); }
@keyframes gaveta-entra { from { transform: translateX(100%); } }
@keyframes fundo-aparece { from { opacity: 0; } }

@media (max-width: 980px) {
  .cabecalho { display: none; }
  .cabecalho-movel, .migalhas-movel { display: block; }
  .barra-movel { display: flex; }
  body { padding-bottom: 64px; }
  .principal { padding-top: .6em; }
}

/* ---------- Cabeçalho de página ---------- */
.titulo-pagina { display: flex; flex-wrap: wrap; align-items: center; gap: 1em 1.5em; margin-bottom: var(--esp-bloco); }
.titulo-pagina__texto { flex: 1 1 320px; display: grid; gap: .45em; }
.titulo-pagina h1 { font-size: clamp(1.5em, 4vw, 2em); font-weight: 600; line-height: 1.15; color: var(--cor-forte); text-wrap: pretty; }
.titulo-pagina__descricao { color: var(--cor-texto); font-size: 1.05em; }
.titulo-pagina h1 .selo { font-size: 13px; vertical-align: .35em; margin-right: .3em; }
.titulo-pagina__meta { color: var(--cor-suave); display: flex; flex-wrap: wrap; align-items: center; gap: .4em 1em; }
.titulo-pagina--caixa { background: var(--fundo-caixa); border: 1px solid var(--borda-caixa); border-radius: var(--raio-design); box-shadow: var(--sombra-caixa); padding: clamp(1.3em, 3vw, 1.7em); }

/* ---------- Listas de dados (fóruns e tópicos) ---------- */
.dados { container-type: inline-size; }
.dados__item {
  display: flex; align-items: center; gap: 1.3em; padding: 1.3em; position: relative;
  border-top: 1px solid var(--fundo-4);
}
.dados__item:first-child { border-top: 0; }
.dados__item:hover { background: color-mix(in srgb, var(--fundo-hover) 60%, transparent); }
.dados__item--oculto { background: var(--fundo-moderado); }
.dados__icone { flex: 0 0 auto; align-self: flex-start; position: relative; }
.icone-forum {
  width: 40px; height: 40px; border-radius: var(--raio-pequeno); display: grid; place-items: center;
  background: var(--cor-icone, var(--primaria)); color: #fff; font-size: 17px;
  transition: opacity .2s;
}
.icone-forum--lido { opacity: .45; filter: saturate(.5); }
.icone-forum--link { background: var(--fundo-6); }
.dados__principal { flex: 1 1 auto; display: grid; gap: .3em; }
.dados__titulo { font-size: 1.1em; font-weight: 500; color: var(--cor-forte); line-height: 1.3; display: flex; flex-wrap: wrap; align-items: center; gap: .3em .5em; }
.dados--categoria .dados__titulo { font-size: 1.2em; }
.dados__titulo a { color: inherit; }
.dados__titulo a:hover { color: var(--cor-primaria-texto); }
.dados__item--nao-lido .dados__titulo { font-weight: 700; }
.indicador { color: var(--cor-primaria-texto); font-size: 9px; }
.indicador::before { content: "\f111"; font-family: var(--fonte-icones); font-weight: 900; }
.dados__descricao { color: var(--cor-texto); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.dados__descricao p + p { margin-top: .3em; }
.dados__meta { color: var(--cor-suave); font-size: .92em; display: flex; flex-wrap: wrap; gap: .2em .5em; align-items: center; }
.dados__meta a { color: inherit; font-weight: 500; }
.dados__meta a:hover { color: var(--cor-primaria-texto); }
.subforuns { display: flex; flex-wrap: wrap; gap: .3em 1.2em; margin-top: .3em; font-size: .92em; }
.subforuns a { color: var(--cor-texto); display: inline-flex; gap: .45em; align-items: center; }
.subforuns a::before { content: "\f111"; font-family: var(--fonte-icones); font-weight: 900; font-size: 6px; color: var(--fundo-6); }
.subforuns a.nao-lido { font-weight: 700; color: var(--cor-forte); }
.subforuns a.nao-lido::before { color: var(--cor-primaria-texto); }
.dados__estatisticas { flex: 0 0 11ch; display: grid; justify-items: end; color: var(--cor-suave); line-height: 1.5; margin-right: 1em; }
.dados__estatisticas strong { color: var(--cor-forte); font-weight: 500; }
.dados__estatisticas-grande { display: flex; gap: 2em; text-align: center; color: var(--cor-suave); line-height: 1.2; flex: 0 0 auto; }
.dados__estatisticas-grande strong { display: block; font-size: 1.2em; color: var(--cor-forte); font-weight: 500; }
.dados__ultimo { flex: 0 0 clamp(14em, 26%, 19em); display: flex; align-items: center; gap: .8em; }
.dados--categoria .dados__ultimo { flex-basis: clamp(16em, 30%, 22em); }
.dados__ultimo-texto { display: grid; line-height: 1.4; min-width: 0; }
.dados__ultimo-texto > a:first-child { color: var(--cor-forte); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dados__ultimo-texto .suave { font-size: .92em; }
.dados__ultimo-texto .suave a { color: inherit; }
.dados__selos { display: inline-flex; gap: .3em; }
.paginas-mini { display: inline-flex; gap: .25em; font-size: .78em; }
.paginas-mini a { padding: 0 .45em; border-radius: 3px; background: var(--fundo-3); color: var(--cor-texto); font-weight: 600; }
@container (max-width: 760px) {
  .dados__estatisticas, .dados__estatisticas-grande { display: none; }
  .dados__ultimo { flex-basis: 40%; }
}
@container (max-width: 520px) {
  .dados__item { flex-wrap: wrap; gap: .8em 1em; padding: 1em; }
  .dados__principal { flex-basis: calc(100% - 60px); }
  .dados__ultimo { flex: 1 1 100%; padding-left: calc(40px + 1em); }
  .dados__ultimo .avatar { --tam: 24px; }
}

/* Categoria do índice: faixa colorida e título */
.categoria + .categoria { margin-top: var(--esp-bloco); }
.categoria .caixa__cabecalho { position: relative; }
.alternar-categoria { margin-left: auto; width: 2.4em; height: 1.8em; border-radius: 4px; display: grid; place-items: center; font-size: 14px; background: color-mix(in srgb, var(--cor-texto) 6%, transparent); opacity: 0; transition: opacity .15s; }
.caixa__cabecalho:hover .alternar-categoria, .alternar-categoria:focus-visible { opacity: 1; }
.alternar-categoria::before { content: "\f068"; font-family: var(--fonte-icones); font-weight: 900; }
.categoria.fechada .alternar-categoria::before { content: "\2b"; }
.categoria.fechada .dados { display: none; }
.categoria.fechada .caixa__cabecalho { border-bottom: 0; border-radius: inherit; }

/* Barra de ferramentas da lista */
.barra-lista { display: flex; flex-wrap: wrap; gap: .8em; align-items: center; justify-content: space-between; padding: .8em 1.2em; border-bottom: 1px solid var(--fundo-4); background: var(--fundo-2); border-radius: var(--raio-design) var(--raio-design) 0 0; }
.barra-lista + .dados .dados__item:first-child { border-top: 0; }

/* ---------- Paginação ---------- */
.paginacao { display: flex; flex-wrap: wrap; gap: .25em; font-weight: 600; font-size: max(.8em, 11px); text-transform: uppercase; align-items: center; }
.paginacao a, .paginacao span { display: inline-flex; align-items: center; justify-content: center; gap: .4em; white-space: nowrap; min-width: 2.5em; height: 2.5em; padding: 0 .7em; border-radius: 5px; color: var(--cor-suave); }
.paginacao a:hover { background: color-mix(in srgb, currentColor 8%, transparent); color: var(--cor-forte); }
.paginacao .atual { background: var(--secundaria); color: var(--texto-sobre-secundaria); }
.paginacao .reticencias { min-width: auto; padding: 0 .3em; }
.linha-paginacao { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1em; margin-block: var(--esp-bloco); }
.linha-paginacao:first-child { margin-top: 0; }

/* ---------- Barra lateral (widgets) ---------- */
.bloco { background: var(--fundo-caixa); border: var(--borda-design) solid var(--borda-caixa); border-radius: var(--raio-design); box-shadow: var(--sombra-caixa); }
.bloco__cabecalho { padding: 1em 1.2em; font-size: 1.1em; font-weight: 600; color: var(--cor-forte); border-bottom: 1px solid var(--fundo-4); display: flex; align-items: center; gap: .6em; }
.bloco__cabecalho .empurra { font-size: .82em; font-weight: 500; }
.bloco__corpo { padding: 1.1em 1.2em; }
.estatisticas-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 1em; text-align: center; }
.estatisticas-grade strong { display: block; font-size: 1.45em; font-weight: 600; color: var(--cor-forte); line-height: 1.2; }
.estatisticas-grade span { color: var(--cor-suave); font-size: .82em; text-transform: uppercase; font-weight: 600; letter-spacing: .03em; }
.lista-online { display: flex; flex-wrap: wrap; gap: .3em .7em; }
.lista-online a { font-weight: 600; }
.lista-recentes { display: grid; }
.lista-recentes li { display: flex; gap: .8em; padding: .8em 1.2em; border-top: 1px solid var(--fundo-3); }
.lista-recentes li:first-child { border-top: 0; }
.lista-recentes a.titulo { color: var(--cor-forte); font-weight: 500; display: block; line-height: 1.35; }

/* ---------- Tópico ---------- */
.topico-cabecalho .titulo-pagina__meta .avatar { --tam: 22px; }
.acoes-topico { display: flex; gap: .5em; flex-wrap: wrap; align-items: center; }
.estatisticas-topico { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); text-align: center; padding: 1.2em .5em; gap: .5em; }
.estatisticas-topico span { display: block; color: var(--cor-suave); font-size: .82em; font-weight: 600; }
.estatisticas-topico strong { font-size: 1.35em; color: var(--cor-forte); font-weight: 600; }
@media (max-width: 600px) { .estatisticas-topico strong { font-size: 1em; } .estatisticas-topico { padding: .9em .3em; } }

/* Post: autor à esquerda (como o tema padrão do Invision em telas largas) */
.post {
  display: grid; grid-template-columns: 210px minmax(0, 1fr);
  background: var(--fundo-caixa); border: var(--borda-design) solid var(--borda-caixa);
  border-radius: var(--raio-design); box-shadow: var(--sombra-caixa); margin-bottom: 1em; position: relative;
  scroll-margin-top: 1em;
}
.post:target, .post.destaque { outline: 2px solid var(--primaria); outline-offset: 2px; }
.post--oculto { background: var(--fundo-moderado); }
.post__autor {
  padding: 1.5em 1.2em; text-align: center; display: grid; justify-items: center; align-content: start; gap: .4em;
  border-right: 1px solid var(--fundo-3); background: var(--fundo-2);
  border-radius: var(--raio-design) 0 0 var(--raio-design);
}
.post__autor-nome { font-size: 1.1em; font-weight: 600; color: var(--cor-forte); line-height: 1.25; }
.post__autor-nome a { color: inherit; }
.post__autor-grupo { font-size: .88em; font-weight: 600; }
.post__autor-titulo { font-size: .88em; color: var(--cor-suave); }
.post__autor-dados { margin-top: .5em; width: 100%; font-size: .85em; color: var(--cor-suave); display: grid; gap: .25em; }
.post__autor-dados div { display: flex; justify-content: space-between; gap: .5em; }
.post__autor-dados strong { color: var(--cor-forte); font-weight: 600; }
.avatar-online { position: relative; display: inline-block; }
.avatar-online::after { content: ""; position: absolute; right: 6%; bottom: 6%; width: 22%; height: 22%; min-width: 10px; min-height: 10px; border-radius: 50%; background: var(--positivo); border: 3px solid var(--fundo-2); }
.post__principal { display: flex; flex-direction: column; min-width: 0; }
.post__meta { display: flex; align-items: center; gap: .6em 1em; flex-wrap: wrap; padding: 1em 1.5em 0; color: var(--cor-suave); font-size: .92em; }
.post__meta a { color: inherit; }
.post__meta .empurra { display: flex; align-items: center; gap: .3em; }
.post__numero { font-weight: 600; }
.post__autor-movel { display: none; }
.post__conteudo { padding: 1em 1.5em 1.5em; flex: 1 0 auto; }
.post__editado { margin-top: 1.5em; font-size: .88em; color: var(--cor-suave); font-style: italic; }
.post__assinatura { margin: 0 1.5em; padding: 1em 0; border-top: 1px dashed var(--fundo-4); font-size: .92em; color: var(--cor-suave); max-height: 180px; overflow: hidden; }
.post__rodape { display: flex; align-items: center; flex-wrap: wrap; gap: .6em; padding: .7em 1.5em; border-top: 1px solid var(--fundo-3); min-height: 54px; }
.post__acoes { display: flex; gap: .2em; flex-wrap: wrap; }
.post__acoes .botao { font-weight: 500; }
@media (max-width: 760px) {
  .post { grid-template-columns: minmax(0, 1fr); }
  .post__autor { display: none; }
  .post__autor-movel { display: flex; align-items: center; gap: .8em; padding: 1em 1.2em 0; }
  .post__autor-movel .info { display: grid; line-height: 1.3; }
  .post__autor-movel strong { color: var(--cor-forte); }
  .post__meta { padding: .3em 1.2em 0; }
  .post__conteudo { padding: 1em 1.2em 1.2em; }
  .post__rodape { padding: .6em 1.2em; }
  .post__assinatura { margin: 0 1.2em; }
}

/* ---------- Texto dos posts (conteúdo do usuário) ---------- */
.texto-rico { font-size: var(--tam-conteudo); line-height: 1.6; color: var(--cor-forte); overflow-wrap: anywhere; }
.texto-rico > * + * { margin-top: .9em; }
.texto-rico a { color: var(--cor-primaria-texto); text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 2px; }
.texto-rico a:hover { text-decoration-color: currentColor; }
.texto-rico h2 { font-size: 1.45em; font-weight: 600; line-height: 1.3; }
.texto-rico h3 { font-size: 1.25em; font-weight: 600; line-height: 1.3; }
.texto-rico h4 { font-size: 1.1em; font-weight: 600; }
.texto-rico ul { list-style: disc; padding-left: 1.6em; }
.texto-rico ol { list-style: decimal; padding-left: 1.6em; }
.texto-rico li + li { margin-top: .25em; }
.texto-rico img { border-radius: 4px; max-height: 800px; }
.texto-rico img:not([width]) { width: auto; }
.texto-rico img[width] { height: auto; max-height: none; max-width: 100%; } /* largura escolhida arrastando no editor (0.39.1) */
.texto-rico hr { border: 0; border-top: 2px solid var(--fundo-4); margin-block: 1.5em; }
.texto-rico .alinhar-centro { text-align: center; }
.texto-rico .alinhar-direita { text-align: right; }
.texto-rico .alinhar-justificado { text-align: justify; }
.texto-rico code { background: var(--fundo-3); padding: .1em .35em; border-radius: 4px; }
.texto-rico pre { background: var(--fundo-2); border: 1px solid var(--fundo-4); border-left: 4px solid var(--fundo-6); border-radius: 6px; padding: 1em 1.2em; overflow-x: auto; line-height: 1.5; white-space: pre; }
.texto-rico pre code { background: none; padding: 0; }
.texto-rico blockquote {
  border: 1px solid var(--fundo-4); border-left: 4px solid var(--primaria); background: var(--fundo-2);
  border-radius: 6px; padding: .9em 1.2em; color: var(--cor-texto); font-size: .97em;
}
.texto-rico blockquote > * + * { margin-top: .7em; }
.texto-rico blockquote[data-autor]::before {
  content: attr(data-autor) " disse:"; display: block; font-weight: 600; color: var(--cor-forte); margin: -.9em -1.2em .8em; padding: .55em 1.2em;
  background: var(--fundo-3); border-bottom: 1px solid var(--fundo-4); border-radius: 0 6px 0 0; font-size: .92em;
}
.texto-rico details { border: 1px solid var(--fundo-4); border-radius: 6px; background: var(--fundo-2); }
.texto-rico details > summary { padding: .6em 1em; font-weight: 600; color: var(--cor-forte); display: flex; gap: .6em; align-items: center; }
.texto-rico details > summary::before { content: "\f06e"; font-family: var(--fonte-icones); font-weight: 900; color: var(--cor-suave); font-size: .9em; }
.texto-rico details[open] > summary { border-bottom: 1px solid var(--fundo-4); }
.texto-rico details > :not(summary) { padding: 0 1em; }
.texto-rico details > :not(summary):first-of-type { padding-top: .8em; }
.texto-rico details > :last-child:not(summary) { padding-bottom: .8em; }

/* ---------- Reações ---------- */
.reacoes { display: flex; align-items: center; gap: .8em; margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
.reacoes__resumo { display: flex; flex-wrap: wrap; gap: 4px 6px; justify-content: flex-end; }
.reacoes__contagem { display: inline-flex; align-items: center; gap: .1em; padding: 3px 4px; border: 1px solid var(--fundo-4); border-radius: 50px; background: var(--fundo-1); color: var(--cor-forte); font-size: .88em; font-weight: 500; transition: border-color .15s, outline-color .15s; outline: 4px solid transparent; }
a.reacoes__contagem:hover { border-color: var(--fundo-6); outline-color: var(--fundo-3); color: var(--cor-forte); }
.reacoes__contagem .emoji { font-size: 18px; line-height: 1; width: 22px; text-align: center; }
.reacoes__contagem .numero { padding: 0 .6em 0 .35em; }
.reacoes__acao { position: relative; display: flex; align-items: center; }
.reacoes__resumo:not(:empty) + .reacoes__acao { border-left: 1px solid var(--fundo-3); padding-left: .9em; }
.reacoes__botao { display: inline-flex; align-items: center; gap: .45em; padding: .45em .7em; border-radius: 6px; font-weight: 500; color: var(--cor-suave); }
.reacoes__botao:hover { background: var(--fundo-hover); color: var(--cor-forte); }
.reacoes__botao .emoji { font-size: 20px; line-height: 1; filter: grayscale(100%) opacity(.65); transition: filter .2s, transform .2s; }
.reacoes__botao:hover .emoji, .reacoes__botao.reagiu .emoji { filter: none; }
.reacoes__botao.reagiu { color: var(--cor-forte); }
.reacoes__seletor {
  position: absolute; bottom: calc(100% + 6px); right: 0; z-index: 25; display: flex; gap: 4px; padding: 5px 7px;
  background: var(--fundo-1); border-radius: 100px; box-shadow: var(--sombra-menu);
  opacity: 0; visibility: hidden; transform: translateY(6px) scale(.95); transform-origin: bottom right;
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.reacoes__acao:hover .reacoes__seletor, .reacoes__acao.aberto .reacoes__seletor, .reacoes__seletor:focus-within {
  opacity: 1; visibility: visible; transform: none; transition-delay: .25s, .25s, 0s;
}
.reacoes__acao.aberto .reacoes__seletor { transition-delay: 0s; }
.reacoes__opcao { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; font-size: 26px; line-height: 1; transition: transform .15s ease; }
.reacoes__opcao:hover, .reacoes__opcao:focus-visible { transform: scale(1.3) translateY(-4px); }
.reacoes__opcao.escolhida { background: color-mix(in srgb, var(--primaria) 15%, transparent); }
.reacoes__seletor .reacoes__opcao { animation: reacao-surge .3s ease backwards; }
.reacoes__seletor .reacoes__opcao:nth-child(2) { animation-delay: .03s; } .reacoes__seletor .reacoes__opcao:nth-child(3) { animation-delay: .06s; }
.reacoes__seletor .reacoes__opcao:nth-child(4) { animation-delay: .09s; } .reacoes__seletor .reacoes__opcao:nth-child(5) { animation-delay: .12s; }
@keyframes reacao-surge { from { transform: scale(.4); opacity: 0; } }
.reacoes__botao.pulsar .emoji { animation: reacao-pulsa .45s ease; }
@keyframes reacao-pulsa { 40% { transform: scale(1.5); } }

/* ---------- Editor ---------- */
.responder { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1em; padding: 1.2em; }
.responder__botoes { display: flex; justify-content: flex-end; gap: .5em; margin-top: .8em; }
@media (max-width: 760px) { .responder { grid-template-columns: minmax(0, 1fr); } .responder > .avatar { display: none; } }
.convite-responder { display: flex; align-items: center; justify-content: space-between; gap: 1em; flex-wrap: wrap; padding: 1.4em 1.5em; }
/* ---------- Telas de conta (entrar, cadastro) ---------- */
.cartao-conta { max-width: 480px; margin: var(--esp-3) auto; }
.cartao-conta .caixa__cabecalho { justify-content: center; font-size: 1.5em; padding: 1.2em; }
.cartao-conta__rodape { text-align: center; padding: 1.2em; border-top: 1px solid var(--fundo-3); color: var(--cor-suave); }
.armadilha { position: absolute; left: -5000px; width: 1px; height: 1px; overflow: hidden; }

/* Botões "Entrar com Google/Microsoft" (como os do Invision: claros, com o ícone da marca à esquerda) */
.botoes-sociais { display: grid; gap: .6em; }
.botao--social { --b-fundo: var(--fundo-1); --b-texto: var(--cor-forte); --b-borda: color-mix(in srgb, var(--cor-texto) 22%, transparent); --b-hover: var(--fundo-2); width: 100%; padding: .8em 1em; justify-content: center; gap: .8em; box-shadow: hsl(0 0% 0% / .05) 0 2px 3px; }
.botao--social__icone { width: 1.4em; text-align: center; font-size: 1.15em; }
.botao--google .botao--social__icone { color: #4285f4; }
.botao--microsoft .botao--social__icone { color: #00a4ef; }
.separador-ou { display: flex; align-items: center; gap: 1em; color: var(--cor-suave); font-size: .85em; text-transform: uppercase; font-weight: 600; }
.separador-ou::before, .separador-ou::after { content: ""; flex: 1; height: 1px; background: var(--fundo-4); }

/* Faixas: conta a confirmar e aviso de cookies */
.faixa-conta { margin-bottom: var(--esp-bloco); align-items: center; flex-wrap: wrap; }
.faixa-conta > span { flex: 1 1 300px; }
.faixa-cookies { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; background: var(--fundo-1); border-top: 1px solid var(--fundo-4); box-shadow: 0 -8px 30px hsl(0 0% 0% / .12); padding: 1em 0; animation: aviso-sobe .3s ease-out; }
.faixa-cookies .largura { display: flex; align-items: center; gap: 1em 1.5em; flex-wrap: wrap; }
.faixa-cookies p { flex: 1 1 400px; color: var(--cor-texto); }
.faixa-cookies i { color: var(--cor-primaria-texto); margin-right: .3em; }
@keyframes aviso-sobe { from { transform: translateY(100%); } }
@media (max-width: 980px) { .faixa-cookies { bottom: 60px; } }

/* ---------- Perfil ---------- */
/* Capa (o "cover photo" do Invision): clique amplia; o dono envia, arrasta para ajustar ou remove */
.perfil { overflow: visible; }
.capa { position: relative; }
.capa__moldura {
  position: relative; height: clamp(140px, 22vw, 300px); overflow: hidden;
  border-radius: calc(var(--raio-design) - 1px) calc(var(--raio-design) - 1px) 0 0;
  background: linear-gradient(135deg, var(--primaria), color-mix(in oklch, var(--primaria), var(--secundaria) 70%));
  transition: height .45s cubic-bezier(.2, .7, .2, 1);
}
.capa__moldura::after {
  content: ""; position: absolute; inset: auto 0 0; height: 55%; pointer-events: none;
  background: linear-gradient(transparent, hsl(0 0% 0% / .32)); transition: opacity .3s;
}
.capa--vazia .capa__moldura {
  background:
    radial-gradient(circle at 15% 120%, color-mix(in srgb, #fff 18%, transparent) 0 22%, transparent 23%),
    radial-gradient(circle at 85% -20%, color-mix(in srgb, #fff 12%, transparent) 0 28%, transparent 29%),
    linear-gradient(135deg, var(--primaria), color-mix(in oklch, var(--primaria), var(--secundaria) 70%));
}
.capa__imagem {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; cursor: zoom-in;
  user-select: none; -webkit-user-select: none; animation: capa-aparece .5s ease-out;
}
.capa-pos-0 { object-position: 50% 0%; } .capa-pos-5 { object-position: 50% 5%; } .capa-pos-10 { object-position: 50% 10%; } .capa-pos-15 { object-position: 50% 15%; } .capa-pos-20 { object-position: 50% 20%; } .capa-pos-25 { object-position: 50% 25%; }
.capa-pos-30 { object-position: 50% 30%; } .capa-pos-35 { object-position: 50% 35%; } .capa-pos-40 { object-position: 50% 40%; } .capa-pos-45 { object-position: 50% 45%; } .capa-pos-50 { object-position: 50% 50%; }
.capa-pos-55 { object-position: 50% 55%; } .capa-pos-60 { object-position: 50% 60%; } .capa-pos-65 { object-position: 50% 65%; } .capa-pos-70 { object-position: 50% 70%; } .capa-pos-75 { object-position: 50% 75%; }
.capa-pos-80 { object-position: 50% 80%; } .capa-pos-85 { object-position: 50% 85%; } .capa-pos-90 { object-position: 50% 90%; } .capa-pos-95 { object-position: 50% 95%; } .capa-pos-100 { object-position: 50% 100%; }

@keyframes capa-aparece { from { opacity: 0; transform: scale(1.03); } }
.capa--expandida .capa__moldura { height: clamp(260px, 48vw, 640px); }
.capa--expandida .capa__moldura::after { opacity: 0; }
.capa--expandida .capa__imagem { cursor: zoom-out; }
.capa--expandida .capa__acoes { opacity: 0; pointer-events: none; }
.capa__acoes { position: absolute; top: 1em; right: 1em; z-index: 3; transition: opacity .2s; }
.capa__salvar {
  display: none; position: absolute; inset: 0 0 auto; z-index: 4; padding: .8em 1em; gap: .6em; align-items: center;
  flex-wrap: wrap; color: #fff; background: linear-gradient(hsl(0 0% 0% / .65), transparent);
}
.capa__dica { margin-inline-end: auto; font-weight: 600; text-shadow: 0 1px 3px hsl(0 0% 0% / .8); }
.capa--ajustando .capa__salvar { display: flex; animation: fundo-aparece .25s; }
.capa--ajustando .capa__acoes { display: none; }
.capa--ajustando .capa__moldura { outline: 2px dashed hsl(0 0% 100% / .75); outline-offset: -10px; }
.capa--ajustando .capa__moldura::after { opacity: 0; }
.capa--ajustando .capa__imagem { cursor: ns-resize; touch-action: none; }
.capa--arrastando .capa__imagem { cursor: grabbing; }
.capa--enviando .capa__moldura::before {
  content: ""; position: absolute; z-index: 5; left: 50%; top: 50%; width: 40px; height: 40px; margin: -20px 0 0 -20px;
  border-radius: 50%; border: 4px solid hsl(0 0% 100% / .35); border-top-color: #fff; animation: gira .8s linear infinite;
}
.capa--enviando .capa__moldura { filter: saturate(.6); }
@keyframes gira { to { transform: rotate(360deg); } }
.botao--escuro {
  --b-fundo: hsl(0 0% 0% / .5); --b-texto: #fff; --b-borda: hsl(0 0% 100% / .18); --b-hover: hsl(0 0% 0% / .68);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}

/* Cabeçalho do perfil: foto sobre a capa, nome, grupo, status e botões */
.perfil__cabecalho { display: flex; align-items: flex-start; gap: 1.4em; flex-wrap: wrap; padding: 1em 1.6em 1.3em; position: relative; z-index: 2; }
/* Só a foto sobe sobre a capa (como no Invision 5); nome, grupo e botões ficam abaixo dela, sobre o fundo da caixa. */
.perfil__foto { position: relative; flex: 0 0 auto; border-radius: var(--raio-avatar); margin-top: calc(-1em - 72px); margin-bottom: -.4em; }
.perfil__foto > .avatar { border: 5px solid var(--fundo-caixa); box-shadow: var(--sombra-caixa); background-clip: padding-box; }
.perfil__identidade { flex: 1 1 260px; display: grid; gap: .35em; padding-bottom: .2em; min-width: 0; }
.perfil__nome { font-size: 1.9em; font-weight: 650; color: var(--cor-forte); line-height: 1.15; overflow-wrap: anywhere; }
.perfil__selos { display: flex; flex-wrap: wrap; gap: .4em .7em; align-items: center; }
.perfil__grupo { font-weight: 600; }
.perfil__status {
  display: inline-flex; gap: .5em; align-items: baseline; max-width: 100%; justify-self: start; margin-top: .2em;
  padding: .45em .8em; border-radius: 6px; background: var(--fundo-2); color: var(--cor-texto); font-size: .95em;
  transition: background-color .15s;
}
.perfil__status:hover { background: var(--fundo-3); color: var(--cor-forte); }
.perfil__status .fa-quote-left { color: var(--primaria); opacity: .8; }
.perfil__botoes { flex: 0 0 auto; display: flex; gap: .5em; flex-wrap: wrap; padding-bottom: .3em; }
.perfil__numeros { display: flex; flex-wrap: wrap; border-top: 1px solid var(--fundo-3); }
.perfil__numeros > div { flex: 1 1 120px; padding: .9em 1.4em; border-right: 1px solid var(--fundo-3); }
.perfil__numeros > div:last-child { border-right: 0; }
.perfil__numeros dt { color: var(--cor-suave); font-size: .78em; text-transform: uppercase; font-weight: 600; letter-spacing: .04em; }
.perfil__numeros dd { font-size: 1.15em; color: var(--cor-forte); font-weight: 600; margin-top: .1em; }
.texto-positivo { color: var(--positivo) !important; }

/* Bolinha de "online agora" que pulsa e solta um anel (como no Invision) */
.perfil__foto--online::after {
  content: ""; position: absolute; right: 7%; bottom: 7%; width: 18%; height: 18%; min-width: 12px; min-height: 12px;
  border-radius: 50%; background: var(--positivo); border: 3px solid var(--fundo-caixa); z-index: 1;
  animation: online-pulsa 4s infinite;
}
.perfil__foto--online::before {
  content: ""; position: absolute; right: calc(7% + 3px); bottom: calc(7% + 3px); width: calc(18% - 6px); height: calc(18% - 6px);
  min-width: 6px; min-height: 6px; border-radius: 50%; background: var(--positivo); z-index: 1; opacity: 0;
  animation: online-anel 4s infinite;
}
@keyframes online-pulsa { 10% { transform: scale(.75); } 30% { transform: scale(1); } }
@keyframes online-anel { 10% { transform: scale(1); opacity: .45; } 50% { transform: scale(3.2); opacity: 0; } 100% { opacity: 0; } }
.online-agora::before { animation: online-pulsa 4s infinite; }
@media (prefers-reduced-motion: reduce) {
  .perfil__foto--online::after, .perfil__foto--online::before, .online-agora::before { animation: none; }
}

/* Corpo do perfil: coluna à esquerda (Sobre, campos, visitas) e abas à direita */
.perfil-corpo { display: grid; grid-template-columns: minmax(260px, 33%) minmax(0, 1fr); gap: var(--esp-bloco); align-items: start; }
.perfil-corpo__lateral { display: grid; gap: var(--esp-bloco); }
.perfil-corpo__lateral .bloco + .bloco { margin-top: 0; }
.perfil-corpo__principal { display: grid; gap: var(--esp-bloco); min-width: 0; }
.perfil-corpo__principal > .caixa + .caixa { margin-top: 0; }
.perfil-sobre { margin-bottom: 1em; }
@media (max-width: 900px) {
  .perfil-corpo { grid-template-columns: minmax(0, 1fr); }
  .perfil-corpo__lateral { order: 2; }
}
@media (max-width: 600px) {
  .perfil__cabecalho { padding: .8em 1em 1em; gap: .9em; }
  .perfil__foto { margin-top: calc(-.8em - 52px); }
  .perfil__foto > .avatar { --tam: 96px; }
  .perfil__nome { font-size: 1.5em; }
  .perfil__numeros > div { padding: .7em 1em; flex-basis: 45%; }
}
.grade-avatares { display: flex; flex-wrap: wrap; gap: .45em; }
.grade-avatares .avatar { transition: transform .15s; }
.grade-avatares a:hover .avatar { transform: scale(1.12); }

/* Abas (perfil, busca, descobrir) */
.abas { position: relative; display: flex; gap: .2em; padding: 0 .6em; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
.abas::-webkit-scrollbar { display: none; }
.abas__aba {
  flex: 0 0 auto; /* 1.0.2: nunca encolhe (antes encolhia e o ícone ficava por cima do texto) */
  position: relative; display: inline-flex; align-items: center; gap: .55em; padding: 1em 1.1em; white-space: nowrap;
  color: var(--cor-suave); font-weight: 600; transition: color .15s;
}
.abas__aba::after {
  content: ""; position: absolute; left: .8em; right: .8em; bottom: 0; height: 3px; border-radius: 3px 3px 0 0;
  background: var(--primaria); transform: scaleX(0); transition: transform .25s cubic-bezier(.2, .7, .2, 1);
}
.abas__aba:hover { color: var(--cor-forte); }
.abas__aba:hover::after { transform: scaleX(.4); opacity: .5; }
.abas__aba.ativo { color: var(--cor-forte); }
.abas__aba.ativo::after { transform: scaleX(1); opacity: 1; }
.abas__aba i { opacity: .75; }
.abas + .caixa, .abas + section { margin-top: 0; }
.abas.caixa + .caixa, .abas.caixa + .mural-item, .abas.caixa + form.caixa, .abas.caixa + .aviso { margin-top: var(--esp-1); }
/* Conteúdo das abas do arquivo (1.0.3): a caixa não muda o layout; ao trocar de aba sem recarregar, o conteúdo
   antigo esmaece e o novo entra deslizando de leve. */
.dl-aba { display: contents; }
.dl-aba--carregando > * { opacity: .45; transition: opacity .15s; pointer-events: none; }
.dl-aba--entrou > * { animation: fluxo-entra .3s ease-out both; }
@media (prefers-reduced-motion: reduce) { .dl-aba--entrou > * { animation: none; } }
/* Abas que não cabem (1.0.2): a faixa rola para o lado; setas e degradê nas pontas mostram que há mais (forum.js). */
.abas-rolagem { position: relative; --abas-fundo: var(--fundo-corpo); }
.abas-rolagem:has(> .abas.caixa) { --abas-fundo: var(--fundo-caixa); }
.abas-rolagem + .caixa, .abas-rolagem + section { margin-top: 0; }
.abas-rolagem:has(> .abas.caixa) + .caixa, .abas-rolagem:has(> .abas.caixa) + .mural-item, .abas-rolagem:has(> .abas.caixa) + form.caixa,
.abas-rolagem:has(> .abas.caixa) + .aviso { margin-top: var(--esp-1); }
.abas-rolagem__seta {
  position: absolute; top: var(--borda-design, 1px); bottom: var(--borda-design, 1px); z-index: 2; width: 3.2em; display: flex; align-items: center;
  border: 0; padding: 0 .45em; background: none; color: var(--cor-forte); cursor: pointer; opacity: 0; pointer-events: none; transition: opacity .2s;
}
.abas-rolagem__seta--antes { left: var(--borda-design, 1px); justify-content: flex-start; border-radius: var(--raio-design) 0 0 var(--raio-design);
  background: linear-gradient(90deg, var(--abas-fundo) 45%, transparent); }
.abas-rolagem__seta--depois { right: var(--borda-design, 1px); justify-content: flex-end; border-radius: 0 var(--raio-design) var(--raio-design) 0;
  background: linear-gradient(270deg, var(--abas-fundo) 45%, transparent); }
.abas-rolagem.tem-antes .abas-rolagem__seta--antes, .abas-rolagem.tem-depois .abas-rolagem__seta--depois { opacity: 1; pointer-events: auto; }
.abas-rolagem__seta i { width: 2em; height: 2em; display: grid; place-items: center; border-radius: 50%; font-size: .8em;
  background: var(--fundo-caixa); border: 1px solid var(--borda-caixa); box-shadow: 0 1px 4px rgb(0 0 0 / .12); transition: background .15s, color .15s; }
.abas-rolagem__seta:hover i, .abas-rolagem__seta:focus-visible i { background: var(--primaria); border-color: var(--primaria); color: #fff; }
@media (max-width: 700px) { .abas__aba { padding: .9em .85em; } }

/* Fluxo de atividade (perfil e Descobrir) com a linha do tempo */
.fluxo { position: relative; }
.fluxo__item { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1em; padding: 1.1em 1.4em; border-top: 1px solid var(--fundo-3); animation: fluxo-entra .35s ease-out both; }
.fluxo__item:first-child { border-top: 0; }
.fluxo__item:hover { background: var(--fundo-hover); }
.fluxo__icone { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--fundo-3); color: var(--cor-forte); font-size: .9em; }
.fluxo__item--topico .fluxo__icone { background: color-mix(in srgb, var(--primaria) 16%, var(--fundo-1)); color: var(--primaria); }
.fluxo__item--mural .fluxo__icone { background: color-mix(in srgb, var(--positivo) 16%, var(--fundo-1)); color: var(--positivo); }
.fluxo__foto { position: relative; align-self: start; }
.fluxo__mini-icone {
  position: absolute; right: -4px; bottom: -4px; width: 22px; height: 22px; display: grid; place-items: center;
  border-radius: 50%; font-size: 10px; background: var(--fundo-6); color: #fff; border: 2px solid var(--fundo-caixa);
}
.fluxo__item--topico .fluxo__mini-icone { background: var(--primaria); }
.fluxo__titulo { color: var(--cor-texto); line-height: 1.4; }
.fluxo__titulo a:not(.nome-grupo) { font-weight: 600; color: var(--cor-forte); }
.fluxo__trecho { margin-top: .35em; color: var(--cor-texto); line-height: 1.5; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fluxo__meta { margin-top: .4em; }
.fluxo__meta a { color: inherit; text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); }
.fluxo__item:nth-child(2) { animation-delay: .03s; } .fluxo__item:nth-child(3) { animation-delay: .06s; } .fluxo__item:nth-child(4) { animation-delay: .09s; }
.fluxo__item:nth-child(5) { animation-delay: .12s; } .fluxo__item:nth-child(n+6) { animation-delay: .15s; }
@keyframes fluxo-entra { from { opacity: 0; transform: translateY(6px); } }

/* Atividade em linha do tempo (Descobrir, 1.0.2): dias separados, a linha vertical liga as fotos dos autores e cada
   item é um cartão com uma setinha apontando para a foto. "Resumido" esconde os trechos (forum.js guarda a escolha). */
.linha-tempo { --lt-foto: 48px; --lt-col: calc(var(--lt-foto) + 1.1em); position: relative; margin-top: var(--esp-1); }
.linha-tempo::before {
  content: ""; position: absolute; left: calc(var(--lt-foto) / 2 - 1px); top: 3.2em; bottom: 1em; width: 2px; border-radius: 2px;
  background: linear-gradient(var(--borda-caixa), var(--borda-caixa) 92%, transparent);
}
.linha-tempo__modos { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .4em; margin-bottom: .6em; }
.linha-tempo__modos [aria-pressed="true"] { background: var(--primaria); border-color: var(--primaria); color: var(--texto-sobre-primaria, #fff); }
.linha-tempo__dia + .linha-tempo__dia { margin-top: 1.4em; }
.linha-tempo__data { position: relative; z-index: 1; margin: 0 0 .9em; font-size: .78em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.linha-tempo__data time {
  display: inline-flex; align-items: center; gap: .5em; padding: .45em 1em; border-radius: 999px;
  background: var(--fundo-caixa); border: 1px solid var(--borda-caixa); color: var(--cor-forte); box-shadow: var(--sombra-caixa);
}
.linha-tempo__data time::before { content: ""; width: .55em; height: .55em; border-radius: 50%; background: var(--primaria); }
.linha-tempo__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .8em; }
.linha-tempo__item { position: relative; display: grid; grid-template-columns: var(--lt-col) minmax(0, 1fr); align-items: start; animation: fluxo-entra .35s ease-out both; }
.linha-tempo__item:nth-child(2) { animation-delay: .03s; } .linha-tempo__item:nth-child(3) { animation-delay: .06s; } .linha-tempo__item:nth-child(n+4) { animation-delay: .09s; }
.linha-tempo__marca { position: relative; z-index: 1; width: var(--lt-foto); line-height: 0; }
.linha-tempo__marca .avatar { box-shadow: 0 0 0 4px var(--fundo-corpo); }
.linha-tempo__icone {
  position: absolute; right: -6px; bottom: -6px; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%;
  font-size: 11px; line-height: 1; background: var(--fundo-6); color: #fff; border: 2px solid var(--fundo-corpo);
}
.linha-tempo__item--topico .linha-tempo__icone { background: var(--primaria); }
.linha-tempo__item--pergunta .linha-tempo__icone { background: var(--alerta, #d97706); }
.linha-tempo__item--artigo .linha-tempo__icone { background: var(--positivo, #16a34a); }
.linha-tempo__cartao { position: relative; padding: .9em 1.2em; transition: transform .15s, box-shadow .15s, border-color .15s; }
.linha-tempo__cartao::before {
  content: ""; position: absolute; left: -7px; top: 17px; width: 12px; height: 12px; transform: rotate(45deg);
  background: var(--fundo-caixa); border-left: var(--borda-design, 1px) solid var(--borda-caixa); border-bottom: var(--borda-design, 1px) solid var(--borda-caixa);
}
.linha-tempo__cartao:hover { border-color: color-mix(in srgb, var(--primaria) 45%, var(--borda-caixa)); transform: translateX(2px); }
.linha-tempo__item--topico .linha-tempo__cartao, .linha-tempo__item--pergunta .linha-tempo__cartao, .linha-tempo__item--artigo .linha-tempo__cartao { border-left: 3px solid var(--primaria); }
.linha-tempo__item--pergunta .linha-tempo__cartao { border-left-color: var(--alerta, #d97706); }
.linha-tempo__item--artigo .linha-tempo__cartao { border-left-color: var(--positivo, #16a34a); }
.linha-tempo__titulo { margin: 0; line-height: 1.4; overflow-wrap: anywhere; }
.linha-tempo__titulo a:not(.nome-grupo) { font-weight: 600; color: var(--cor-forte); }
.linha-tempo__trecho { margin: .4em 0 0; color: var(--cor-texto); line-height: 1.5; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.linha-tempo__meta { margin: .5em 0 0; display: flex; flex-wrap: wrap; gap: .25em .5em; align-items: center; }
.linha-tempo__meta a { color: inherit; }
.linha-tempo__meta a:hover { color: var(--cor-forte); }
.linha-tempo__meta i { opacity: .7; margin-right: .15em; }
/* Resumido: só a frase e os dados, fotos menores */
.linha-tempo--resumida { --lt-foto: 34px; }
.linha-tempo--resumida .linha-tempo__lista { gap: .45em; }
.linha-tempo--resumida .linha-tempo__trecho { display: none; }
.linha-tempo--resumida .linha-tempo__cartao { padding: .55em .9em; }
.linha-tempo--resumida .linha-tempo__cartao::before { top: 11px; }
.linha-tempo--resumida .linha-tempo__meta { margin-top: .25em; }
.linha-tempo--resumida .linha-tempo__icone { width: 18px; height: 18px; font-size: 8px; right: -5px; bottom: -5px; }
.linha-tempo--resumida .linha-tempo__marca .avatar { --tam: 34px; }
@media (max-width: 600px) {
  .linha-tempo { --lt-foto: 36px; --lt-col: calc(var(--lt-foto) + .8em); }
  .linha-tempo__marca .avatar { --tam: 36px; }
  .linha-tempo__icone { width: 19px; height: 19px; font-size: 9px; right: -5px; bottom: -5px; }
  .linha-tempo__cartao { padding: .75em .9em; }
  .linha-tempo__cartao::before { top: 12px; }
  .linha-tempo__modos { justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .linha-tempo__item { animation: none; } .linha-tempo__cartao:hover { transform: none; } }

/* Mural (status updates) */
.mural-item { padding: 1.1em 1.3em; animation: fluxo-entra .3s ease-out both; }
.mural-item + .mural-item { margin-top: var(--esp-1); }
.mural-item:target { box-shadow: 0 0 0 2px var(--primaria), var(--sombra-caixa); }
.mural-item--oculto { background: var(--fundo-moderado); }
.mural-item__cabecalho { display: flex; gap: .8em; align-items: center; }
.mural-item__quem { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2em .5em; min-width: 0; }
.mural-item__quem > .pequeno { flex-basis: 100%; }
.mural-item__texto { margin: .8em 0 0; font-size: var(--tam-conteudo); }
.mural-item__comentarios { margin: 1em -1.3em -1.1em; padding: .6em 1.3em; background: var(--fundo-2); border-top: 1px solid var(--fundo-3); border-radius: 0 0 var(--raio-design) var(--raio-design); display: grid; gap: .2em; }
.mural-comentario { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .7em; padding: .6em 0; border-bottom: 1px solid var(--fundo-3); }
.mural-comentario:target { background: color-mix(in srgb, var(--primaria) 8%, transparent); }
.mural-comentario__corpo .texto-rico { margin-top: .15em; }
.mural-comentar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .6em; align-items: start; padding: .6em 0 .2em; }
.mural-comentar .entrada { min-height: 36px; resize: none; overflow: hidden; line-height: 1.4; padding-block: .45em; transition: border-color .15s, box-shadow .15s; }

/* Cartão do membro ao passar o mouse (hovercard) */
.cartao-membro-pop { width: 300px; max-width: calc(100vw - 16px); background: var(--fundo-menu); color: var(--cor-texto); border-radius: var(--raio-design); box-shadow: var(--sombra-menu); overflow: hidden; }
.cartao-flutuante { position: absolute; z-index: 60; opacity: 0; transform: translateY(6px) scale(.98); transform-origin: top left; transition: opacity .18s ease, transform .22s cubic-bezier(.2, .7, .2, 1); pointer-events: none; }
.cartao-flutuante--acima { transform: translateY(-6px) scale(.98); transform-origin: bottom left; }
.cartao-flutuante.visivel { opacity: 1; transform: none; pointer-events: auto; }
.cartao-membro-pop__capa { height: 86px; background: linear-gradient(135deg, var(--primaria), color-mix(in oklch, var(--primaria), var(--secundaria) 70%)); }
.cartao-membro-pop__capa img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cartao-membro-pop__corpo { display: grid; justify-items: center; text-align: center; gap: .3em; padding: 0 1.1em 1.1em; margin-top: -45px; }
.cartao-membro-pop__foto { position: relative; border-radius: var(--raio-avatar); }
.cartao-membro-pop__foto > .avatar { border: 4px solid var(--fundo-menu); }
.cartao-membro-pop__foto.perfil__foto--online::after { border-color: var(--fundo-menu); }
.cartao-membro-pop__nome { font-size: 1.25em; font-weight: 650; }
.cartao-membro-pop__nome a { color: var(--cor-forte); }
.cartao-membro-pop__status { font-size: .9em; color: var(--cor-texto); background: var(--fundo-2); border-radius: 6px; padding: .4em .7em; margin: .2em 0; }
.cartao-membro-pop__numeros { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; margin: .5em 0 .2em; border-block: 1px solid var(--fundo-3); }
.cartao-membro-pop__numeros > div { padding: .55em .2em; }
.cartao-membro-pop__numeros > div + div { border-left: 1px solid var(--fundo-3); }
.cartao-membro-pop__numeros dt { font-size: .72em; text-transform: uppercase; letter-spacing: .04em; font-weight: 600; color: var(--cor-suave); }
.cartao-membro-pop__numeros dd { font-weight: 650; color: var(--cor-forte); }
.cartao-membro-pop__botoes { display: flex; gap: .5em; justify-content: center; margin-top: .4em; flex-wrap: wrap; }

/* Equipe (Staff directory) */
.titulo-secao { font-size: 1.15em; font-weight: 650; color: var(--cor-forte); margin: 0 0 .7em; display: flex; gap: .5em; align-items: center; }
.grade-equipe { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); gap: 1em; }
.cartao-equipe { display: grid; justify-items: center; text-align: center; gap: .25em; padding-bottom: 1.1em; background: var(--fundo-caixa); border: 1px solid var(--borda-caixa); border-radius: var(--raio-design); box-shadow: var(--sombra-caixa); overflow: hidden; transition: transform .2s, box-shadow .2s; }
.cartao-equipe:hover { transform: translateY(-3px); box-shadow: var(--sombra-menu); }
.cartao-equipe__capa { width: 100%; height: 80px; background: linear-gradient(135deg, var(--primaria), color-mix(in oklch, var(--primaria), var(--secundaria) 70%)); }
.cartao-equipe__capa img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cartao-equipe__foto { position: relative; margin-top: -45px; border-radius: var(--raio-avatar); }
.cartao-equipe__foto .avatar { border: 4px solid var(--fundo-caixa); }
.cartao-equipe__nome { font-size: 1.1em; font-weight: 650; margin-top: .2em; }
.cartao-equipe__botoes { display: flex; gap: .4em; margin-top: .5em; }
.cartao-membro-pop__capa--vazia { background: linear-gradient(135deg, var(--primaria), color-mix(in oklch, var(--primaria), var(--secundaria) 70%)); }

/* Galeria de avatares nas configurações */
.galeria-avatares { display: flex; flex-wrap: wrap; gap: .6em; margin: .3em 0 1em; }
.galeria-avatares__item { position: relative; cursor: pointer; border-radius: var(--raio-avatar); }
.galeria-avatares__item input { position: absolute; opacity: 0; pointer-events: none; }
.galeria-avatares__item img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--raio-avatar); border: 3px solid transparent; transition: transform .15s, border-color .15s, box-shadow .15s; }
.galeria-avatares__item:hover img { transform: scale(1.07); }
.galeria-avatares__item input:checked + img { border-color: var(--primaria); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primaria) 25%, transparent); }
.galeria-avatares__item input:focus-visible + img { outline: 2px solid var(--primaria); outline-offset: 2px; }

.atividade li { padding: 1.1em 1.4em; border-top: 1px solid var(--fundo-3); }
.atividade li:first-child { border-top: 0; }
.atividade__titulo { font-weight: 600; color: var(--cor-forte); }
.atividade__resumo { color: var(--cor-texto); margin-top: .3em; }
.dados-perfil { display: grid; gap: .7em; }
.dados-perfil div { display: flex; justify-content: space-between; gap: 1em; }
.dados-perfil dt { color: var(--cor-suave); }
.dados-perfil dd { color: var(--cor-forte); font-weight: 500; text-align: right; }
.online-agora { color: var(--positivo); font-weight: 600; display: inline-flex; gap: .4em; align-items: center; }
.online-agora::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }

/* Lista de membros */
.grade-membros { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 1em; padding: 1.2em; }
.cartao-membro { display: flex; gap: 1em; align-items: center; padding: 1em; border: 1px solid var(--fundo-4); border-radius: var(--raio-design); background: var(--fundo-1); }
.cartao-membro:hover { border-color: var(--fundo-6); }
.cartao-membro__texto { display: grid; line-height: 1.35; min-width: 0; }
.cartao-membro__texto a { font-weight: 600; color: var(--cor-forte); }

/* Configurações da conta */
.menu-lateral { display: grid; gap: 2px; padding: .5em; }
.menu-lateral a { display: flex; gap: .8em; align-items: center; padding: .7em 1em; border-radius: 6px; color: var(--cor-texto); font-weight: 500; }
.menu-lateral a:hover { background: var(--fundo-hover); color: var(--cor-forte); }
.menu-lateral a.ativo { background: var(--fundo-3); color: var(--cor-forte); font-weight: 600; }
.menu-lateral i { width: 1.3em; text-align: center; opacity: .75; }
.colunas--conta { grid-template-columns: 260px minmax(0, 1fr); }
@media (max-width: 760px) { .colunas--conta { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Rodapé ---------- */
.rodape { background: var(--rodape-fundo); color: var(--rodape-texto); padding: 1.5em 0; margin-top: auto; font-size: .9em; font-weight: 500; }
.rodape .largura { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .9em 1.5em; }
.rodape__links { display: flex; flex-wrap: wrap; gap: .2em; }
.rodape__links a, .rodape__links button { color: inherit; padding: .4em 1em; border-radius: 5px; display: inline-flex; gap: .5em; align-items: center; }
.rodape__links a:hover, .rodape__links button:hover { background: color-mix(in srgb, currentColor 10%, transparent); color: inherit; }
.rodape__direitos { opacity: .85; }

/* ---------- Página de erro ---------- */
.erro-pagina { text-align: center; padding: 3.5em 1.5em; display: grid; justify-items: center; gap: 1em; }
.erro-pagina__codigo { font-size: 4em; font-weight: 700; color: var(--fundo-6); line-height: 1; }
.erro-pagina h1 { font-size: 1.6em; font-weight: 600; color: var(--cor-forte); }
.erro-pagina p { max-width: 560px; color: var(--cor-texto); }

/* ===================== 0.4.0: notificações, seguir, ignorar ===================== */

/* Contador vermelho do sino */
.icone-cabecalho { position: relative; }
.contador { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #e03131; color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; box-shadow: 0 0 0 2px var(--cab1-fundo); }
.cabecalho-movel .contador { box-shadow: 0 0 0 2px var(--cabmovel-fundo); }

/* Menu do sino */
.menu-notificacoes { width: min(400px, calc(100vw - 2em)); padding: 0; color: var(--cor-texto); }
.menu-notificacoes__topo { display: flex; align-items: center; gap: .3em; padding: .7em .9em; border-bottom: 1px solid var(--fundo-4); color: var(--cor-forte); }
.menu-notificacoes__todas { display: block; text-align: center; padding: .75em; border-top: 1px solid var(--fundo-4); font-weight: 600; color: var(--cor-primaria-texto); border-radius: 0 0 var(--raio-design) var(--raio-design); }
.menu-notificacoes__todas:hover { background: var(--fundo-hover); }
.lista-notificacoes--menu { max-height: min(460px, 65vh); overflow-y: auto; }

/* Notificações (menu e página) */
.lista-notificacoes .vazio { padding: 2em 1em; }
.notificacao + .notificacao { border-top: 1px solid var(--fundo-3); }
.notificacao__link { display: flex; align-items: flex-start; gap: .9em; padding: .85em 1em; color: var(--cor-texto); position: relative; }
.notificacao__link:hover { background: var(--fundo-hover); color: var(--cor-texto); }
.notificacao--nova .notificacao__link { background: color-mix(in srgb, var(--primaria) 7%, transparent); }
.notificacao--nova .notificacao__link:hover { background: color-mix(in srgb, var(--primaria) 11%, transparent); }
.notificacao__imagem { position: relative; flex: 0 0 auto; }
.notificacao__icone { position: absolute; right: -5px; bottom: -4px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 10px; color: #fff; background: var(--primaria); box-shadow: 0 0 0 2px var(--fundo-1); }
.notificacao__icone--reacao { background: #f59f00; }
.notificacao__icone--mencao, .notificacao__icone--citacao { background: #7048e8; }
.notificacao__icone--seguidor, .notificacao__icone--post_membro { background: #0ca678; }
.notificacao__texto { flex: 1 1 auto; display: grid; gap: .2em; line-height: 1.4; min-width: 0; }
.notificacao__frase { color: var(--cor-forte); }
.notificacao--nova .notificacao__frase { font-weight: 600; }
.notificacao__trecho { color: var(--cor-suave); font-size: .9em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.notificacao__quando { color: var(--cor-suave); font-size: .82em; }
.notificacao__link .indicador { align-self: center; }
.avatar--icone { background: var(--fundo-4); color: var(--cor-suave); font-size: 18px; }

/* Botão Seguir e suas opções */
.botao-seguir__total { padding-left: .6em; margin-left: .2em; border-left: 1px solid color-mix(in srgb, currentColor 30%, transparent); font-weight: 700; }
.menu-seguir { width: 300px; padding: .5em; }
.menu-seguir__opcao { display: flex; gap: .7em; align-items: flex-start; padding: .55em .6em; border-radius: 6px; cursor: pointer; }
.menu-seguir__opcao:hover { background: var(--fundo-hover); }
.menu-seguir__opcao input { margin-top: .25em; }
.menu-seguir__opcao span { display: grid; line-height: 1.35; }
.menu-seguir__opcao strong { color: var(--cor-forte); font-weight: 600; }
.menu-seguir__opcao small { color: var(--cor-suave); font-size: .85em; }
.menu-seguir__anonimo { padding: .6em; font-size: .92em; border-top: 1px solid var(--fundo-4); margin-top: .3em; width: 100%; }
.menu-seguir__botoes { display: flex; justify-content: flex-end; gap: .4em; padding: .4em .3em .2em; }

/* Conteúdo que sigo */
.abas-forum { display: flex; flex-wrap: wrap; gap: .3em; border-bottom: 1px solid var(--borda-caixa); }
.abas-forum a { display: inline-flex; gap: .5em; align-items: center; padding: .7em 1.1em; color: var(--cor-suave); font-weight: 600; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.abas-forum a:hover { color: var(--cor-forte); }
.abas-forum a.ativa { color: var(--cor-forte); border-bottom-color: var(--primaria); }
.lista-seguindo li { display: flex; align-items: center; justify-content: space-between; gap: 1em; padding: .9em 1.2em; border-top: 1px solid var(--fundo-3); flex-wrap: wrap; }
.lista-seguindo li:first-child { border-top: 0; }
.lista-seguindo__nome { display: flex; align-items: center; gap: .8em; min-width: 0; }
.lista-seguindo__nome > div { display: grid; line-height: 1.4; }

/* Preferências de notificação */
.form-linha--larga { grid-template-columns: minmax(0, 1fr); }
.grade-notificacoes td:first-child { line-height: 1.4; }
.grade-notificacoes input { width: 1.2em; height: 1.2em; }

/* Post de membro ignorado */
.post-ignorado { margin-bottom: 1em; }
.post-ignorado > summary { padding: .9em 1.2em; border: 1px dashed var(--fundo-5); border-radius: var(--raio-design); color: var(--cor-suave); background: var(--fundo-2); }
.post-ignorado > summary i { margin-right: .4em; }
.post-ignorado[open] > summary { margin-bottom: .6em; }
.post-ignorado[open] > summary .link-botao { display: none; }

/* ---------- Mensagens privadas (Messenger) ---------- */
.mensageiro { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: var(--esp-bloco); align-items: start; }
.mensageiro--conversa { grid-template-columns: minmax(0, 1fr) 280px; margin-top: var(--esp-bloco); }
.mensageiro__lateral { display: grid; gap: 1.2em; position: sticky; top: 1em; }
.mensageiro__filtros, .mensageiro__pastas { display: grid; gap: 2px; }
.mensageiro__subtitulo { font-size: .78em; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--cor-suave); padding: 0 .8em .3em; }
.mensageiro__filtro { display: flex; align-items: center; gap: .7em; padding: .6em .8em; border-radius: 6px; color: var(--cor-texto); font-weight: 500; }
.mensageiro__filtro i { width: 1.2em; text-align: center; color: var(--cor-suave); }
.mensageiro__filtro span:first-of-type { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mensageiro__filtro:hover { background: var(--fundo-hover); color: var(--cor-forte); }
.mensageiro__filtro.ativo { background: color-mix(in srgb, var(--primaria) 12%, transparent); color: var(--cor-primaria-texto); }
.mensageiro__filtro.ativo i { color: inherit; }
.mensageiro__numero { font-size: .8em; font-weight: 600; min-width: 1.8em; padding: .1em .5em; border-radius: 99px; text-align: center; background: var(--fundo-3); color: var(--cor-forte); }
.mensageiro__nova-pasta { padding: .4em .8em; }
.mensageiro__nova-pasta summary { list-style: none; cursor: pointer; font-size: .92em; }
.mensageiro__nova-pasta summary::-webkit-details-marker { display: none; }
.mensageiro__nova-pasta .entrada { min-width: 0; flex: 1; }
.mensageiro__dica { padding: 0 .8em; line-height: 1.5; }
.mensageiro__principal { min-width: 0; }
.mensageiro__topo { font-size: 1.15em; }
.mensageiro__titulo { font-size: inherit; font-weight: inherit; margin-inline-end: auto; }
.mensageiro__busca { position: relative; font-size: var(--rem); font-weight: 400; flex: 0 1 260px; }
.mensageiro__busca i { position: absolute; left: .8em; top: 50%; transform: translateY(-50%); color: var(--cor-suave); pointer-events: none; }
.mensageiro__busca .entrada { padding-left: 2.3em; width: 100%; }
.entrada--pequena { padding: .45em .7em; font-size: .92em; }
.selecao--pequena { padding-top: .4em; padding-bottom: .4em; font-size: .9em; width: auto; }
.botao--ativo { --b-texto: var(--alerta); }

.lista-conversas { list-style: none; margin: 0; padding: 0; }
.conversa-linha { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; gap: .9em; align-items: start; padding: 1em 1.2em; border-bottom: 1px solid var(--fundo-3); position: relative; transition: background .15s; }
.conversa-linha:hover { background: var(--fundo-hover); }
.conversa-linha--nao-lida { background: color-mix(in srgb, var(--primaria) 5%, transparent); }
.conversa-linha__marcar { padding-top: .7em; }
.conversa-linha__marcar input { width: 1.1em; height: 1.1em; }
.conversa-linha__principal { display: grid; gap: .25em; min-width: 0; }
.conversa-linha__titulo { font-size: 1.05em; font-weight: 500; color: var(--cor-forte); display: flex; align-items: center; gap: .45em; min-width: 0; }
.conversa-linha__titulo a { color: inherit; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.conversa-linha__titulo a::after { content: ""; position: absolute; inset: 0; z-index: 0; }
.conversa-linha--nao-lida .conversa-linha__titulo { font-weight: 700; }
.conversa-linha__pessoas, .conversa-linha__trecho { font-size: .92em; color: var(--cor-suave); min-width: 0; }
.conversa-linha__pessoas a, .conversa-linha__marcar, .conversa-linha__avatar a { position: relative; z-index: 1; }
.conversa-linha__trecho { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.conversa-linha__trecho strong { color: var(--cor-texto); font-weight: 600; }
.conversa-linha__lado { display: grid; gap: .3em; justify-items: end; white-space: nowrap; }
.barra-lote { display: flex; flex-wrap: wrap; align-items: center; gap: .6em; padding: .9em 1.2em; background: var(--fundo-2); border-radius: 0 0 var(--raio-design) var(--raio-design); }

.notificacao__com { display: block; font-size: .88em; color: var(--cor-suave); }

.lista-participantes { list-style: none; margin: 0; padding: .4em 0; }
.participante { display: flex; align-items: center; gap: .7em; padding: .55em 1.2em; }
.participante__info { display: grid; flex: 1; min-width: 0; line-height: 1.35; }
.participante__info .nome-grupo { font-weight: 600; overflow: hidden; text-overflow: ellipsis; }
.participante--saiu { opacity: .7; padding-top: .35em; padding-bottom: .35em; }
.participantes-sairam { padding: 0 1.2em .6em; }
.participantes-sairam summary { cursor: pointer; padding: .3em 0; }
.participantes-sairam .participante { padding-left: 0; padding-right: 0; }
.mensageiro__participantes { position: sticky; top: 1em; }
.mensageiro__participantes .caixa__cabecalho { font-size: 1.05em; }
.convidar { padding: 1em 1.2em; border-top: 1px solid var(--fundo-3); }
.selo--pequeno { font-size: .72em; padding: .15em .5em; justify-self: start; }
.menu__nota { padding: .5em .9em; white-space: normal; }
.menu--formulario { min-width: 270px; }
.formulario-mini { padding: .5em .6em; display: grid; gap: .4em; }

/* Campo "Para": nomes em etiquetas com sugestões enquanto digita */
.escolher-membros { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: .35em; cursor: text; min-height: 2.75em; padding: .3em .5em; }
.escolher-membros:focus-within { border-color: var(--primaria); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primaria) 22%, transparent); }
.escolher-membros__etiquetas { display: contents; }
.escolher-membros__digitar { flex: 1 1 8em; min-width: 6em; border: 0; outline: 0; background: transparent; color: inherit; font: inherit; padding: .3em .2em; }
.etiqueta { display: inline-flex; align-items: center; gap: .35em; padding: .25em .3em .25em .7em; border-radius: 99px; background: color-mix(in srgb, var(--primaria) 14%, transparent); color: var(--cor-primaria-texto); font-weight: 600; font-size: .92em; }
.etiqueta__tirar { display: inline-grid; place-items: center; width: 1.5em; height: 1.5em; border-radius: 50%; color: inherit; opacity: .7; }
.etiqueta__tirar:hover { opacity: 1; background: color-mix(in srgb, var(--primaria) 20%, transparent); }
.escolher-membros__sugestoes { position: absolute; z-index: 30; left: -1px; right: -1px; top: calc(100% + 4px); list-style: none; margin: 0; padding: .3em; background: var(--fundo-menu); border-radius: var(--raio-design); box-shadow: var(--sombra-menu); max-height: 280px; overflow-y: auto; animation: menu-abre .15s ease-out; }
.escolher-membros__sugestoes li { display: flex; align-items: center; gap: .6em; padding: .5em .7em; border-radius: 5px; cursor: pointer; color: var(--cor-texto); }
.escolher-membros__sugestoes li:hover, .escolher-membros__sugestoes li[aria-selected="true"] { background: var(--fundo-hover); color: var(--cor-forte); }

@media (max-width: 1000px) {
  .mensageiro--conversa { grid-template-columns: minmax(0, 1fr); }
  .mensageiro__participantes { position: static; order: -1; }
}
@media (max-width: 760px) {
  .mensageiro { grid-template-columns: minmax(0, 1fr); }
  .mensageiro__lateral { position: static; }
  .mensageiro__filtros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mensageiro__busca { flex-basis: 100%; }
  .conversa-linha { grid-template-columns: auto minmax(0, 1fr); padding: .9em 1em; }
  .conversa-linha__avatar { display: none; }
  .conversa-linha__lado { grid-column: 2; grid-auto-flow: column; justify-content: start; gap: 1em; }
  .barra-lote .empurra { display: none; }
}

/* ---------- Fórum completo (0.6.0) ---------- */
.filtro-prefixos { display: flex; flex-wrap: wrap; gap: .4em; margin-bottom: 1em; }
.filtro-prefixos__item { display: inline-flex; align-items: center; padding: .3em .5em; border-radius: 6px; border: 1px solid transparent; color: var(--cor-texto); font-weight: 600; font-size: .92em; }
.filtro-prefixos__item:hover { background: var(--fundo-hover); }
.filtro-prefixos__item.ativo { border-color: var(--primaria); background: color-mix(in srgb, var(--primaria) 8%, transparent); }

/* Selos novos nas listas */
.selo-icone--pendente { background: var(--alerta); color: #fff; }
.selo-icone--destaque { background: hsl(42 95% 50%); color: hsl(40 60% 14%); }
.selo-icone--resolvido { background: var(--positivo); color: #fff; }
.texto-positivo { --b-texto: var(--positivo); color: var(--positivo); }
.tipo-topico { display: inline-flex; align-items: center; gap: .35em; font-weight: 600; color: var(--cor-forte); }

/* Escolher tipo do tópico */
.escolha-tipo { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .6em; }
.escolha-tipo__opcao { position: relative; cursor: pointer; }
.escolha-tipo__opcao input { position: absolute; opacity: 0; pointer-events: none; }
.escolha-tipo__opcao span { display: grid; gap: .2em; padding: .8em 1em; border: 1px solid var(--fundo-4); border-radius: var(--raio-design); height: 100%; transition: border-color .15s, background .15s; }
.escolha-tipo__opcao span i { color: var(--cor-primaria-texto); margin-right: .2em; }
.escolha-tipo__opcao small { color: var(--cor-suave); font-size: .85em; }
.escolha-tipo__opcao input:checked + span { border-color: var(--primaria); background: color-mix(in srgb, var(--primaria) 8%, transparent); box-shadow: 0 0 0 1px var(--primaria); }
.escolha-tipo__opcao input:focus-visible + span { outline: 2px solid var(--primaria); outline-offset: 2px; }

/* Enquete: criar/editar */
.caixa-enquete { border: 1px solid var(--fundo-4); border-radius: var(--raio-design); padding: .2em 1em; }
.caixa-enquete > summary { cursor: pointer; padding: .7em 0; font-weight: 600; color: var(--cor-forte); list-style: none; }
.caixa-enquete > summary::-webkit-details-marker { display: none; }
.caixa-enquete > summary i { color: var(--cor-primaria-texto); margin-right: .3em; }
.caixa-enquete[open] > summary { border-bottom: 1px solid var(--fundo-3); margin-bottom: .8em; }
.caixa-enquete[open] { padding-bottom: 1em; }
.campos-enquete { display: grid; gap: 1em; }
.pergunta-enquete { border: 1px solid var(--fundo-3); border-radius: var(--raio-design); padding: .8em 1em 1em; display: grid; gap: .6em; background: var(--fundo-2); }
.pergunta-enquete legend { font-weight: 600; color: var(--cor-forte); padding: 0 .3em; font-size: .92em; }
.opcoes-enquete { display: grid; gap: .5em; }
.entrada--curta-data { max-width: 16em; }

/* Enquete: votar e resultado */
.enquete__cabecalho { font-size: 1.15em; }
.enquete__cabecalho > span:first-child i { color: var(--cor-primaria-texto); margin-right: .3em; }
.enquete__corpo { display: grid; gap: 1.4em; }
.enquete__pergunta { display: grid; gap: .6em; border: 0; padding: 0; margin: 0; }
.enquete__pergunta legend, .enquete__titulo-pergunta { font-weight: 600; color: var(--cor-forte); font-size: 1.02em; margin-bottom: .2em; }
.enquete__opcao { padding: .55em .8em; border: 1px solid var(--fundo-4); border-radius: 6px; width: 100%; }
.enquete__opcao:hover { background: var(--fundo-hover); }
.enquete__resultado { display: grid; gap: .3em; }
.enquete__linha { display: flex; justify-content: space-between; gap: 1em; color: var(--cor-forte); }
.enquete__resultado--meu .enquete__linha { font-weight: 600; }
.enquete__resultado--meu .enquete__linha i { color: var(--positivo); }
.enquete__barra { height: 10px; border-radius: 99px; background: var(--fundo-3); overflow: hidden; }
.enquete__preenchido { display: block; height: 100%; border-radius: 99px; background: var(--primaria); width: 0; transition: width .6s cubic-bezier(.2, .8, .2, 1); }
.enquete__resultado--meu .enquete__preenchido { background: var(--positivo); }
.larg-5 { width: 5%; } .larg-10 { width: 10%; } .larg-15 { width: 15%; } .larg-20 { width: 20%; } .larg-25 { width: 25%; } .larg-30 { width: 30%; }
.larg-35 { width: 35%; } .larg-40 { width: 40%; } .larg-45 { width: 45%; } .larg-50 { width: 50%; } .larg-55 { width: 55%; } .larg-60 { width: 60%; }
.larg-65 { width: 65%; } .larg-70 { width: 70%; } .larg-75 { width: 75%; } .larg-80 { width: 80%; } .larg-85 { width: 85%; } .larg-90 { width: 90%; }
.larg-95 { width: 95%; } .larg-100 { width: 100%; }
.enquete__votantes { line-height: 1.5; }
.enquete__botoes { display: flex; flex-wrap: wrap; align-items: center; gap: .6em 1em; }
.enquete__gerenciar { display: flex; flex-wrap: wrap; gap: .4em; padding-top: .6em; padding-bottom: .6em; }

/* Posts: votos, melhor resposta, aguardando aprovação, artigo */
.post__corpo { display: flex; flex: 1 0 auto; }
.post__corpo .post__conteudo { flex: 1 1 auto; min-width: 0; }
.votos { flex: 0 0 auto; padding: 1em 0 1em 1.2em; }
.votos form { display: grid; justify-items: center; gap: .1em; }
.votos__botao { width: 36px; height: 30px; display: grid; place-items: center; border-radius: 6px; color: var(--cor-suave); font-size: 1.5em; line-height: 1; }
.votos__botao:not(:disabled):hover { background: var(--fundo-hover); color: var(--cor-primaria-texto); }
.votos__botao:disabled { opacity: .45; cursor: default; }
.votos__botao.votou { color: var(--cor-primaria-texto); }
.votos__pontos { font-weight: 700; font-size: 1.15em; color: var(--cor-forte); min-width: 2ch; text-align: center; }
.post--melhor { border-color: var(--positivo); box-shadow: 0 0 0 1px var(--positivo), var(--sombra-caixa); }
.post--pendente { background: color-mix(in srgb, var(--alerta) 7%, var(--fundo-caixa)); }
.post__acoes form { display: inline-flex; }
.post__marcar { width: 1.1em; height: 1.1em; }
.post--artigo { grid-template-columns: minmax(0, 1fr); }
.post--artigo .post__autor-movel--sempre { display: flex; align-items: center; gap: .8em; padding: 1.5em 2em 0; }
.post--artigo .post__autor-movel .info { display: grid; line-height: 1.35; }
.post--artigo .post__autor-movel strong { color: var(--cor-forte); }
.post--artigo .post__meta { padding: .5em 2em 0; }
.post--artigo .post__conteudo { padding: 1.2em 2em 2em; font-size: 1.08em; }
.post--artigo .post__rodape { padding: .7em 2em; }
.melhor-resposta { display: grid; gap: .4em; margin: 0 0 1em; padding: 1em 1.3em; border: 1px solid var(--positivo); border-left-width: 5px; border-radius: var(--raio-design); background: color-mix(in srgb, var(--positivo) 7%, var(--fundo-caixa)); color: var(--cor-texto); box-shadow: var(--sombra-caixa); transition: transform .15s; }
.melhor-resposta:hover { color: var(--cor-texto); transform: translateY(-1px); }
.melhor-resposta__selo { font-weight: 700; color: var(--positivo); display: flex; align-items: center; gap: .4em; }
.melhor-resposta__autor { display: flex; align-items: center; gap: .5em; color: var(--cor-forte); }
.melhor-resposta__texto { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.melhor-resposta__ir { font-weight: 600; color: var(--cor-primaria-texto); font-size: .92em; }
.titulo-secao { font-size: 1.25em; font-weight: 600; color: var(--cor-forte); margin: 1.4em 0 .8em; }

/* Moderação em lote */
.dados__marcar { flex: 0 0 auto; align-self: center; }
.dados__marcar input { width: 1.1em; height: 1.1em; }
.barra-lote--flutuante { position: sticky; bottom: 1em; z-index: 20; margin-top: 1em; border: 1px solid var(--borda-caixa); border-radius: var(--raio-design); box-shadow: var(--sombra-menu); background: var(--fundo-caixa); }
.barra-lote--com-js { display: none; }
.barra-lote--com-js.barra-lote--visivel { display: flex; animation: menu-abre .15s ease-out; }
@media (max-width: 760px) { .barra-lote--flutuante { bottom: 4.5em; } }
.menu--largo { min-width: 280px; }

/* Modos de exibição: botões e cartões */
.alternar-exibicao { display: inline-flex; }
.alternar-exibicao .botao { border-radius: 0; }
.alternar-exibicao .botao:first-child { border-radius: 6px 0 0 6px; }
.alternar-exibicao .botao:last-child { border-radius: 0 6px 6px 0; }
.alternar-exibicao .botao + .botao { margin-left: -1px; }
.alternar-exibicao .botao.ativo { --b-fundo: color-mix(in srgb, var(--primaria) 14%, var(--fundo-caixa)); --b-texto: var(--cor-primaria-texto); position: relative; z-index: 1; }
.grade-topicos { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1em; padding: 1em; }
.caixa > .grade-topicos, .caixa > .lista-artigos { border-top: 0; }
.lista-artigos { display: grid; gap: 1em; padding: 1em; }
.cartao-topico { display: flex; flex-direction: column; background: var(--fundo-caixa); border: 1px solid var(--fundo-4); border-radius: var(--raio-design); overflow: hidden; transition: box-shadow .2s, transform .2s; }
.grade-topicos > .cartao-topico:hover { box-shadow: var(--sombra-caixa); transform: translateY(-2px); }
.cartao-topico--nao-lido .cartao-topico__titulo { font-weight: 700; }
.cartao-topico--oculto { background: var(--fundo-moderado); }
.cartao-topico__imagem { display: block; aspect-ratio: 16 / 9; background: var(--fundo-3); overflow: hidden; }
.cartao-topico__imagem img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.cartao-topico:hover .cartao-topico__imagem img { transform: scale(1.03); }
.cartao-topico__corpo { display: grid; gap: .5em; padding: 1em 1.1em; flex: 1; align-content: start; }
.cartao-topico__titulo { font-size: 1.05em; font-weight: 600; color: var(--cor-forte); line-height: 1.3; display: flex; flex-wrap: wrap; align-items: center; gap: .3em .45em; }
.cartao-topico__titulo a { color: inherit; }
.cartao-topico__titulo a:hover { color: var(--cor-primaria-texto); }
.cartao-topico__resumo { color: var(--cor-texto); font-size: .94em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.cartao-topico__rodape { display: flex; flex-wrap: wrap; align-items: center; gap: .4em .8em; font-size: .88em; margin-top: auto; padding-top: .3em; }
.cartao-topico--artigo { flex-direction: row; }
.cartao-topico--artigo .cartao-topico__imagem { flex: 0 0 min(38%, 340px); aspect-ratio: auto; min-height: 200px; }
.cartao-topico--artigo .cartao-topico__titulo { font-size: 1.35em; }
.cartao-topico--artigo .cartao-topico__resumo { -webkit-line-clamp: 4; font-size: 1em; }
.cartao-topico__ler { justify-self: start; }
@media (max-width: 760px) {
  .cartao-topico--artigo { flex-direction: column; }
  .cartao-topico--artigo .cartao-topico__imagem { flex-basis: auto; aspect-ratio: 16 / 9; min-height: 0; }
  .grade-topicos, .lista-artigos { padding: .7em; gap: .7em; }
}

/* Índice em grade */
.grade-foruns { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1em; padding: 1em; }
.cartao-forum { display: grid; gap: .7em; align-content: start; padding: 1.1em; border: 1px solid var(--fundo-4); border-radius: var(--raio-design); background: var(--fundo-caixa); transition: box-shadow .2s, transform .2s; }
.cartao-forum:hover { box-shadow: var(--sombra-caixa); transform: translateY(-2px); }
.cartao-forum__topo { display: flex; align-items: center; gap: .8em; }
.icone-forum--grande { width: 48px; height: 48px; font-size: 20px; flex: 0 0 auto; }
.cartao-forum__nome { font-size: 1.12em; font-weight: 600; color: var(--cor-forte); line-height: 1.25; }
.cartao-forum__nome a { color: inherit; }
.cartao-forum--nao-lido .cartao-forum__nome { font-weight: 700; }
.cartao-forum__descricao { color: var(--cor-texto); font-size: .94em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.cartao-forum__ultimo { display: flex; align-items: center; gap: .5em; font-size: .9em; padding-top: .7em; border-top: 1px solid var(--fundo-3); min-width: 0; }
.cartao-forum__ultimo a { color: var(--cor-forte); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 1; }

/* Fila de aprovação */
.lista-fila { list-style: none; margin: 0; padding: 0; }
.item-fila { display: flex; gap: 1em; padding: 1.1em 1.3em; border-bottom: 1px solid var(--fundo-3); }
.item-fila__marcar input { width: 1.1em; height: 1.1em; margin-top: .2em; }
.item-fila__corpo { display: grid; gap: .3em; min-width: 0; }
.item-fila__tipo { font-size: .9em; color: var(--cor-suave); }
.item-fila__titulo { font-size: 1.08em; font-weight: 600; }
.item-fila__titulo a { color: var(--cor-forte); }
.item-fila__texto { color: var(--cor-texto); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }

/* Fórum com senha e páginas simples */
.caixa--estreita { max-width: 460px; margin: 2em auto; }
.icone-grande { width: 64px; height: 64px; margin: 0 auto 1em; border-radius: 50%; display: grid; place-items: center; font-size: 26px; background: color-mix(in srgb, var(--primaria) 12%, transparent); color: var(--cor-primaria-texto); }
.titulo-medio { font-size: 1.4em; font-weight: 600; color: var(--cor-forte); margin-bottom: .3em; }
.formulario--estreito { text-align: left; }
.lista-simples { display: grid; gap: .4em; padding-left: 1.2em; }
@media (max-width: 760px) { .votos { padding: .9em 0 .9em .8em; } .votos__botao { width: 30px; } .post--artigo .post__autor-movel--sempre, .post--artigo .post__conteudo, .post--artigo .post__rodape { padding-left: 1.2em; padding-right: 1.2em; } }

/* ---------- Moderação completa (0.7.0) ---------- */
.mensageiro__numero--alerta { background: var(--alerta); color: #fff; }
.numeros-moderacao { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 1em; }
.numero-moderacao { display: grid; gap: .2em; padding: 1.1em 1.2em; background: var(--fundo-caixa); border: 1px solid var(--borda-caixa); border-radius: var(--raio-design); box-shadow: var(--sombra-caixa); color: var(--cor-texto); transition: transform .15s; }
.numero-moderacao:hover { transform: translateY(-2px); color: var(--cor-texto); }
.numero-moderacao i { color: var(--cor-primaria-texto); font-size: 1.2em; }
.numero-moderacao strong { font-size: 1.8em; font-weight: 600; color: var(--cor-forte); line-height: 1.1; }
.numero-moderacao span { color: var(--cor-suave); font-size: .92em; }
.numero-moderacao--alerta { border-color: var(--alerta); }
.numero-moderacao--alerta i, .numero-moderacao--alerta strong { color: var(--alerta); }
.lista-registro { list-style: none; margin: 0; padding: .4em 0; }
.lista-registro li { padding: .6em 1.3em; border-bottom: 1px solid var(--fundo-3); }
.lista-registro li:last-child { border-bottom: 0; }
.abas-simples { display: flex; flex-wrap: wrap; gap: .3em; margin-bottom: 1em; }
.abas-simples a { padding: .45em .9em; border-radius: 6px; color: var(--cor-texto); font-weight: 500; }
.abas-simples a:hover { background: var(--fundo-hover); }
.abas-simples a.ativo { background: color-mix(in srgb, var(--primaria) 12%, transparent); color: var(--cor-primaria-texto); }
.icone-denuncia { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--fundo-3); color: var(--cor-forte); }
.icone-denuncia--aberta { background: var(--negativo); color: #fff; }
.icone-denuncia--analise { background: var(--alerta); color: #fff; }
.icone-denuncia--resolvida { background: var(--positivo); color: #fff; }
.selo--denuncia-aberta { background: var(--negativo); color: #fff; }
.selo--denuncia-analise { background: var(--alerta); color: #fff; }
.selo--denuncia-resolvida { background: var(--positivo); color: #fff; }
.copia-denunciada { padding: 1em 1.2em; border-left: 4px solid var(--fundo-5); background: var(--fundo-2); border-radius: 0 6px 6px 0; max-height: 360px; overflow: auto; }
.colunas-denuncia { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--esp-bloco); align-items: start; margin-top: var(--esp-bloco); }
@media (max-width: 1000px) { .colunas-denuncia { grid-template-columns: minmax(0, 1fr); } }
.lista-comentarios { list-style: none; margin: 0; padding: 0; }
.comentario-denuncia { display: flex; gap: .8em; padding: 1em 1.3em; border-bottom: 1px solid var(--fundo-3); }
.comentario-denuncia > div { display: grid; gap: .3em; min-width: 0; }
.comentario-denuncia__texto { color: var(--cor-texto); }
.caixa--media { max-width: 720px; margin: 0 auto; }
.nota-moderacao { padding: .9em 1.1em; border-radius: 6px; background: var(--fundo-moderado); }
.bloco--moderacao { border-color: color-mix(in srgb, var(--alerta) 45%, var(--borda-caixa)); }
.nota-membro { padding: .6em 0; border-bottom: 1px dashed var(--fundo-4); }
.nota-membro__topo { display: flex; align-items: center; gap: .4em; }
.nota-membro__topo form { margin-left: auto; }
.linha-punicao { align-items: center; justify-content: space-between; padding: .3em 0; }
.entrada--numero { width: 5.5em; }
.formulario-mini textarea { width: 100%; }

fieldset.campo { border: 0; padding: 0; margin: 0; min-width: 0; }
fieldset.campo > legend { padding: 0; margin-bottom: .4em; }
@media (max-width: 760px) { .numeros-moderacao { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6em; } .item-fila { padding: .9em 1em; gap: .7em; } .comentario-denuncia { padding: .9em 1em; } }

/* ---------- Busca ---------- */
.busca-topo { padding: 1.2em 1.4em; }
.busca-topo__campo { position: relative; display: flex; gap: .6em; }
.busca-topo__campo > i { position: absolute; left: 1em; top: 50%; transform: translateY(-50%); color: var(--cor-suave); font-size: 1.1em; pointer-events: none; }
.busca-topo__campo .entrada { flex: 1 1 auto; padding-left: 2.8em; }
.entrada--grande { font-size: 1.15em; height: 50px; }
.busca-topo__campo .botao { height: 50px; padding-inline: 1.6em; }
.busca-topo__mais { margin-top: .9em; }
.busca-topo__mais > summary { display: inline-flex; gap: .5em; align-items: center; color: var(--cor-suave); font-weight: 600; cursor: pointer; padding: .3em .2em; list-style: none; }
.busca-topo__mais > summary::-webkit-details-marker { display: none; }
.busca-topo__mais > summary:hover { color: var(--cor-forte); }
.busca-topo__mais[open] > summary { color: var(--cor-forte); }
.busca-filtros { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(210px, 100%), 1fr)); gap: 1em 1.2em; margin-top: .8em; padding-top: 1em; border-top: 1px solid var(--fundo-3); animation: menu-abre .2s ease-out; }
.busca-filtros__largo { grid-column: 1 / -1; }
.busca-filtros .caixa-marcar { grid-column: 1 / -1; }
.resultados-busca { list-style: none; }
.resultado-busca { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1em; padding: 1.1em 1.4em; border-top: 1px solid var(--fundo-3); animation: fluxo-entra .3s ease-out both; }
.resultado-busca:first-child { border-top: 0; }
.resultado-busca:hover { background: var(--fundo-hover); }
.resultado-busca__titulo { font-size: 1.1em; font-weight: 600; display: flex; flex-wrap: wrap; gap: .4em; align-items: center; }
.resultado-busca__titulo a { color: var(--cor-forte); }
.resultado-busca__trecho { margin-top: .35em; line-height: 1.55; color: var(--cor-texto); overflow-wrap: anywhere; }
.resultado-busca__meta { margin-top: .45em; }
.resultado-busca__meta a { color: inherit; }
.resultado-busca mark, .resultado-busca__titulo mark { background: color-mix(in srgb, hsl(50 100% 55%) 55%, transparent); color: inherit; border-radius: 3px; padding: 0 .12em; }
[data-esquema="escuro"] .resultado-busca mark { background: hsl(45 90% 40% / .55); }
.mb-1 { margin-bottom: var(--esp-1); }
@media (max-width: 600px) {
  .busca-topo { padding: 1em; }
  .busca-topo__campo .botao span { display: none; }
  .busca-topo__campo .botao::before { content: "\f002"; font-family: var(--fonte-icones); font-weight: 900; }
  .resultado-busca { grid-template-columns: minmax(0, 1fr); }
  .resultado-busca > .link-avatar, .resultado-busca > .avatar { display: none; }
  .fluxo__item { padding: 1em; }
}

/* ---------- Páginas personalizadas ---------- */
.pagina-personalizada { font-size: var(--tam-conteudo); line-height: 1.65; }
.pagina-personalizada > h2:first-child, .pagina-personalizada > h3:first-child { margin-top: 0; }

/* ---------- Conquistas (0.9.0) ---------- */
/* Selo do nível sobre a foto (posts, perfil, cartão, placar) */
.post__autor-foto, .placar__foto { position: relative; display: inline-block; }
.post__autor-nivel, .perfil__nivel { position: absolute; left: -2px; bottom: -2px; z-index: 2; line-height: 0; border-radius: 50%; }
.post__autor-nivel .nivel-selo, .perfil__nivel .nivel-selo { box-shadow: 0 0 0 3px var(--fundo-caixa), 0 2px 4px hsl(0 0% 0% / .3); }
.perfil__foto .perfil__nivel { left: 4%; bottom: 4%; }
.cartao-membro-pop__foto .perfil__nivel .nivel-selo { box-shadow: 0 0 0 3px var(--fundo-menu); }
.placar__foto .perfil__nivel { left: -4px; bottom: -4px; }
.placar__foto .nivel-selo { --tam: 18px; }
.perfil__nivel-nome { display: inline-flex; align-items: center; gap: .35em; padding: .15em .65em; border-radius: 20px; font-size: .85em; font-weight: 600;
  color: var(--cor-forte); background: var(--fundo-3); }
.perfil__nivel-nome:hover { color: var(--cor-forte); background: var(--fundo-4); }
.post__autor-medalhas { display: flex; flex-wrap: wrap; justify-content: center; gap: .3em; margin-top: .6em; }
.cartao-membro-pop__medalhas { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .3em; margin: .2em 0; }
.grade-medalhas { display: flex; flex-wrap: wrap; gap: .5em; }

/* Faixa "post reconhecido" */
.reconhecido {
  position: relative; display: flex; align-items: center; gap: 1em; margin-top: 1.2em; padding: .9em 1.1em; overflow: hidden;
  border-radius: var(--raio-design); border: 1px solid color-mix(in srgb, hsl(45 95% 50%) 45%, transparent);
  background: linear-gradient(110deg, color-mix(in srgb, hsl(45 100% 60%) 16%, var(--fundo-caixa)), var(--fundo-caixa) 70%);
  animation: reconhecido-entra .5s ease-out;
}
.reconhecido::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 35%, hsl(0 0% 100% / .25) 50%, transparent 65%); transform: translateX(-100%); animation: brilho-passa 2.8s ease-in-out 1s infinite; pointer-events: none; }
.reconhecido__texto { flex: 1; min-width: 0; }
.reconhecido__texto p { color: var(--cor-texto); }
.reconhecido__mensagem { font-style: italic; margin-top: .2em; }
.reconhecido__brilho { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: #fff; font-size: 1.1em;
  background: radial-gradient(circle at 30% 25%, hsl(45 100% 70%), hsl(36 95% 45%)); box-shadow: 0 2px 6px hsl(36 90% 40% / .4); }
@keyframes reconhecido-entra { from { opacity: 0; transform: translateY(6px); } }
@keyframes brilho-passa { 0%, 60% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }

/* Aba "Conquistas" do perfil */
.conquistas-perfil { display: grid; gap: var(--esp-bloco); }
.conquistas-perfil__colunas { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--esp-bloco); align-items: start; }
.conquistas-perfil__colunas > .caixa + .caixa { margin-top: 0; }
@media (max-width: 1100px) { .conquistas-perfil__colunas { grid-template-columns: minmax(0, 1fr); } }
.progresso-nivel { padding: 1.4em; }
.progresso-nivel__topo { display: flex; align-items: center; gap: 1.2em; flex-wrap: wrap; }
.progresso-nivel__topo .nivel-selo { animation: selo-pula .7s cubic-bezier(.2, .7, .2, 1.5); }
.progresso-nivel__texto { flex: 1 1 220px; }
.progresso-nivel__nome { font-size: 1.6em; font-weight: 650; color: var(--cor-forte); line-height: 1.2; }
.progresso-nivel__numeros { display: flex; gap: 1.5em; text-align: center; }
.progresso-nivel__numeros dt { font-size: .75em; text-transform: uppercase; letter-spacing: .04em; color: var(--cor-suave); font-weight: 600; }
.progresso-nivel__numeros dd { font-size: 1.35em; font-weight: 650; color: var(--cor-forte); }
.progresso-nivel__pct { margin-top: .4em; }
.progresso-nivel__topo-max { margin-top: 1em; font-weight: 600; color: hsl(40 90% 42%); }
[data-esquema="escuro"] .progresso-nivel__topo-max { color: hsl(45 95% 60%); }
.barra-progresso { height: 12px; margin-top: 1.2em; border-radius: 12px; background: var(--fundo-3); overflow: hidden; box-shadow: inset 0 1px 2px hsl(0 0% 0% / .12); }
.barra-progresso__cheio { display: block; height: 100%; border-radius: inherit; min-width: 12px;
  background: linear-gradient(90deg, var(--primaria), color-mix(in oklch, var(--primaria), hsl(280 85% 60%) 45%));
  animation: barra-enche 1.1s cubic-bezier(.2, .7, .2, 1) both; position: relative; overflow: hidden; }
.barra-progresso__cheio::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, hsl(0 0% 100% / .35), transparent); transform: translateX(-100%); animation: brilho-passa 2.4s ease-in-out 1.2s infinite; }
.largura-0 { width: 0%; } .largura-5 { width: 5%; } .largura-10 { width: 10%; } .largura-15 { width: 15%; } .largura-20 { width: 20%; } .largura-25 { width: 25%; }
.largura-30 { width: 30%; } .largura-35 { width: 35%; } .largura-40 { width: 40%; } .largura-45 { width: 45%; } .largura-50 { width: 50%; }
.largura-55 { width: 55%; } .largura-60 { width: 60%; } .largura-65 { width: 65%; } .largura-70 { width: 70%; } .largura-75 { width: 75%; }
.largura-80 { width: 80%; } .largura-85 { width: 85%; } .largura-90 { width: 90%; } .largura-95 { width: 95%; } .largura-100 { width: 100%; }

@keyframes barra-enche { from { width: 0; } }
@keyframes selo-pula { 0% { transform: scale(.3) rotate(-30deg); opacity: 0; } 70% { transform: scale(1.12) rotate(4deg); } }
.lista-medalhas { display: grid; }
.lista-medalhas__item { display: flex; gap: 1em; align-items: center; padding: 1em 1.3em; border-top: 1px solid var(--fundo-3); animation: fluxo-entra .35s ease-out both; }
.lista-medalhas__item:first-child { border-top: 0; }
.lista-medalhas__item--destaque { background: color-mix(in srgb, hsl(45 100% 60%) 8%, transparent); }
.lista-medalhas__nome { font-weight: 650; color: var(--cor-forte); }
.linha-niveis { position: relative; padding: 1em 1.3em 1.2em; }
.linha-niveis::before { content: ""; position: absolute; left: calc(1.3em + 15px); top: 1.6em; bottom: 1.6em; width: 2px; background: var(--fundo-4); }
.linha-niveis__item { position: relative; display: flex; align-items: center; gap: 1em; padding: .45em 0; }
.linha-niveis__item h3 { font-weight: 600; color: var(--cor-forte); }
.linha-niveis__item--atual .nivel-selo { box-shadow: 0 0 0 4px color-mix(in srgb, var(--primaria) 35%, transparent), 0 1px 3px hsl(0 0% 0% / .3); animation: anel-pulsa 2.4s ease-in-out infinite; }
.linha-niveis__item--atual h3::after { content: "atual"; margin-left: .5em; padding: .1em .5em; border-radius: 10px; font-size: .72em; font-weight: 700; text-transform: uppercase; background: var(--primaria); color: var(--texto-sobre-primaria); vertical-align: .15em; }
.linha-niveis__item--falta { opacity: .5; }
.linha-niveis__item--falta .nivel-selo { filter: grayscale(1); }
@keyframes anel-pulsa { 50% { box-shadow: 0 0 0 7px color-mix(in srgb, var(--primaria) 12%, transparent), 0 1px 3px hsl(0 0% 0% / .3); } }

/* Classificação */
.titulo-trofeu { color: hsl(42 95% 50%); }
.filtro-periodo { display: flex; flex-wrap: wrap; gap: .4em; }
.filtro-periodo__opcao { padding: .5em 1em; border-radius: 30px; font-weight: 600; color: var(--cor-texto); background: var(--fundo-caixa); border: 1px solid var(--borda-caixa); transition: background-color .15s, color .15s, border-color .15s; }
.filtro-periodo__opcao:hover { color: var(--cor-forte); border-color: var(--fundo-6); }
.filtro-periodo__opcao.ativo { background: var(--primaria); border-color: var(--primaria); color: var(--texto-sobre-primaria); }
.classificacao-colunas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--esp-bloco); align-items: start; }
.classificacao-colunas--larga { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
.classificacao-colunas > .caixa + .caixa { margin-top: 0; }
@media (max-width: 900px) { .classificacao-colunas, .classificacao-colunas--larga { grid-template-columns: minmax(0, 1fr); } }
.placar { list-style: none; counter-reset: placar; }
.placar__item { display: grid; grid-template-columns: 2.4em auto minmax(0, 1fr) auto; gap: .9em; align-items: center; padding: .75em 1.2em; border-top: 1px solid var(--fundo-3); animation: fluxo-entra .35s ease-out both; }
.placar__item:first-child { border-top: 0; }
.placar__item:hover { background: var(--fundo-hover); }
.placar__posicao { display: grid; place-items: center; width: 2.1em; height: 2.1em; border-radius: 50%; font-weight: 700; color: var(--cor-suave); background: var(--fundo-2); }
.placar__nome { display: grid; min-width: 0; font-weight: 600; }
.placar__valor { display: grid; text-align: right; line-height: 1.2; }
.placar__valor strong { font-size: 1.2em; color: var(--cor-forte); }
.podio--1 .placar__posicao { color: #fff; background: radial-gradient(circle at 30% 25%, hsl(48 100% 70%), hsl(40 95% 42%)); box-shadow: 0 2px 6px hsl(40 90% 40% / .45); }
.podio--2 .placar__posicao { color: #fff; background: radial-gradient(circle at 30% 25%, hsl(210 20% 88%), hsl(210 10% 55%)); }
.podio--3 .placar__posicao { color: #fff; background: radial-gradient(circle at 30% 25%, hsl(28 80% 70%), hsl(24 65% 38%)); }
.podio--1 { background: linear-gradient(90deg, color-mix(in srgb, hsl(45 100% 60%) 10%, transparent), transparent 60%); }
.podio--1 .placar__posicao i { animation: trofeu-balanca 2.6s ease-in-out infinite; }
@keyframes trofeu-balanca { 0%, 70%, 100% { transform: rotate(0); } 80% { transform: rotate(-12deg); } 90% { transform: rotate(10deg); } }
.placar__item:nth-child(2) { animation-delay: .04s; } .placar__item:nth-child(3) { animation-delay: .08s; } .placar__item:nth-child(4) { animation-delay: .12s; } .placar__item:nth-child(n+5) { animation-delay: .16s; }
.lider-destaque { position: relative; display: flex; align-items: center; gap: 1.2em; padding: 1.2em 1.4em; overflow: hidden;
  background: linear-gradient(110deg, color-mix(in srgb, hsl(45 100% 60%) 18%, var(--fundo-caixa)), var(--fundo-caixa) 65%); }
.lider-destaque__coroa { position: absolute; right: 1.2em; top: 50%; transform: translateY(-50%) rotate(12deg); font-size: 4.5em; color: hsl(45 95% 55% / .25); }
.lider-destaque__nome { font-size: 1.4em; font-weight: 650; }
.lider-destaque__foto .avatar { box-shadow: 0 0 0 3px hsl(45 95% 55%), 0 4px 12px hsl(40 90% 40% / .35); }
.medalhas-recentes { list-style: none; }
.medalhas-recentes li { display: flex; align-items: center; gap: .8em; padding: .7em 1.2em; border-top: 1px solid var(--fundo-3); }
.medalhas-recentes li:first-child { border-top: 0; }
.medalhas-recentes li > div { display: grid; line-height: 1.4; }
.lista-lideres { list-style: none; }
.lista-lideres li { display: flex; align-items: center; gap: 1em; padding: .8em 1.2em; border-top: 1px solid var(--fundo-3); }
.lista-lideres li:first-child { border-top: 0; }
.lista-lideres li > div { display: grid; flex: 1; min-width: 0; }
.lista-lideres__dia { display: grid; text-align: center; min-width: 3.4em; padding: .3em; border-radius: 8px; background: var(--fundo-2); font-size: .78em; text-transform: uppercase; color: var(--cor-suave); line-height: 1.2; }
.lista-lideres__dia strong { font-size: 1.6em; color: var(--cor-forte); }
.lista-lideres__coroa { color: hsl(45 95% 50%); }
.catalogo-medalhas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: .2em; padding: .6em; }
.catalogo-medalhas__item { display: flex; gap: 1em; align-items: center; padding: .9em; border-radius: var(--raio-design); transition: background-color .15s; }
.catalogo-medalhas__item:hover { background: var(--fundo-hover); }
.catalogo-medalhas__item h3 { font-weight: 650; color: var(--cor-forte); }
.catalogo-medalhas__item:not(.catalogo-medalhas__item--tenho) .medalha { filter: grayscale(.85); opacity: .55; transition: filter .3s, opacity .3s; }
.catalogo-medalhas__item:hover .medalha { filter: none; opacity: 1; }
.citacao-post { border-left: 3px solid var(--primaria); }
.escolha-medalha { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: .5em; }
.escolha-medalha__item { display: grid; justify-items: center; text-align: center; gap: .3em; padding: .6em .3em; border-radius: var(--raio-design); border: 2px solid transparent; cursor: pointer; transition: border-color .15s, background-color .15s; }
.escolha-medalha__item:hover { background: var(--fundo-hover); }
.escolha-medalha__item input { position: absolute; opacity: 0; pointer-events: none; }
.escolha-medalha__item:has(input:checked) { border-color: var(--primaria); background: color-mix(in srgb, var(--primaria) 8%, transparent); }
.escolha-medalha__item:has(input:focus-visible) { outline: 2px solid var(--primaria); outline-offset: 2px; }
.escolha-medalha__nenhuma { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--fundo-3); color: var(--cor-suave); }

/* Aviso animado de conquista nova */
.conquista-nova {
  position: fixed; right: 1.5em; bottom: 1.5em; z-index: 70; display: flex; align-items: center; gap: 1.2em; width: min(440px, calc(100vw - 2em));
  padding: 1.3em 1.4em; border-radius: 14px; overflow: hidden; color: #fff;
  background: linear-gradient(135deg, var(--secundaria), color-mix(in oklch, var(--secundaria), var(--primaria) 45%));
  box-shadow: 0 20px 50px hsl(0 0% 0% / .4), 0 0 0 1px hsl(0 0% 100% / .08) inset;
  animation: conquista-entra .7s cubic-bezier(.2, .8, .2, 1.25) both;
}
.conquista-nova.saindo { animation: conquista-sai .35s ease-in forwards; }
.conquista-nova__raios { position: absolute; left: -60px; top: 50%; width: 260px; height: 260px; margin-top: -130px; pointer-events: none; opacity: .35;
  background: repeating-conic-gradient(from 0deg, hsl(48 100% 70% / .7) 0deg 8deg, transparent 8deg 24deg); border-radius: 50%;
  -webkit-mask: radial-gradient(circle, #000 20%, transparent 70%); mask: radial-gradient(circle, #000 20%, transparent 70%); animation: raios-giram 9s linear infinite; }
.conquista-nova__figura { position: relative; flex: 0 0 auto; animation: selo-pula .9s cubic-bezier(.2, .7, .2, 1.5) .2s both; }
.conquista-nova__figura .medalha--gg, .conquista-nova__figura .nivel-selo--gg { --tam: 84px; }
.conquista-nova__texto { position: relative; display: grid; gap: .3em; justify-items: start; min-width: 0; }
.conquista-nova__rotulo { font-size: .78em; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: hsl(48 100% 72%); }
.conquista-nova__nome { font-size: 1.35em; font-weight: 700; line-height: 1.2; }
.conquista-nova__descricao { font-size: .9em; opacity: .85; }
.conquista-nova .botao { margin-top: .3em; }
.conquista-nova__fechar { position: absolute; top: .5em; right: .5em; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; color: #fff; opacity: .7; }
.conquista-nova__fechar:hover { opacity: 1; background: hsl(0 0% 100% / .15); }
@keyframes conquista-entra { from { opacity: 0; transform: translateY(40px) scale(.9); } }
@keyframes conquista-sai { to { opacity: 0; transform: translateY(30px) scale(.95); } }
@keyframes raios-giram { to { transform: rotate(360deg); } }
@media (max-width: 980px) { .conquista-nova { right: 1em; left: 1em; width: auto; bottom: 5em; } }
@media (prefers-reduced-motion: reduce) {
  .conquista-nova__raios, .barra-progresso__cheio::after, .reconhecido::after, .podio--1 .placar__posicao i, .linha-niveis__item--atual .nivel-selo { animation: none; }
}

/* Dica "Online agora": fica num ponto invisível sobre a bolinha verde (a dica e a bolinha usavam o mesmo ::after) */
.dica-online { position: absolute !important; z-index: 3; right: 6%; bottom: 6%; width: 22%; height: 22%; min-width: 12px; min-height: 12px; border-radius: 50%; cursor: default; }
.perfil__foto--online > .dica-online { right: 7%; bottom: 7%; width: 18%; height: 18%; }

/* ---------- Downloads (0.10.0) ---------- */
.colunas--esquerda { grid-template-columns: var(--largura-lateral) minmax(0, 1fr); }
@media (max-width: 1000px) { .colunas--esquerda { grid-template-columns: minmax(0, 1fr); } }
.colunas__principal { display: grid; gap: var(--esp-bloco); min-width: 0; align-content: start; }
.colunas__principal > .caixa + .caixa { margin-top: 0; }
.estrelas { display: inline-flex; gap: .1em; color: hsl(42 95% 50%); font-size: .92em; white-space: nowrap; vertical-align: middle; }
.estrelas .fa-regular { color: color-mix(in srgb, var(--cor-suave) 55%, transparent); }
.dl-versao { display: inline-block; padding: .1em .55em; border-radius: 20px; font-size: .72em; font-weight: 700; vertical-align: .2em; background: var(--fundo-3); color: var(--cor-texto); }
.dl-versao--grande { font-size: .5em; vertical-align: .45em; }

/* Destaques em carrossel */
.dl-destaques { position: relative; border-radius: var(--raio-design); overflow: hidden; box-shadow: var(--sombra-caixa); }
.dl-destaques__trilho, .dl-capturas__trilho { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.dl-destaques__trilho::-webkit-scrollbar, .dl-capturas__trilho::-webkit-scrollbar { display: none; }
.dl-destaque { position: relative; flex: 0 0 100%; min-height: 300px; display: flex; align-items: flex-end; scroll-snap-align: start; overflow: hidden;
  background: linear-gradient(135deg, var(--primaria), color-mix(in oklch, var(--primaria), var(--secundaria) 70%)); color: #fff; }
.dl-destaque__fundo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 6s ease; }
.dl-destaque:hover .dl-destaque__fundo { transform: scale(1.1); }
.dl-destaque::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, hsl(0 0% 0% / .78), hsl(0 0% 0% / .25) 65%, transparent); }
.dl-destaque__texto { position: relative; z-index: 1; display: grid; gap: .5em; justify-items: start; max-width: 620px; padding: 2em 2.4em; }
.dl-destaque__titulo { font-size: 1.8em; font-weight: 700; line-height: 1.15; }
.dl-destaque__titulo a { color: #fff; }
.dl-destaque__selo { display: inline-flex; gap: .4em; align-items: center; padding: .25em .7em; border-radius: 20px; font-size: .78em; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
  background: hsl(42 95% 52%); color: hsl(40 60% 12%); }
.dl-destaque__meta { opacity: .9; font-size: .92em; }
.dl-destaques__seta { position: absolute; top: 50%; z-index: 2; width: 42px; height: 42px; margin-top: -21px; border-radius: 50%; display: grid; place-items: center;
  background: hsl(0 0% 100% / .9); color: hsl(220 30% 15%); box-shadow: 0 4px 14px hsl(0 0% 0% / .3); opacity: 0; transition: opacity .2s, transform .2s; }
.dl-destaques__seta--anterior { left: 1em; } .dl-destaques__seta--proxima { right: 1em; }
[data-carrossel]:hover .dl-destaques__seta, .dl-destaques__seta:focus-visible { opacity: 1; }
.dl-destaques__seta:hover { transform: scale(1.08); }
@media (hover: none) { .dl-destaques__seta { opacity: 1; } }

/* Categorias na coluna */
.dl-categorias { list-style: none; padding: .4em; }
.dl-categorias__item a { display: flex; align-items: center; gap: .7em; padding: .55em .8em; border-radius: 6px; color: var(--cor-texto); font-weight: 500; }
.dl-categorias__item a:hover { background: var(--fundo-hover); color: var(--cor-forte); }
.dl-categorias__item a span:first-of-type { flex: 1; min-width: 0; }
.dl-categorias__item i { width: 1.2em; text-align: center; color: var(--cor-suave); }
.dl-categorias__item--nivel-1 a { padding-left: 2em; font-size: .95em; } .dl-categorias__item--nivel-2 a { padding-left: 3em; font-size: .92em; } .dl-categorias__item--nivel-3 a { padding-left: 4em; font-size: .9em; }
.dl-subcategorias { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: .8em; }
.dl-subcategoria { display: flex; align-items: center; gap: .9em; padding: .9em 1.1em; color: var(--cor-texto); transition: transform .15s, box-shadow .15s; }
.dl-subcategoria:hover { transform: translateY(-2px); box-shadow: var(--sombra-menu); color: var(--cor-forte); }
.dl-subcategoria > span:last-child { display: grid; }

/* Grade de cartões */
.dl-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr)); gap: 1.1em; padding: 1.1em; }
.dl-grade--rolavel { grid-auto-flow: column; grid-auto-columns: minmax(220px, 1fr); grid-template-columns: none; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 1.3em; }
.dl-grade--rolavel > * { scroll-snap-align: start; }
.dl-cartao { display: flex; flex-direction: column; min-width: 0; background: var(--fundo-caixa); border: 1px solid var(--fundo-4); border-radius: var(--raio-design); overflow: hidden;
  transition: transform .2s cubic-bezier(.2, .7, .2, 1), box-shadow .2s, border-color .2s; animation: fluxo-entra .35s ease-out both; }
.dl-cartao:hover { transform: translateY(-3px); box-shadow: var(--sombra-menu); border-color: var(--fundo-6); }
.dl-cartao--oculto { background: var(--fundo-moderado); }
.dl-cartao__imagem { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 10; overflow: hidden; background: var(--fundo-3); color: var(--cor-suave); font-size: 2.4em; }
.dl-cartao__imagem img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.dl-cartao:hover .dl-cartao__imagem img { transform: scale(1.06); }
.dl-cartao__imagem--vazia { background: linear-gradient(135deg, color-mix(in srgb, var(--primaria) 18%, var(--fundo-2)), var(--fundo-3)); }
.dl-cartao__selos { position: absolute; top: .5em; left: .5em; display: flex; gap: .3em; font-size: 14px; }
.dl-cartao__corpo { flex: 1; display: grid; align-content: start; gap: .35em; padding: .9em 1em .5em; }
.dl-cartao__titulo { font-size: 1.05em; font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; }
.dl-cartao__titulo a { color: var(--cor-forte); }
.dl-cartao__resumo { color: var(--cor-texto); font-size: .9em; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dl-cartao__rodape { display: flex; justify-content: space-between; align-items: center; gap: .5em; padding: .6em 1em; border-top: 1px solid var(--fundo-3); font-size: .88em; }
.dl-cartao__baixados { color: var(--cor-suave); font-weight: 600; }
.dl-grade .dl-cartao:nth-child(2) { animation-delay: .03s; } .dl-grade .dl-cartao:nth-child(3) { animation-delay: .06s; } .dl-grade .dl-cartao:nth-child(4) { animation-delay: .09s; } .dl-grade .dl-cartao:nth-child(n+5) { animation-delay: .12s; }

/* Lista */
.dl-lista { list-style: none; }
.dl-linha { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 1.1em; align-items: center; padding: 1em 1.2em; border-top: 1px solid var(--fundo-3); }
.dl-linha:first-child { border-top: 0; }
.dl-linha:hover { background: var(--fundo-hover); }
.dl-linha--oculto { background: var(--fundo-moderado); }
.dl-linha__imagem { display: grid; place-items: center; aspect-ratio: 16 / 10; border-radius: 6px; overflow: hidden; background: var(--fundo-3); color: var(--cor-suave); font-size: 1.6em; }
.dl-linha__imagem img { width: 100%; height: 100%; object-fit: cover; }
.dl-linha__titulo { font-size: 1.08em; font-weight: 650; }
.dl-linha__titulo a { color: var(--cor-forte); }
.dl-linha__resumo { color: var(--cor-texto); margin: .2em 0; }
.dl-linha__numeros { display: grid; justify-items: end; gap: .3em; text-align: right; }
@media (max-width: 600px) { .dl-linha { grid-template-columns: 80px minmax(0, 1fr); } .dl-linha__numeros { grid-column: 2; justify-items: start; text-align: left; } }
.dl-barra { display: flex; align-items: center; gap: .6em; flex-wrap: wrap; padding: .6em 1.1em; border-bottom: 1px solid var(--fundo-3); }
.alternar-exibicao { display: inline-flex; border: 1px solid var(--fundo-4); border-radius: 6px; overflow: hidden; }
.alternar-exibicao button { padding: .4em .7em; color: var(--cor-suave); }
.alternar-exibicao button.ativo { background: var(--primaria); color: var(--texto-sobre-primaria); }
.menu__item.ativo { font-weight: 700; color: var(--cor-forte); }

/* Página do arquivo */
.dl-cabecalho { display: flex; flex-wrap: wrap; gap: 1em 1.5em; align-items: flex-start; padding: 1.4em 1.6em; }
.dl-cabecalho__texto { flex: 1 1 380px; min-width: 0; display: grid; gap: .45em; }
.dl-cabecalho__titulo { font-size: 1.85em; font-weight: 700; color: var(--cor-forte); line-height: 1.2; overflow-wrap: anywhere; }
.dl-cabecalho__resumo { font-size: 1.08em; color: var(--cor-texto); }
.dl-cabecalho__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5em; color: var(--cor-texto); }
.dl-cabecalho__nota { display: inline-flex; gap: .4em; align-items: center; color: inherit; margin-left: .3em; }
.dl-principal { display: grid; gap: var(--esp-bloco); min-width: 0; align-content: start; }
.dl-principal > .caixa + .caixa, .dl-principal > section + section { margin-top: 0; }
.dl-capturas { position: relative; padding: .7em; overflow: hidden; }
.dl-capturas__trilho { gap: .7em; }
.dl-capturas__item { flex: 0 0 calc((100% - 1.4em) / 3); aspect-ratio: 16 / 10; border-radius: 6px; overflow: hidden; scroll-snap-align: start; background: var(--fundo-3); cursor: zoom-in; }
.dl-capturas__item:only-child { flex-basis: 100%; aspect-ratio: auto; max-height: 520px; }
.dl-capturas__item:first-child:nth-last-child(2), .dl-capturas__item:first-child:nth-last-child(2) ~ .dl-capturas__item { flex-basis: calc((100% - .7em) / 2); }
.dl-capturas__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease, filter .2s; }
.dl-capturas__item:only-child img { object-fit: contain; }
.dl-capturas__item:hover img { transform: scale(1.04); filter: brightness(1.05); }
@media (max-width: 600px) { .dl-capturas__item { flex-basis: 85%; } }
.dl-descricao { font-size: var(--tam-conteudo); line-height: 1.65; }
.dl-campo-info { margin: 1.2em 1.4em 0; }
.dl-campos { display: grid; gap: .8em; border-top: 1px solid var(--fundo-3); }
.dl-campos dt { font-weight: 650; color: var(--cor-forte); }
.dl-campos dd { color: var(--cor-texto); margin-top: .15em; }
.dl-novidades { margin: 0 1.4em 1.4em; padding: 1.1em 1.3em; border-radius: var(--raio-design); border-left: 4px solid var(--primaria);
  background: color-mix(in srgb, var(--primaria) 7%, var(--fundo-caixa)); }
.dl-novidades__titulo { font-size: 1.1em; font-weight: 650; color: var(--cor-forte); margin-bottom: .5em; }
.dl-novidades__titulo i { color: var(--primaria); }
.dl-baixar { padding: 1.2em; display: grid; gap: .3em; text-align: center; }
.dl-baixar__botao { font-size: 1.15em; padding-block: 1em; box-shadow: 0 6px 18px color-mix(in srgb, var(--primaria) 40%, transparent); }
.dl-baixar__botao:not(.desativado):hover { transform: translateY(-1px); box-shadow: 0 10px 24px color-mix(in srgb, var(--primaria) 45%, transparent); }
.dl-baixar__botao i { transition: transform .3s; }
.dl-baixar__botao:hover i { transform: translateY(2px); animation: seta-desce .9s ease-in-out infinite; }
@keyframes seta-desce { 50% { transform: translateY(4px); } }
.dl-baixar__info { margin-top: .3em; }
.dl-info dd a { color: var(--cor-forte); }
.dl-autor__corpo { display: flex; gap: .9em; align-items: center; }
.dl-autor__corpo > div { display: grid; gap: .15em; min-width: 0; }
.dl-outros li { align-items: center; }
.dl-outros__img { flex: 0 0 64px; height: 40px; display: grid; place-items: center; border-radius: 5px; overflow: hidden; background: var(--fundo-3); color: var(--cor-suave); }
.dl-outros__img img { width: 100%; height: 100%; object-fit: cover; }
.dl-outros li > div { display: grid; min-width: 0; }

/* Avaliações */
.dl-resumo-notas { display: flex; flex-wrap: wrap; gap: 1.5em 2.5em; align-items: center; padding: 1.4em 1.6em; border-bottom: 1px solid var(--fundo-3); }
.dl-resumo-notas__media { display: grid; justify-items: center; gap: .2em; }
.dl-resumo-notas__media strong { font-size: 2.6em; font-weight: 700; color: var(--cor-forte); line-height: 1; }
.dl-resumo-notas__media .estrelas { font-size: 1.15em; }
.dl-resumo-notas__barras { flex: 1 1 260px; list-style: none; display: grid; gap: .35em; }
.dl-resumo-notas__barras li { display: grid; grid-template-columns: 3em minmax(0, 1fr) 3em; gap: .7em; align-items: center; font-size: .9em; }
.dl-resumo-notas__barras i { color: hsl(42 95% 50%); }
.barra-progresso--fina { height: 8px; margin: 0; }
.barra-progresso--fina .barra-progresso__cheio { background: hsl(42 95% 50%); min-width: 0; }
.dl-avaliar { border-bottom: 1px solid var(--fundo-3); display: grid; gap: .6em; }
.dl-avaliar__titulo { font-weight: 650; color: var(--cor-forte); }
.escolha-estrelas { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: .15em; font-size: 1.9em; }
.escolha-estrelas input { position: absolute; opacity: 0; pointer-events: none; }
.escolha-estrelas label { color: var(--fundo-5); cursor: pointer; transition: color .12s, transform .15s; }
.escolha-estrelas label:hover, .escolha-estrelas label:hover ~ label, .escolha-estrelas input:checked ~ label { color: hsl(42 95% 50%); }
.escolha-estrelas label:hover { transform: scale(1.18) rotate(-6deg); }
.escolha-estrelas input:focus-visible + label { outline: 2px solid var(--primaria); outline-offset: 2px; border-radius: 4px; }
.dl-avaliacoes { list-style: none; }
.dl-avaliacao { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1em; padding: 1.2em 1.4em; border-top: 1px solid var(--fundo-3); }
.dl-avaliacao:first-child { border-top: 0; }
.dl-avaliacao:target { background: color-mix(in srgb, var(--primaria) 7%, transparent); }
.dl-avaliacao--oculta { background: var(--fundo-moderado); }
.dl-avaliacao__corpo { display: grid; gap: .5em; min-width: 0; }
.dl-avaliacao__topo { display: flex; flex-wrap: wrap; gap: .4em; align-items: center; }
.dl-avaliacao__resposta { margin-top: .3em; padding: .8em 1em; border-left: 3px solid var(--primaria); border-radius: 0 6px 6px 0; background: var(--fundo-2); }
.dl-avaliacao__rodape { display: flex; flex-wrap: wrap; align-items: center; gap: .6em; }
.dl-util { display: inline-flex; align-items: center; gap: .2em; }
.dl-util .ativo { color: var(--primaria); font-weight: 700; }
.dl-responder summary { cursor: pointer; color: var(--cor-suave); font-weight: 600; }
.dl-responder[open] summary { margin-bottom: .5em; }

/* Comentários, versões, atualizações */
.dl-comentario { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1em; padding: 1.1em 1.3em; animation: fluxo-entra .3s ease-out both; }
#comentarios > .dl-comentario + .dl-comentario { margin-top: var(--esp-1); }
.dl-comentario:target { box-shadow: 0 0 0 2px var(--primaria), var(--sombra-caixa); }
.dl-comentario--oculto { background: var(--fundo-moderado); }
.dl-comentario__topo { display: flex; flex-wrap: wrap; gap: .5em; align-items: center; margin-bottom: .4em; }
.dl-comentario__corpo { min-width: 0; font-size: var(--tam-conteudo); }
/* Aba "Discussão" do arquivo e aviso de volta no tópico (1.0.1) */
.dl-discussao { display: flex; flex-wrap: wrap; gap: 1em; align-items: center; justify-content: space-between; }
.dl-discussao__texto { min-width: 0; flex: 1 1 18em; }
.dl-discussao__titulo { font-size: 1.15em; margin: 0 0 .25em; overflow-wrap: anywhere; }
.dl-discussao__botoes { display: flex; flex-wrap: wrap; gap: .5em; }
.dl-discussao__subtitulo { font-size: 1em; margin: var(--esp-2, 1.25em) 0 var(--esp-1, .75em); }
#discussao > .dl-comentario + .dl-comentario { margin-top: var(--esp-1); }
.dl-volta { display: flex; flex-wrap: wrap; gap: .5em 1em; align-items: center; }
.dl-volta > span { flex: 1 1 16em; min-width: 0; }
#comentarios > .responder { margin-top: var(--esp-2); }
.dl-versoes { list-style: none; position: relative; padding: 1.2em 1.4em; }
.dl-versoes::before { content: ""; position: absolute; left: calc(1.4em + 13px); top: 2em; bottom: 2em; width: 2px; background: var(--fundo-4); }
.dl-versoes__item { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 1em; padding: .7em 0; }
.dl-versoes__marca { position: relative; z-index: 1; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--fundo-caixa); color: var(--cor-suave); border: 2px solid var(--fundo-4); font-size: .8em; }
.dl-versoes__item--atual .dl-versoes__marca { background: var(--positivo); border-color: var(--positivo); color: #fff; box-shadow: 0 0 0 4px color-mix(in srgb, var(--positivo) 20%, transparent); }
.dl-versoes__item--oculta { opacity: .6; }
.dl-versoes__corpo h3 { font-weight: 650; color: var(--cor-forte); display: flex; flex-wrap: wrap; gap: .4em; align-items: center; }
.dl-atualizacao + .dl-atualizacao { margin-top: var(--esp-1); }

/* Baixar: termos, espera, itens */
.dl-termos .caixa__corpo { max-height: 50vh; overflow: auto; }
.dl-espera { display: flex; align-items: center; gap: 1em; padding: 1.2em 1.4em; border-bottom: 1px solid var(--fundo-3); }
.dl-espera__circulo { position: relative; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; font-size: 1.4em; font-weight: 700; color: var(--primaria);
  background: conic-gradient(var(--primaria) var(--progresso-espera, 0%), var(--fundo-3) 0); }
.dl-espera__circulo::before { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: var(--fundo-caixa); }
.dl-espera__circulo span { position: relative; }
.dl-espera--pronto .dl-espera__circulo { color: var(--positivo); animation: selo-pula .6s ease-out; }
.dl-itens { list-style: none; }
.dl-itens__item { display: flex; align-items: center; gap: 1em; padding: 1em 1.3em; border-top: 1px solid var(--fundo-3); }
.dl-itens__item:first-child { border-top: 0; }
.dl-itens__icone { width: 44px; height: 44px; border-radius: 10px; display: grid; place-items: center; font-size: 1.3em; background: color-mix(in srgb, var(--primaria) 12%, var(--fundo-2)); color: var(--primaria); }
.dl-itens__nome { flex: 1; display: grid; min-width: 0; overflow-wrap: anywhere; }

/* Formulário de envio */
.dl-formulario__secao { padding: 1.4em 1.6em; border-bottom: 1px solid var(--fundo-3); display: grid; gap: .8em; }
.dl-formulario__titulo { display: flex; align-items: center; gap: .6em; font-size: 1.15em; font-weight: 650; color: var(--cor-forte); }
.dl-formulario__passo { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: .85em; background: var(--primaria); color: var(--texto-sobre-primaria); }
.form-linhas--sem-borda { border: 0; }
.dl-soltar { position: relative; display: grid; justify-items: center; gap: .4em; padding: 2em 1.2em; text-align: center; border: 2px dashed var(--fundo-5); border-radius: var(--raio-design);
  background: var(--fundo-2); cursor: pointer; transition: border-color .2s, background-color .2s, transform .2s; }
.dl-soltar > i { font-size: 2.2em; color: var(--primaria); transition: transform .3s; }
.dl-soltar:hover, .dl-soltar.arrastando { border-color: var(--primaria); background: color-mix(in srgb, var(--primaria) 7%, var(--fundo-2)); }
.dl-soltar.arrastando { transform: scale(1.01); }
.dl-soltar.arrastando > i { transform: translateY(-4px) scale(1.1); }
.dl-soltar input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.dl-soltar__lista { display: grid; gap: .3em; width: 100%; max-width: 520px; }
.dl-soltar__lista:empty, .dl-soltar__previas:empty { display: none; }
.dl-soltar__arquivo { display: flex; justify-content: space-between; gap: 1em; padding: .45em .8em; border-radius: 6px; background: var(--fundo-caixa); border: 1px solid var(--fundo-4); font-size: .9em; text-align: left; animation: fluxo-entra .25s ease-out; }
.dl-soltar__previas { display: flex; flex-wrap: wrap; justify-content: center; gap: .5em; }
.dl-soltar__previas img { width: 110px; height: 70px; object-fit: cover; border-radius: 6px; border: 2px solid var(--fundo-caixa); box-shadow: 0 2px 6px hsl(0 0% 0% / .2); animation: selo-pula .4s ease-out; }
.dl-soltar__previas img:first-child { border-color: var(--primaria); }
.dl-capturas-edicao { display: flex; flex-wrap: wrap; gap: .8em; }
.dl-capturas-edicao__item { display: grid; gap: .3em; width: 150px; }
.dl-capturas-edicao__item img { width: 150px; height: 94px; object-fit: cover; border-radius: 6px; }
.dl-termos-envio { max-height: 220px; overflow: auto; padding: .8em 1em; border-radius: 6px; background: var(--fundo-2); }
.dl-escolher { list-style: none; padding: .4em; }
.dl-escolher__item a { display: flex; align-items: center; gap: 1em; padding: .9em 1em; border-radius: 8px; color: var(--cor-texto); }
.dl-escolher__item a:hover { background: var(--fundo-hover); color: var(--cor-forte); }
.dl-escolher__item a > span:nth-child(2) { display: grid; }
.dl-escolher__grupo { display: block; padding: .8em 1em .3em; font-weight: 700; color: var(--cor-suave); text-transform: uppercase; font-size: .8em; letter-spacing: .04em; }
.menu-formulario { padding: .4em .9em .6em; display: grid; gap: .3em; }
.menu-formulario .menu__titulo { padding: 0; }
.selecao--pequena { padding-block: .3em; font-size: .9em; max-width: 180px; }

.navegacao__link { white-space: nowrap; }
@media (max-width: 1300px) { .navegacao__link { padding-inline: .7em; } .busca-rapida { width: 150px; } }
.dl-so-movel { display: none; }
@media (max-width: 1000px) { .dl-so-movel { display: inline-flex; } }

/* ==========================================================================
   Editor de páginas (0.11.0): áreas, seções, blocos e formatos (os "layouts" dos blocos do Invision 5)
   ========================================================================== */
.navegacao__link .navegacao__seta { display: inline; font-size: .75em; margin-left: .35em; opacity: .7; }
.navegacao__suspenso { display: inline-flex; }
.navegacao__suspenso > .navegacao__link { border: 0; font-family: inherit; color: inherit; cursor: pointer; }
.navegacao__suspenso > .navegacao__link:not(.ativo):not(:hover) { background: none; }
.navegacao__menu { top: calc(100% + .4em); left: 0; right: auto; min-width: 220px; color: var(--cor-texto); }
.navegacao__menu .menu__item.ativo { background: var(--fundo-3); color: var(--cor-forte); font-weight: 600; }

.area-blocos { display: grid; gap: var(--esp-bloco); }
.area-blocos--topo { margin-bottom: var(--esp-bloco); }
.area-blocos--rodape, .area-blocos--rodape_geral { margin-top: var(--esp-bloco); }
.secao-blocos { display: grid; gap: var(--esp-bloco); grid-template-columns: minmax(0, 1fr); align-items: start; }
.secao-blocos--1-1 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.secao-blocos--2-1 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.secao-blocos--1-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.secao-blocos--1-1-1 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.secao-blocos--1-2-1 { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); }
.secao-blocos--1-1-1-1 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.secao-blocos__coluna { display: grid; gap: var(--esp-bloco); align-content: start; min-width: 0; }
.colunas--blocos { margin-bottom: 0; }
.colunas--blocos > .colunas__principal { min-width: 0; }
@media (max-width: 1000px) {
  .secao-blocos--1-1-1-1 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .secao-blocos--1-1-1, .secao-blocos--1-2-1 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .secao-blocos { grid-template-columns: minmax(0, 1fr) !important; }
  .so-computador { display: none !important; }
}
@media (min-width: 761px) { .so-celular { display: none !important; } }

/* Caixa do bloco e opções da aba "Avançado" */
.bloco-pagina { min-width: 0; overflow: hidden; }
.bloco-pagina__cabecalho { flex-wrap: wrap; }
.bloco-pagina__titulo { min-width: 0; }
.bloco-pagina--sem-borda { background: transparent; border-color: transparent; box-shadow: none; }
.bloco-pagina--sem-borda > .bloco-pagina__cabecalho { padding-inline: 0; }
.bloco-pagina--espaco-nenhum { padding: 0; }
.bloco-pagina--espaco-nenhum .bloco__corpo, .bloco-pagina--espaco-nenhum .bloco__cabecalho { padding-inline: 0; }
.bloco-pagina--espaco-metade .bloco__corpo { padding: .55em .6em; }
.bloco-pagina--espaco-inteiro { padding: .6em; }
.bloco-pagina--fonte-titulo { font-size: 1.6em; }
.bloco-pagina--fonte-grande { font-size: 1.2em; }
.bloco-pagina--fonte-medio { font-size: 1.05em; }
.bloco-pagina--fonte-pequeno { font-size: .88em; }
.bloco-pagina--alinhar-esquerda { text-align: left; }
.bloco-pagina--alinhar-centro { text-align: center; }
.bloco-pagina--alinhar-direita { text-align: right; }
.bloco-pagina--fonte-arial { font-family: Arial, sans-serif; }
.bloco-pagina--fonte-helvetica { font-family: Helvetica, Arial, sans-serif; }
.bloco-pagina--fonte-times { font-family: "Times New Roman", Times, serif; }
.bloco-pagina--fonte-courier { font-family: "Courier New", Courier, monospace; }
.bloco-pagina--fonte-georgia { font-family: Georgia, serif; }
.bloco-pagina--fonte-verdana { font-family: Verdana, sans-serif; }
.bloco-pagina--fonte-sistema { font-family: system-ui, sans-serif; }
.bloco-pagina__mais { padding: .7em 1.2em; border-top: 1px solid var(--fundo-3); font-size: .9em; font-weight: 600; margin: 0; }
.bloco-pagina__texto > :first-child { margin-top: 0; }
.bloco-pagina__texto > :last-child { margin-bottom: 0; }
.bloco-pagina__incorporado .video-incorporado { margin: 0; }
.bloco-pagina--boas-vindas { background: linear-gradient(135deg, color-mix(in srgb, var(--primaria) 14%, var(--fundo-caixa)), var(--fundo-caixa) 70%); }
.grupo-botoes--centro { justify-content: center; }
.grupo-botoes--direita { justify-content: flex-end; }
.membro-novo { display: flex; gap: .8em; align-items: center; }

/* Cores dos espaços sem imagem (grade, destaque) */
.cor-fundo-0 { --cor-vazia: #d6455b; } .cor-fundo-1 { --cor-vazia: #c2410c; } .cor-fundo-2 { --cor-vazia: #a16207; } .cor-fundo-3 { --cor-vazia: #4d7c0f; }
.cor-fundo-4 { --cor-vazia: #15803d; } .cor-fundo-5 { --cor-vazia: #0f766e; } .cor-fundo-6 { --cor-vazia: #0e7490; } .cor-fundo-7 { --cor-vazia: #1d4ed8; }
.cor-fundo-8 { --cor-vazia: #4338ca; } .cor-fundo-9 { --cor-vazia: #7e22ce; } .cor-fundo-10 { --cor-vazia: #a21caf; } .cor-fundo-11 { --cor-vazia: #be185d; }

/* ---------- formatos dos blocos de conteúdo ---------- */
.feed { list-style: none; margin: 0; padding: 0; }
.feed__item { position: relative; min-width: 0; }
.feed__titulo { font-size: 1em; font-weight: 600; line-height: 1.35; margin: 0; color: var(--cor-forte); overflow-wrap: anywhere; }
.feed__titulo a { color: inherit; }
.feed__titulo a:hover { color: var(--cor-link); }
.feed__titulo .selo-icone { margin-left: .2em; vertical-align: middle; }
.feed__meta { margin: .2em 0 0; color: var(--cor-suave); font-size: .86em; display: flex; flex-wrap: wrap; gap: .1em .4em; align-items: center; }
.feed__meta a { font-weight: 500; }
.feed__resumo { margin: .45em 0 0; color: var(--cor-texto); font-size: .92em; line-height: 1.5; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.feed__numeros { list-style: none; margin: .5em 0 0; padding: 0; display: flex; gap: .9em; color: var(--cor-suave); font-size: .84em; }
.feed__numeros i { opacity: .8; }
.feed__nota { margin: .3em 0 0; }
.feed__imagem { display: block; position: relative; overflow: hidden; background: var(--fundo-3); }
.feed__imagem img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.feed__item:hover .feed__imagem img { transform: scale(1.03); }
.feed__imagem--vazia { display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--cor-vazia, var(--primaria)), color-mix(in srgb, var(--cor-vazia, var(--primaria)) 55%, #000)); }
.feed__imagem--vazia i { font-size: 2em; opacity: .85; }
.feed__ultimo { flex: 0 0 auto; align-self: center; }

/* Linhas (tabela) */
.feed--tabela .feed__item { display: flex; gap: .8em; padding: .8em 1.2em; border-top: 1px solid var(--fundo-3); align-items: flex-start; }
.feed--tabela .feed__item:first-child { border-top: 0; }
.feed--tabela .feed__corpo { flex: 1 1 auto; min-width: 0; }
.feed__avatar { flex: 0 0 auto; display: inline-flex; } /* 0.39.0: texto comprido esmagava a foto */
.feed--tabela .feed__resumo { -webkit-line-clamp: 2; line-clamp: 2; }
.bloco-pagina--lateral .feed--tabela .feed__resumo, .bloco-pagina--lateral .feed--tabela .feed__numeros { display: none; }
.bloco-pagina--lateral .feed--tabela .feed__ultimo { display: none; }

/* Mínimo */
.feed--minimo { padding: .4em 0; }
.feed--minimo .feed__item { padding: .45em 1.2em; }
.feed--minimo .feed__titulo { font-weight: 500; font-size: .95em; }
.feed--minimo .feed__meta { font-size: .8em; }

/* Grade e Mini-grade */
.feed--grade, .feed--mini_grade { display: grid; gap: 1em; padding: 1em; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.feed--mini_grade { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .8em; }
.feed--grade .feed__item, .feed--mini_grade .feed__item { display: flex; flex-direction: column; background: var(--fundo-1); border: 1px solid var(--fundo-3); border-radius: var(--raio-design); overflow: hidden; }
.feed--grade .feed__imagem { aspect-ratio: 16 / 9; }
.feed--mini_grade .feed__imagem { aspect-ratio: 4 / 3; }
.feed--grade .feed__corpo { padding: .8em 1em 1em; display: flex; flex-direction: column; flex: 1 1 auto; }
.feed--grade .feed__numeros { margin-top: auto; padding-top: .6em; }
.feed--mini_grade .feed__corpo { padding: .6em .7em .7em; }
.feed--mini_grade .feed__titulo { font-size: .9em; }
.feed--mini_grade .feed__meta { font-size: .78em; }
.feed--mini_grade .feed__numeros { display: none; }
.bloco-pagina--lateral .feed--grade, .bloco-pagina--lateral .feed--mini_grade { grid-template-columns: minmax(0, 1fr); }

/* Destaque: cartões grandes com a imagem e o texto por cima */
.feed--destaque { display: grid; gap: 1em; padding: 1em; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.feed--destaque .feed__item { border-radius: var(--raio-design); overflow: hidden; min-height: 260px; display: flex; flex-direction: column; justify-content: flex-end; isolation: isolate; }
.feed--destaque .feed__imagem { position: absolute; inset: 0; z-index: -1; }
.feed--destaque .feed__imagem::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, hsl(0 0% 0% / .85), hsl(0 0% 0% / .15) 60%, transparent); }
.feed--destaque .feed__corpo { padding: 1.2em; color: #fff; }
.feed--destaque .feed__titulo { color: #fff; font-size: 1.2em; }
.feed--destaque .feed__meta, .feed--destaque .feed__numeros, .feed--destaque .feed__resumo { color: hsl(0 0% 100% / .85); }
.feed--destaque .feed__meta a, .feed--destaque .feed__titulo a:hover { color: #fff; }
.feed--destaque .feed__resumo { -webkit-line-clamp: 2; line-clamp: 2; }
.feed--destaque.feed--sem-imagens .feed__item { background: linear-gradient(135deg, var(--primaria), color-mix(in srgb, var(--primaria) 55%, #000)); }
.feed--destaque .feed__item:first-child:not(:only-child) { grid-column: span 2; }
.bloco-pagina--lateral .feed--destaque { grid-template-columns: minmax(0, 1fr); }
.bloco-pagina--lateral .feed--destaque .feed__item:first-child { grid-column: auto; }

/* Papel de parede: a imagem ocupa tudo, texto no meio */
.feed--papel { display: grid; gap: 0; }
.feed--papel .feed__item { min-height: 320px; display: grid; place-items: center; text-align: center; isolation: isolate; overflow: hidden; }
.feed--papel .feed__imagem { position: absolute; inset: 0; z-index: -1; }
.feed--papel .feed__imagem::after { content: ""; position: absolute; inset: 0; background: hsl(0 0% 0% / .5); }
.feed--papel .feed__corpo { padding: 2em; color: #fff; max-width: 720px; }
.feed--papel .feed__titulo { color: #fff; font-size: 1.6em; }
.feed--papel .feed__meta, .feed--papel .feed__numeros { justify-content: center; color: hsl(0 0% 100% / .85); }
.feed--papel .feed__meta a { color: #fff; }
.feed--papel .feed__resumo { color: hsl(0 0% 100% / .9); }
.feed--papel.feed--sem-imagens .feed__item { background: linear-gradient(135deg, var(--primaria), color-mix(in srgb, var(--primaria) 50%, #000)); }

/* Carrossel (qualquer formato): uma faixa que rola para o lado */
.feed--carrossel { display: grid; grid-auto-flow: column; grid-template-columns: none; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: thin; }
.feed--carrossel > li { scroll-snap-align: start; }
.feed--carrossel.feed--tabela, .feed--carrossel.feed--minimo { grid-auto-columns: minmax(280px, 34%); }
.feed--carrossel.feed--tabela .feed__item { border-top: 0; border-right: 1px solid var(--fundo-3); }
.feed--carrossel.feed--grade { grid-auto-columns: minmax(230px, calc((100% - 3em) / 4)); }
.feed--carrossel.feed--mini_grade { grid-auto-columns: minmax(150px, calc((100% - 4em) / 6)); }
.feed--carrossel.feed--destaque { grid-auto-columns: minmax(280px, calc((100% - 2em) / 3)); }
.feed--carrossel.feed--destaque .feed__item:first-child { grid-column: auto; }
.feed--carrossel.feed--papel { grid-auto-columns: 100%; }
.bloco-pagina--lateral .feed--carrossel { grid-auto-columns: 100% !important; }
.carrossel-nav { display: inline-flex; gap: .3em; }
.carrossel-nav__botao { width: 2em; height: 2em; border-radius: 50%; border: 1px solid var(--fundo-4); background: var(--fundo-1); color: var(--cor-texto); display: grid; place-items: center; cursor: pointer; font-size: .85em; }
.carrossel-nav__botao:hover { background: var(--fundo-hover); color: var(--cor-forte); }
@media (max-width: 760px) {
  .feed--carrossel.feed--grade, .feed--carrossel.feed--destaque, .feed--carrossel.feed--tabela, .feed--carrossel.feed--minimo { grid-auto-columns: 85%; }
  .feed--carrossel.feed--mini_grade { grid-auto-columns: 45%; }
  .feed--destaque .feed__item:first-child:not(:only-child) { grid-column: auto; }
  .feed--papel .feed__item { min-height: 240px; }
  .feed--papel .feed__titulo { font-size: 1.25em; }
}

/* Abas dos blocos */
.abas-bloco { display: flex; gap: .2em; padding: .5em .8em 0; border-bottom: 1px solid var(--fundo-3); overflow-x: auto; scrollbar-width: none; }
.abas-bloco__aba { border: 0; background: none; font: inherit; font-size: .88em; font-weight: 600; color: var(--cor-suave); padding: .55em .8em; border-bottom: 2px solid transparent; cursor: pointer; white-space: nowrap; }
.abas-bloco__aba:hover { color: var(--cor-forte); }
.abas-bloco__aba.ativo { color: var(--cor-primaria-texto); border-bottom-color: var(--primaria); }
.abas-bloco--cheias .abas-bloco__aba { flex: 1 1 0; text-align: center; padding-inline: .3em; }

/* Rankings */
.ranking { list-style: none; margin: 0; padding: .3em 0; }
.ranking__linha { display: flex; align-items: center; gap: .7em; padding: .55em 1.2em; }
.ranking__posicao { flex: 0 0 1.8em; height: 1.8em; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: .85em; background: var(--fundo-3); color: var(--cor-suave); }
.ranking__posicao--1 { background: hsl(45 95% 52%); color: hsl(40 60% 14%); }
.ranking__posicao--2 { background: hsl(210 10% 78%); color: hsl(210 15% 20%); }
.ranking__posicao--3 { background: hsl(28 60% 58%); color: hsl(25 50% 14%); }
.ranking__nome { flex: 1 1 auto; min-width: 0; display: grid; overflow-wrap: anywhere; }
.ranking__total { font-weight: 700; color: var(--cor-forte); white-space: nowrap; }
.ranking__total i { color: var(--cor-suave); font-size: .85em; margin-right: .2em; }

/* Fluxo de atividade */
.fluxo-bloco { list-style: none; margin: 0; padding: .4em 0; }
.fluxo-bloco__item { display: flex; gap: .8em; padding: .7em 1.2em; border-top: 1px solid var(--fundo-3); }
.fluxo-bloco__item:first-child { border-top: 0; }
.fluxo-bloco__marca { position: relative; flex: 0 0 auto; }
.fluxo-bloco__icone { position: absolute; right: -.35em; bottom: -.25em; width: 1.5em; height: 1.5em; border-radius: 50%; display: grid; place-items: center; font-size: .65em; background: var(--primaria); color: var(--texto-sobre-primaria); border: 2px solid var(--fundo-caixa); }
.fluxo-bloco__corpo { min-width: 0; }
.fluxo-bloco__frase { margin: 0; line-height: 1.4; overflow-wrap: anywhere; }
.fluxo-bloco__resumo { margin: .3em 0; color: var(--cor-suave); font-size: .9em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.fluxo-bloco--minimo .fluxo-bloco__item { padding: .45em 1.2em; font-size: .92em; }

/* Imagem */
.imagens-bloco { list-style: none; margin: 0; padding: 0; display: grid; gap: .6em; }
.imagens-bloco--grade { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); padding: .8em; }
.imagens-bloco__item { position: relative; overflow: hidden; }
.imagens-bloco__item img { display: block; width: 100%; object-fit: cover; }
.imagens-bloco--papel .imagens-bloco__item img { height: 260px; }
.bloco-pagina--imagem-pequena .imagens-bloco--papel .imagens-bloco__item img { height: 160px; }
.bloco-pagina--imagem-grande .imagens-bloco--papel .imagens-bloco__item img { height: 420px; }
.bloco-pagina--imagem-natural .imagens-bloco__item img { height: auto; object-fit: contain; }
.imagens-bloco--grade .imagens-bloco__item img { aspect-ratio: 4 / 3; height: auto; border-radius: var(--raio-pequeno); }
.imagens-bloco__legenda { position: absolute; inset: auto 0 0; padding: 1.2em 1.2em .9em; color: #fff; font-weight: 600; font-size: 1.15em; background: linear-gradient(to top, hsl(0 0% 0% / .75), transparent); }
.imagens-bloco.feed--carrossel { grid-auto-columns: 100%; gap: 0; }
@media (max-width: 760px) { .imagens-bloco--papel .imagens-bloco__item img { height: 200px; } .bloco-pagina--imagem-grande .imagens-bloco--papel .imagens-bloco__item img { height: 260px; } }

/* ---------- modo de edição (Gerenciador de blocos) ---------- */
body.editando-pagina { --largura-gerenciador: 330px; }
body.editando-pagina .app { margin-left: var(--largura-gerenciador); }
.gerenciador-blocos { position: fixed; inset: 0 auto 0 0; width: var(--largura-gerenciador); z-index: 900; display: flex; flex-direction: column; background: var(--fundo-caixa); border-right: 1px solid var(--fundo-4); box-shadow: 4px 0 28px hsl(0 0% 0% / .18); color: var(--cor-texto); }
.gerenciador-blocos__topo { padding: 1em; border-bottom: 1px solid var(--fundo-3); display: grid; gap: .6em; }
.gerenciador-blocos__titulo { margin: 0; font-size: 1.15em; display: flex; align-items: center; gap: .5em; color: var(--cor-forte); }
.gerenciador-blocos__info { font-size: .88em; color: var(--cor-suave); background: var(--fundo-2); border-radius: var(--raio-pequeno); padding: .6em .8em; }
.gerenciador-blocos__info p { margin: 0 0 .4em; }
.gerenciador-blocos__info p:last-child { margin: 0; }
.gerenciador-blocos__tela { margin: 0; }
.gerenciador-blocos__destino { display: flex; align-items: center; gap: .5em; font-size: .88em; font-weight: 600; color: var(--cor-suave); }
.gerenciador-blocos__destino .selecao { flex: 1 1 auto; }
.gerenciador-blocos__lista { flex: 1 1 auto; overflow-y: auto; padding: .4em 0 1em; scrollbar-width: thin; }
.gerenciador-blocos__vazio { padding: 1em; }
.gerenciador-blocos__rodape { padding: .8em 1em; border-top: 1px solid var(--fundo-3); display: grid; gap: .4em; background: var(--fundo-2); }
.gerenciador-blocos__rodape form { text-align: center; }
.pe-catalogo__titulo { margin: 0; padding: .9em 1em .4em; font-size: .78em; text-transform: uppercase; letter-spacing: .05em; color: var(--cor-suave); }
.pe-catalogo ul { list-style: none; margin: 0; padding: 0 .5em; display: grid; gap: 2px; }
.pe-catalogo__bloco { display: flex; gap: .7em; align-items: flex-start; padding: .6em .5em; border-radius: var(--raio-pequeno); cursor: grab; }
.pe-catalogo__bloco:hover { background: var(--fundo-hover); }
.pe-catalogo__bloco--usado { opacity: .5; cursor: not-allowed; }
.pe-catalogo__icone { flex: 0 0 2.2em; height: 2.2em; border-radius: var(--raio-pequeno); display: grid; place-items: center; background: color-mix(in srgb, var(--primaria) 14%, var(--fundo-caixa)); color: var(--cor-primaria-texto); }
.pe-catalogo__texto { flex: 1 1 auto; min-width: 0; display: grid; gap: .1em; }
.pe-catalogo__texto strong { color: var(--cor-forte); font-size: .92em; }
.pe-catalogo__texto span { color: var(--cor-suave); font-size: .8em; line-height: 1.35; }
.pe-catalogo__acoes { display: flex; flex-direction: column; gap: 2px; }
.pe-botao { border: 0; background: none; color: var(--cor-suave); width: 1.9em; height: 1.9em; border-radius: 6px; display: inline-grid; place-items: center; cursor: pointer; font-size: .85em; }
.pe-botao:hover { background: var(--fundo-hover); color: var(--cor-forte); }
.pe-botao[disabled] { opacity: .35; pointer-events: none; }
.pe-botao--perigo:hover { background: var(--negativo); color: #fff; }
.pe-estrela.ativo { color: hsl(42 95% 50%); }

.pe-area { position: relative; border: 2px dashed color-mix(in srgb, var(--primaria) 45%, transparent); border-radius: var(--raio-design); padding: 2em .6em .6em; margin-bottom: var(--esp-bloco); background: color-mix(in srgb, var(--primaria) 4%, transparent); }
.colunas__lateral .pe-area { margin-bottom: 0; }
.pe-area__rotulo { position: absolute; top: .45em; left: .7em; font-size: .75em; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--cor-primaria-texto); }
.pe-area__secoes { display: grid; gap: .8em; min-height: 70px; }
.pe-area__nova { margin-top: .6em; }
.pe-secao { border: 1px dashed var(--fundo-5); border-radius: var(--raio-pequeno); padding: .4em; background: var(--fundo-corpo); }
.pe-secao__barra { display: flex; align-items: center; gap: .3em; padding: 0 0 .4em; }
.pe-secao__colunas { display: flex; align-items: center; gap: .4em; font-size: .85em; color: var(--cor-suave); }
.selecao--pequena { padding: .3em 2em .3em .6em; font-size: .88em; }
.pe-coluna { min-height: 70px; border-radius: var(--raio-pequeno); outline: 1px dashed transparent; align-content: start; }
.pe-arrastando .pe-coluna { outline-color: var(--fundo-5); background: color-mix(in srgb, var(--primaria) 5%, transparent); }
.pe-bloco { position: relative; border-radius: var(--raio-design); outline: 2px solid transparent; transition: outline-color .15s; }
.pe-bloco:hover { outline-color: var(--primaria); }
.pe-bloco__barra { display: flex; align-items: center; gap: .2em; padding: .25em .4em; margin-bottom: .3em; border-radius: 6px; background: var(--fundo-1); border: 1px solid var(--fundo-4); font-size: .85em; cursor: grab; }
.pe-bloco__arrastar { color: var(--cor-suave); padding: 0 .3em; }
.pe-bloco__nome { font-weight: 600; color: var(--cor-forte); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.pe-bloco__nome i { color: var(--cor-primaria-texto); margin-right: .2em; }
.pe-bloco__selo { color: var(--alerta); padding: 0 .3em; }
.pe-bloco__conteudo { pointer-events: none; user-select: none; }
.pe-bloco__vazio { margin: 0; padding: 1em; border-radius: var(--raio-design); border: 1px dashed var(--fundo-5); color: var(--cor-suave); font-size: .88em; background: var(--fundo-2); }
.pe-bloco--arrastando { opacity: .4; }
.pe-bloco--carregando { padding: 1em; color: var(--cor-suave); border: 1px dashed var(--fundo-5); }
.pe-bloco--novo { animation: pe-novo 1.6s ease-out; }
@keyframes pe-novo { 0% { outline-color: var(--positivo); box-shadow: 0 0 0 6px color-mix(in srgb, var(--positivo) 35%, transparent); } 100% { outline-color: transparent; box-shadow: none; } }
.pe-marcador { height: 4px; border-radius: 2px; background: var(--primaria); margin: .3em 0; box-shadow: 0 0 0 3px color-mix(in srgb, var(--primaria) 25%, transparent); }
.pe-salvando .gerenciador-blocos__titulo::after { content: "Salvando..."; font-size: .7em; font-weight: 500; color: var(--cor-suave); margin-left: auto; }
.botao--positivo { --b-fundo: var(--positivo); --b-texto: #fff; }

/* Janela "Editar bloco" */
.dialogo--largo { max-width: min(860px, calc(100vw - 2em)); }
.pe-dialogo .dialogo__corpo { max-height: 78vh; }
.pe-config .abas-bloco--config { margin: -1.2em -1.2em 1em; padding-inline: 1em; position: sticky; top: -1.2em; background: var(--fundo-caixa); z-index: 2; }
.pe-config__descricao { margin: 0 0 .5em; }
.pe-config .form-rodape { position: sticky; bottom: -1.2em; background: var(--fundo-caixa); margin: 1em -1.2em -1.2em; padding: .9em 1.2em; border-top: 1px solid var(--fundo-3); }
.grade-opcoes { display: flex; flex-wrap: wrap; gap: .4em 1.2em; }
.pe-formatos { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: .6em; }
.pe-formato { display: grid; gap: .3em; justify-items: center; text-align: center; font-size: .85em; font-weight: 600; cursor: pointer; }
.pe-formato input { position: absolute; opacity: 0; pointer-events: none; }
.pe-formato__amostra { width: 100%; aspect-ratio: 4 / 3; border-radius: var(--raio-pequeno); border: 2px solid var(--fundo-4); display: grid; place-items: center; font-size: 1.6em; color: var(--cor-suave); background: var(--fundo-2); }
.pe-formato input:checked + .pe-formato__amostra { border-color: var(--primaria); color: var(--cor-primaria-texto); background: color-mix(in srgb, var(--primaria) 10%, var(--fundo-caixa)); }
.pe-formato input:focus-visible + .pe-formato__amostra { box-shadow: 0 0 0 3px color-mix(in srgb, var(--primaria) 30%, transparent); }
.pe-imagens { display: flex; flex-wrap: wrap; gap: .6em; margin-bottom: .5em; }
.pe-imagens__item { display: grid; gap: .3em; width: 120px; font-size: .85em; }
.pe-imagens__item img { width: 120px; height: 80px; object-fit: cover; border-radius: var(--raio-pequeno); }
.entrada--codigo { font-family: var(--fonte-codigo); font-size: .88em; }

@media (max-width: 1000px) {
  body.editando-pagina .app { margin-left: 0; }
  .gerenciador-blocos { position: relative; inset: auto; width: auto; max-height: 70vh; border-right: 0; border-bottom: 1px solid var(--fundo-4); margin: 0 calc(var(--margem-lateral, 0px) * -1) var(--esp-bloco); }
}
.fluxo-bloco__marca { display: inline-flex; align-self: flex-start; line-height: 0; }
.feed--destaque .feed__imagem--vazia, .feed--papel .feed__imagem--vazia { place-items: start end; padding: 1em; }
.feed--destaque .feed__imagem--vazia i, .feed--papel .feed__imagem--vazia i { font-size: 3em; opacity: .35; }
@media (max-width: 1700px) { body.editando-pagina .navegacao, body.editando-pagina .busca-rapida { display: none; } }

/* ==========================================================================
   Blogs (0.12.0) — índice, página do blog e entrada (como o aplicativo Blogs do Invision 5)
   ========================================================================== */
.titulo-secao { font-size: 1.15em; font-weight: 600; color: var(--cor-forte); margin: 0 0 .7em; }
.botao--perigo-texto { --b-texto: var(--negativo); }
.form-rodape .empurra-direita { margin-right: auto; }
.entrada--titulo { font-size: 1.2em; font-weight: 600; }

/* Categorias e índice */
.blog-categorias { display: flex; flex-wrap: wrap; gap: .4em; margin-bottom: var(--esp-bloco); }
.blog-categorias__item { padding: .45em .9em; border-radius: 999px; background: var(--fundo-caixa); border: 1px solid var(--fundo-4); color: var(--cor-texto); font-weight: 500; font-size: .92em; }
.blog-categorias__item:hover { border-color: var(--primaria); color: var(--cor-forte); }
.blog-categorias__item.ativo { background: var(--primaria); border-color: var(--primaria); color: var(--texto-sobre-primaria); }
.blog-categorias__item.ativo .suave { color: inherit; opacity: .8; }
.blog-grade-caixa { padding: 1em; }
.blog-grade { display: grid; gap: 1em; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }

/* Cartão de entrada (grade) */
.blog-cartao { display: flex; flex-direction: column; background: var(--fundo-1); border: 1px solid var(--fundo-3); border-radius: var(--raio-design); overflow: hidden; min-width: 0; }
.blog-cartao--pendente { border-style: dashed; background: var(--fundo-moderado, var(--fundo-2)); }
.blog-cartao__imagem { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--fundo-3); }
.blog-cartao__imagem img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.blog-cartao:hover .blog-cartao__imagem img { transform: scale(1.03); }
.blog-cartao__imagem--vazia { display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--cor-vazia, var(--primaria)), color-mix(in srgb, var(--cor-vazia, var(--primaria)) 55%, #000)); }
.blog-cartao__imagem--vazia i { font-size: 2.2em; opacity: .8; }
.blog-cartao__corpo { padding: .9em 1em 1em; display: flex; flex-direction: column; gap: .4em; flex: 1 1 auto; }
.blog-cartao__onde { font-size: .82em; font-weight: 600; color: var(--cor-suave); text-transform: uppercase; letter-spacing: .03em; }
.blog-cartao__onde:hover { color: var(--cor-link); }
.blog-cartao__titulo { margin: 0; font-size: 1.12em; line-height: 1.3; color: var(--cor-forte); overflow-wrap: anywhere; }
.blog-cartao__titulo a { color: inherit; }
.blog-cartao__titulo a:hover { color: var(--cor-link); }
.blog-cartao__resumo { margin: 0; color: var(--cor-texto); font-size: .93em; line-height: 1.5; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.blog-cartao__rodape { margin-top: auto; padding-top: .6em; display: flex; align-items: center; justify-content: space-between; gap: .6em; border-top: 1px solid var(--fundo-3); }
.blog-cartao__numeros { list-style: none; margin: 0; padding: 0; display: flex; gap: .8em; color: var(--cor-suave); font-size: .85em; }
.blog-cartao__numeros a { color: inherit; }
.blog-cartao__autor { display: flex; align-items: center; gap: .5em; font-size: .88em; line-height: 1.25; text-align: right; }

/* Lista de blogs (tabela) */
.blog-lista__linha { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto minmax(150px, 220px); gap: 1em; align-items: center; padding: .9em 1.2em; border-top: 1px solid var(--fundo-3); }
.blog-lista__linha:first-child { border-top: 0; }
.blog-lista__capa { position: relative; display: block; height: 72px; border-radius: var(--raio-pequeno); overflow: hidden; background: linear-gradient(135deg, var(--cor-vazia, var(--primaria)), color-mix(in srgb, var(--cor-vazia, var(--primaria)) 55%, #000)); }
.blog-lista__capa img:not(.avatar) { width: 100%; height: 100%; object-fit: cover; }
.blog-lista__capa .avatar { position: absolute; left: .4em; bottom: .4em; box-shadow: 0 0 0 2px var(--fundo-caixa); }
.blog-lista__nome { margin: 0; font-size: 1.05em; }
.blog-lista__descricao { margin: .3em 0 0; font-size: .9em; color: var(--cor-texto); }
.blog-lista__numeros { list-style: none; margin: 0; padding: 0; display: grid; gap: .2em; font-size: .85em; color: var(--cor-suave); white-space: nowrap; }
.blog-lista__numeros strong { color: var(--cor-forte); }
.blog-lista__ultima { display: grid; gap: .1em; font-size: .9em; min-width: 0; }
.blog-lista__ultima a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 760px) {
  .blog-lista__linha { grid-template-columns: 80px minmax(0, 1fr); }
  .blog-lista__capa { height: 56px; }
  .blog-lista__numeros, .blog-lista__ultima { grid-column: 2; }
  .blog-lista__numeros { display: flex; gap: 1em; }
}

/* Topo do blog (capa, foto, nome, números) */
.blog-topo { padding: 0; overflow: hidden; margin-bottom: var(--esp-bloco); }
.blog-topo__capa { height: 220px; background: var(--fundo-3); }
.blog-topo__capa img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-topo__capa--vazia { background: linear-gradient(135deg, var(--cor-vazia, var(--primaria)), color-mix(in srgb, var(--cor-vazia, var(--primaria)) 45%, #000)); }
.blog-topo__barra { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1em 1.5em; padding: 0 1.4em 1.2em; }
.blog-topo__foto { margin-top: -48px; flex: 0 0 auto; }
.blog-topo__foto .avatar { width: 96px; height: 96px; font-size: 2.4em; box-shadow: 0 0 0 4px var(--fundo-caixa); }
.blog-topo__titulos { flex: 1 1 280px; min-width: 0; }
.blog-topo__nome { margin: 0; font-size: 1.7em; line-height: 1.2; color: var(--cor-forte); display: flex; flex-wrap: wrap; align-items: center; gap: .4em; overflow-wrap: anywhere; }
.blog-topo__nome .selo { font-size: .5em; }
.blog-topo__sub { margin: .3em 0 0; color: var(--cor-suave); }
.blog-topo__numeros { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.5em; }
.blog-topo__numeros li { display: grid; text-align: center; }
.blog-topo__numeros span { font-size: .75em; text-transform: uppercase; letter-spacing: .04em; color: var(--cor-suave); font-weight: 600; }
.blog-topo__numeros strong { font-size: 1.3em; color: var(--cor-forte); }
.blog-topo__botoes { display: flex; flex-wrap: wrap; align-items: center; gap: .8em; }
.blog-topo__contribuidores { display: flex; flex-wrap: wrap; align-items: center; gap: .4em; padding: .8em 1.4em; border-top: 1px solid var(--fundo-3); }
.blog-nota { display: flex; align-items: center; gap: .5em; }
.blog-nota__votar { display: inline-flex; gap: 0; }
.blog-nota__estrela { border: 0; background: none; padding: .1em; color: color-mix(in srgb, var(--cor-suave) 50%, transparent); cursor: pointer; font-size: .95em; }
.blog-nota__votar:hover .blog-nota__estrela { color: hsl(42 95% 50%); }
.blog-nota__estrela:hover ~ .blog-nota__estrela { color: color-mix(in srgb, var(--cor-suave) 50%, transparent) !important; }
.blog-nota__estrela.ativa { color: hsl(42 95% 50%); }
@media (max-width: 760px) {
  .blog-topo__capa { height: 140px; }
  .blog-topo__foto { margin-top: -36px; }
  .blog-topo__foto .avatar { width: 72px; height: 72px; }
  .blog-topo__nome { font-size: 1.35em; }
  .blog-topo__numeros { gap: 1em; width: 100%; justify-content: space-around; }
}
.blog-sobre { margin-bottom: var(--esp-bloco); }
.blog-sobre__titulo { margin: 0 0 .5em; font-size: .95em; text-transform: uppercase; letter-spacing: .04em; color: var(--cor-suave); }
.blog-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: .5em; margin-bottom: var(--esp-bloco); }

/* Entradas na página do blog */
.blog-entrada-lista { display: grid; grid-template-columns: 280px minmax(0, 1fr); overflow: hidden; padding: 0; }
.blog-entrada-lista:not(:has(.blog-entrada-lista__imagem)) { grid-template-columns: minmax(0, 1fr); }
.blog-entrada-lista + .blog-entrada-lista { margin-top: var(--esp-bloco); }
.blog-entrada-lista--pendente { border-style: dashed; }
.blog-entrada-lista__imagem { display: block; background: var(--fundo-3); min-height: 180px; }
.blog-entrada-lista__imagem img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-entrada-lista__corpo { padding: 1.1em 1.3em; display: flex; flex-direction: column; gap: .5em; min-width: 0; }
.blog-entrada-lista__titulo { margin: 0; font-size: 1.35em; line-height: 1.25; color: var(--cor-forte); overflow-wrap: anywhere; }
.blog-entrada-lista__titulo a { color: inherit; }
.blog-entrada-lista__titulo a:hover { color: var(--cor-link); }
.blog-entrada-lista__texto { color: var(--cor-texto); }
.blog-entrada-lista__rodape { display: flex; flex-wrap: wrap; align-items: center; gap: .8em; margin-top: auto; padding-top: .6em; border-top: 1px solid var(--fundo-3); }
.blog-entrada-lista--primeira { grid-template-columns: minmax(0, 1fr); }
.blog-entrada-lista--primeira .blog-entrada-lista__imagem { min-height: 0; aspect-ratio: 21 / 8; }
.blog-entrada-lista--primeira .blog-entrada-lista__titulo { font-size: 1.7em; }
@media (max-width: 760px) {
  .blog-entrada-lista { grid-template-columns: minmax(0, 1fr); }
  .blog-entrada-lista__imagem { min-height: 0; aspect-ratio: 16 / 9; }
}

/* Entrada */
.blog-entrada { padding: 0; overflow: hidden; }
.blog-entrada__capa { width: 100%; aspect-ratio: 21 / 8; max-height: 420px; background: var(--fundo-3); overflow: hidden; }
.blog-entrada__capa img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-entrada__topo { padding: 1.4em 1.6em 1em; border-bottom: 1px solid var(--fundo-3); }
.blog-entrada__titulo-linha { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: .8em; }
.blog-entrada__titulo { margin: 0; font-size: 2em; line-height: 1.2; color: var(--cor-forte); overflow-wrap: anywhere; flex: 1 1 320px; }
.blog-entrada__autor { display: flex; align-items: center; gap: .8em; margin-top: 1em; }
.blog-entrada__autor p { margin: 0; }
.blog-entrada__por { font-weight: 500; }
.blog-entrada__conteudo { padding: 1.4em 1.6em; font-size: 1.05em; line-height: 1.7; }
.blog-entrada__conteudo .enquete { margin-bottom: 1.2em; font-size: .95em; }
.blog-entrada__rodape { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8em; padding: .8em 1.6em; border-top: 1px solid var(--fundo-3); background: var(--fundo-2); }
.blog-entrada__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: .3em; }
.blog-mover { display: inline-flex; align-items: center; gap: .3em; }
@media (max-width: 760px) {
  .blog-entrada__titulo { font-size: 1.45em; }
  .blog-entrada__topo, .blog-entrada__conteudo { padding-inline: 1em; }
  .blog-entrada__rodape { padding-inline: 1em; }
}
.blog-paginador { display: grid; grid-template-columns: 1fr 1fr; gap: 1em; padding: 1em 1.3em; margin-top: var(--esp-bloco); }
.blog-paginador a { display: grid; gap: .2em; color: var(--cor-forte); min-width: 0; }
.blog-paginador a strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.blog-paginador__proxima { text-align: right; grid-column: 2; }
.blog-comentarios { margin-top: var(--esp-bloco); }
.blog-comentarios__titulo { font-size: 1.2em; color: var(--cor-forte); margin: 0 0 .7em; }
.blog-comentario { display: flex; gap: 1em; padding: 1em 1.2em; }
.blog-comentario + .blog-comentario { margin-top: .6em; }
.blog-comentario--oculto { border-style: dashed; background: var(--fundo-moderado, var(--fundo-2)); }
.blog-comentario__corpo { flex: 1 1 auto; min-width: 0; }
.blog-comentario__topo { display: flex; flex-wrap: wrap; align-items: center; gap: .3em .6em; margin: 0 0 .4em; }
.blog-comentario__editar { margin-top: .6em; }
.blog-comentario .reacoes { margin-top: .6em; }

/* Formulários */
.blog-formulario__duas { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4em; }
.blog-formulario__duas .campo { align-content: start; }
@media (max-width: 760px) { .blog-formulario__duas { grid-template-columns: minmax(0, 1fr); } }
.blog-capa-previa { display: block; max-width: 100%; max-height: 160px; border-radius: var(--raio-pequeno); margin-bottom: .5em; object-fit: cover; }
.blog-cat-lista { list-style: none; margin: 0; padding: 0; }
.blog-cat-lista li { padding: .6em 1.2em; border-top: 1px solid var(--fundo-3); }
.blog-cat-lista li:first-child { border-top: 0; }
.blog-cat-lista__form { display: flex; flex-wrap: wrap; align-items: center; gap: .5em; }
.blog-cat-lista__form .entrada { flex: 1 1 200px; }

/* Menu do topo: o que não cabe vai para "Mais" (como no Invision) */
.navegacao { min-width: 0; }
.navegacao > * { flex-shrink: 0; }
.navegacao__escondido { display: none !important; }
.navegacao__menu--direita { left: auto; right: 0; }
.navegacao__menu .menu__titulo { font-size: .78em; }

/* ---------- Bancos de dados do Páginas (0.14.0) ---------- */
.bd-barra { display: flex; flex-wrap: wrap; align-items: center; gap: .5em .8em; margin: 0 0 .8em; }
.bd-barra > span:first-child { margin-right: auto; }
.bd-barra__item { display: inline-flex; align-items: center; gap: .4em; font-size: .9em; color: var(--cor-suave); }
.bd-filtros { position: relative; }
.bd-filtros > summary { list-style: none; cursor: pointer; }
.bd-filtros > summary::-webkit-details-marker { display: none; }
.bd-filtros__campos { position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; width: min(320px, calc(100vw - 32px)); background: var(--fundo-menu); border: 1px solid var(--borda-caixa); border-radius: var(--raio-design); box-shadow: var(--sombra-menu); padding: 1em; display: grid; gap: .7em; }
.bd-filtros__campo { display: grid; gap: .3em; font-size: .9em; font-weight: 600; }
.bd-campos-lista { display: flex; flex-wrap: wrap; gap: .3em .9em; margin-top: .35em; font-size: .85em; }
.bd-campo-lista { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .3em; min-width: 0; }
.bd-selo { font-size: .85em; }
.bd-miniatura { width: 44px; height: 44px; object-fit: cover; border-radius: var(--raio-pequeno); display: block; }
.bd-miniatura-link { display: block; }
.bd-arquivos { display: flex; flex-wrap: wrap; gap: .6em; }
.bd-imagem img { max-width: min(100%, 360px); max-height: 260px; border-radius: var(--raio-pequeno); display: block; }
.bd-arquivo { display: inline-flex; align-items: center; gap: .4em; padding: .35em .7em; border: 1px solid var(--borda-caixa); border-radius: var(--raio-pequeno); background: var(--fundo-2); overflow-wrap: anywhere; }
.bd-codigo { background: var(--fundo-2); border: 1px solid var(--fundo-4); border-radius: var(--raio-pequeno); padding: .8em 1em; overflow-x: auto; font-size: .88em; margin: 0; }
.bd-audio iframe { width: 100%; height: 152px; border: 0; border-radius: var(--raio-pequeno); }
.bd-campos { display: grid; gap: 0; margin: 0 0 1.2em; border: 1px solid var(--fundo-4); border-radius: var(--raio-pequeno); overflow: hidden; }
.bd-campos--abaixo { margin: 1.2em 0 0; }
.bd-campo { display: grid; grid-template-columns: minmax(120px, 220px) minmax(0, 1fr); gap: 1em; padding: .65em 1em; border-top: 1px solid var(--fundo-3); }
.bd-campo:first-child { border-top: 0; }
.bd-campo dt { font-weight: 700; color: var(--cor-forte); }
.bd-campo dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.bd-campo--editor, .bd-campo--youtube, .bd-campo--spotify, .bd-campo--soundcloud, .bd-campo--codigo { grid-template-columns: minmax(0, 1fr); gap: .4em; }
@media (max-width: 600px) { .bd-campo { grid-template-columns: minmax(0, 1fr); gap: .2em; } }
.bd-artigos { display: grid; gap: 1em; }
.bd-artigo { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); overflow: hidden; margin: 0; }
.bd-artigo:not(:has(.bd-artigo__imagem)) { grid-template-columns: minmax(0, 1fr); }
.bd-artigo--pendente { opacity: .75; }
.bd-artigo__imagem { display: block; min-height: 180px; background: var(--fundo-3); }
.bd-artigo__imagem img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bd-artigo__corpo { padding: 1.2em 1.4em; display: grid; gap: .5em; align-content: start; min-width: 0; }
.bd-artigo__categoria { font-size: .78em; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--cor-primaria-texto); }
.bd-artigo__titulo { margin: 0; font-size: 1.35em; line-height: 1.25; overflow-wrap: anywhere; }
.bd-artigo__titulo a { color: var(--cor-forte); }
.bd-artigo__titulo .dados__selos { margin-right: .3em; }
.bd-artigo__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4em .8em; font-size: .85em; color: var(--cor-suave); margin: 0; }
.bd-artigo__resumo { margin: 0; color: var(--cor-texto); }
.bd-artigo__mais { font-weight: 600; justify-self: start; }
@media (max-width: 700px) { .bd-artigo { grid-template-columns: minmax(0, 1fr); } .bd-artigo__imagem { aspect-ratio: 16 / 9; min-height: 0; } }
.bd-form-imagem { max-width: 240px; max-height: 140px; border-radius: var(--raio-pequeno); display: block; margin-bottom: .5em; }
.bd-revisao { padding: .9em 1.2em; border-top: 1px solid var(--fundo-3); }
.bd-revisao > summary { cursor: pointer; }
.bd-revisao[open] > summary { margin-bottom: .8em; }
.bd-revisao .grupo-botoes { margin-top: .6em; }
.bd-bloco-categorias { list-style: none; margin: 0; padding: .4em 0; }
.bd-bloco-categorias li { display: flex; justify-content: space-between; gap: .6em; padding: .4em 1.1em; }
.bd-bloco-categorias .bd-nivel-1 { padding-left: 2.1em; } .bd-bloco-categorias .bd-nivel-2 { padding-left: 3.1em; } .bd-bloco-categorias .bd-nivel-3, .bd-bloco-categorias .bd-nivel-4 { padding-left: 4.1em; }
.bd-bloco-filtros { display: grid; gap: .7em; }
.bd-bloco-filtros .campo { display: grid; gap: .3em; }

/* ---------- Assinaturas, doações e pagamentos (0.15.0) ---------- */
.texto-destaque-ouro { color: hsl(42 95% 48%); }
.loja-planos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr)); gap: 1em; align-items: stretch; }
.loja-plano { position: relative; margin: 0; display: flex; flex-direction: column; gap: .6em; padding: 1.4em 1.3em; text-align: center; }
.loja-plano--destaque { border-color: var(--primaria); box-shadow: 0 0 0 2px var(--primaria), var(--sombra-caixa); }
.loja-plano--meu { background: color-mix(in oklch, var(--fundo-caixa), var(--positivo) 6%); }
.loja-plano__fita { position: absolute; top: -.75em; left: 50%; transform: translateX(-50%); background: var(--primaria); color: #fff; font-size: .75em; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: .25em .9em; border-radius: 99px; white-space: nowrap; }
.loja-plano__imagem { width: 100%; max-height: 140px; object-fit: contain; }
.loja-plano__nome { margin: 0; font-size: 1.25em; color: var(--cor-forte); }
.loja-plano__preco { margin: 0; font-size: 1.9em; font-weight: 700; color: var(--cor-forte); display: grid; line-height: 1.15; }
.loja-plano__preco span { font-size: .45em; font-weight: 500; color: var(--cor-suave); }
.loja-plano__descricao { text-align: left; flex: 1 1 auto; font-size: .93em; }
.loja-plano__acao { display: grid; gap: .5em; margin-top: auto; }
.loja-plano__atual { margin: 0; color: var(--positivo); font-weight: 600; font-size: .9em; }
.loja-checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 1em; align-items: start; }
.loja-checkout .caixa { margin: 0; }
@media (max-width: 800px) { .loja-checkout { grid-template-columns: minmax(0, 1fr); } }
.loja-checkout__item { font-weight: 600; margin: 0 0 .8em; overflow-wrap: anywhere; }
.loja-checkout__total { display: flex; justify-content: space-between; align-items: baseline; gap: 1em; padding: .8em 0; border-top: 1px solid var(--fundo-4); border-bottom: 1px solid var(--fundo-4); margin: 0 0 .8em; }
.loja-checkout__total strong { font-size: 1.5em; color: var(--cor-forte); white-space: nowrap; }
.loja-metodos { display: grid; gap: .6em; }
.loja-metodo { display: flex; align-items: center; gap: .9em; padding: .9em 1em; border: 1px solid var(--borda-caixa); border-radius: var(--raio-design); cursor: pointer; background: var(--fundo-caixa); }
.loja-metodo:hover { background: var(--fundo-hover); }
.loja-metodo:has(input:checked) { border-color: var(--primaria); box-shadow: 0 0 0 1px var(--primaria); }
.loja-metodo input { accent-color: var(--primaria); }
.loja-metodo__icone { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; border-radius: var(--raio-pequeno); background: var(--fundo-3); font-size: 1.2em; color: var(--cor-forte); }
.loja-pix { max-width: 720px; margin: 0 auto; }
.loja-pix__passos { margin: 0 0 1em; padding-left: 1.3em; display: grid; gap: .3em; }
.loja-pix__codigo { word-break: break-all; font-size: .82em; }
.loja-pix__chave { overflow-wrap: anywhere; }
.loja-pix__informar { border-top: 1px solid var(--fundo-3); }
.doa-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 1em; }
.doa-cartao { margin: 0; overflow: hidden; display: flex; flex-direction: column; }
.doa-cartao--encerrada { opacity: .8; }
.doa-cartao__capa { aspect-ratio: 16 / 7; display: grid; place-items: center; background: var(--fundo-3); color: #fff; font-size: 2.4em; overflow: hidden; }
.doa-cartao__capa img { width: 100%; height: 100%; object-fit: cover; }
.doa-cartao__corpo { padding: 1.1em 1.2em; display: grid; gap: .6em; flex: 1 1 auto; align-content: start; }
.doa-cartao__corpo .botao { justify-self: start; }
.doa-cartao__nome { margin: 0; font-size: 1.15em; }
.doa-cartao__nome a { color: var(--cor-forte); }
.doa-progresso { display: grid; gap: .1em; }
.doa-progresso .barra-progresso { margin-top: .5em; }
.doa-progresso__numeros { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2em .5em; }
.doa-progresso__numeros strong { font-size: 1.6em; color: var(--cor-forte); }
.doa-progresso--pequeno .doa-progresso__numeros strong { font-size: 1.2em; }
.doa-progresso__numeros span { color: var(--cor-suave); }
.doa-progresso__doadores { margin: .5em 0 0; }
.doa-progresso__doadores i { color: var(--negativo); }
.doa-campanha__topo { padding: 1.3em 1.4em; display: grid; gap: 1em; }
.doa-marcos { list-style: none; margin: 0; padding: 0; display: grid; gap: .5em; }
.doa-marco { display: flex; gap: .7em; align-items: flex-start; color: var(--cor-suave); }
.doa-marco--ok { color: var(--cor-texto); }
.doa-marco--ok > i { color: var(--positivo); }
.colunas--doacao { margin-top: 0; }
.doa-form { display: grid; gap: .7em; }
.doa-form .campo { display: grid; gap: .3em; }
.doa-valores { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4em; }
.doa-valor { position: relative; }
.doa-valor input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.doa-valor span { display: block; text-align: center; padding: .55em .3em; border: 1px solid var(--borda-caixa); border-radius: var(--raio-pequeno); font-weight: 600; font-size: .9em; white-space: nowrap; }
.doa-valor input:checked + span { background: var(--primaria); border-color: var(--primaria); color: #fff; }
.doa-valor input:focus-visible + span { outline: 2px solid var(--primaria); outline-offset: 2px; }
.doa-doadores, .doa-ultimas { list-style: none; margin: 0; padding: .4em 0; }
.doa-doadores li, .doa-ultimas li { display: flex; gap: .7em; align-items: flex-start; padding: .55em 1.1em; }
.doa-doadores__pos { width: 1.4em; font-weight: 700; color: var(--cor-suave); text-align: center; padding-top: .35em; }
.doa-ultimas li > div { display: grid; min-width: 0; }
.doa-ultimas__valor { font-weight: 700; color: var(--positivo); }
.doa-ultimas__mensagem { margin: .2em 0 0; font-size: .88em; font-style: italic; overflow-wrap: anywhere; }
.doa-bloco { display: grid; gap: .4em; }
.loja-planos > .caixa + .caixa, .doa-grade > .caixa + .caixa, .bd-artigos > .caixa + .caixa, .loja-checkout > .caixa + .caixa { margin-top: 0; }

/* Verificação em duas etapas (0.18.0) */
.passos-2fa { padding-left: 1.3em; display: grid; gap: 1em; }
.qrcode-caixa { margin: .8em 0; display: inline-block; padding: 8px; background: #fff; border-radius: 10px; border: 1px solid var(--borda-caixa); line-height: 0; }
.qrcode-caixa svg { display: block; max-width: 100%; height: auto; }
.chave-2fa { font-size: 1.05em; letter-spacing: .06em; word-break: break-all; }
.codigos-reserva { list-style: none; padding: 0; margin: .8em 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .4em; }
.codigos-reserva code { font-size: 1.05em; letter-spacing: .05em; }
.entrada--grande-codigo { font-size: 1.6em; letter-spacing: .3em; text-align: center; font-variant-numeric: tabular-nums; }

/* Aparência (0.19.0): logo do tema e barra da prévia */
.logo__imagem { display: block; object-fit: contain; }
.logo__imagem--escuro { display: none; }
[data-esquema="escuro"] .logo__imagem--claro { display: none; }
[data-esquema="escuro"] .logo__imagem--escuro { display: block; }
.tema-previa-barra { position: sticky; top: 0; z-index: 1000; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .6em 1em;
  padding: .55em 1em; background: var(--alerta-suave, #fff3cd); color: var(--cor-forte); border-bottom: 1px solid var(--borda-caixa); font-size: .92em; }
.tema-previa-barra form { display: inline; }
.cartao-conta__intro { margin: 0 0 1em; color: var(--cor-suave); }

/* Ações de comentário (blogs, bancos de dados, downloads): ícones pequenos no canto, aparecem ao passar o mouse. */
.comentario-acoes { display: flex; align-items: center; gap: .1em; margin-left: auto; opacity: 0; transition: opacity .15s ease; }
.blog-comentario:hover .comentario-acoes, .dl-comentario:hover .comentario-acoes, .comentario-acoes:focus-within, .comentario-acoes:has(.ativo) { opacity: 1; }
@media (hover: none) { .comentario-acoes { opacity: .75; } }
.comentario-acoes form { display: contents; }
.comentario-acoes__botao { display: inline-grid; place-items: center; width: 2em; height: 2em; padding: 0; border: 0; border-radius: var(--raio-pequeno); background: none; color: var(--cor-suave); font-size: .85em; cursor: pointer; text-decoration: none; transition: background .15s ease, color .15s ease; }
.comentario-acoes__botao:hover, .comentario-acoes__botao:focus-visible, .comentario-acoes__botao.ativo { background: var(--fundo-hover); color: var(--cor-forte); text-decoration: none; }
.comentario-acoes__botao--perigo:hover, .comentario-acoes__botao--perigo:focus-visible { background: var(--negativo-suave); color: var(--negativo); }
.comentario-acoes__botao--positivo { color: var(--positivo); }
.comentario-acoes__botao--positivo:hover { background: var(--positivo-suave); color: var(--positivo); }
.blog-comentario__editar > summary { display: none; }
.blog-comentario__editar[open] { padding-top: .6em; border-top: 1px solid var(--borda-caixa); }

/* "Estilo" no rodapé: menu que abre para cima. */
.menu--acima { top: auto; bottom: calc(100% + 8px); animation-name: menu-abre-acima; }
@keyframes menu-abre-acima { from { opacity: 0; transform: translateY(4px); } }
.menu form button.ativo { font-weight: 700; color: var(--cor-forte); }
.menu form button.ativo i { color: var(--primaria); opacity: 1; }

/* Página "sem internet" do aplicativo (0.20.0) */
.pagina-offline { max-width: 460px; margin: 12vh auto; padding: 0 1em; }
.pagina-offline h1 { margin: .4em 0 .2em; color: var(--cor-forte); }
.pagina-offline__icone { font-size: 2.6em; color: var(--primaria); opacity: .8; }
.cartao-conta__icone { font-size: 2.4em; color: var(--primaria); margin-bottom: .3em; }

/* Barra de opções das entradas de blog e dos registros (0.21.1): o cartão não corta mais o menu "Ações";
   botões alinhados, com o mesmo tamanho; "Mover para" dentro do menu. */
.blog-entrada { overflow: visible; }
.blog-entrada__capa { border-radius: var(--raio-design) var(--raio-design) 0 0; }
.blog-entrada__rodape { border-radius: 0 0 var(--raio-design) var(--raio-design); }
.blog-entrada__acoes { gap: .25em; }
.blog-entrada__acoes > .botao, .blog-entrada__acoes > .menu-ancora > .botao, .blog-entrada__acoes > form > .botao {
  min-height: 2.25em; padding-inline: .8em; border-radius: var(--raio-pequeno); color: var(--cor-texto); font-weight: 600;
  transition: background .2s ease, color .2s ease;
}
.blog-entrada__acoes > .botao:hover, .blog-entrada__acoes > .menu-ancora > .botao:hover, .blog-entrada__acoes .botao[aria-expanded="true"] { background: var(--fundo-hover); color: var(--cor-forte); }
.blog-entrada__acoes .botao i { opacity: .8; }
.blog-entrada__acoes > form > .botao--primario { color: var(--texto-sobre-primaria); }
.blog-entrada__acoes .menu-ancora .fa-caret-down { transition: transform .2s ease; }
.blog-entrada__acoes .botao[aria-expanded="true"] .fa-caret-down { transform: rotate(180deg); }

/* Menu de ações com mais de um formulário dentro. */
.menu--acoes { min-width: 260px; }
.menu--acoes form { margin: 0; }
.menu__campo { display: grid; gap: .45em; padding: .3em .5em .5em; }
.menu__campo .menu__titulo { padding: .3em .4em 0; display: flex; gap: .45em; align-items: center; }
.menu__linha { display: flex; gap: .4em; align-items: center; }
.menu__linha .selecao { flex: 1 1 auto; min-width: 0; }
.menu form .menu__linha button.botao { width: auto; flex: 0 0 auto; justify-content: center; padding: .45em .9em; color: var(--texto-sobre-primaria); background: var(--primaria); }
.menu form .menu__linha button.botao:hover { color: var(--texto-sobre-primaria); background: var(--primaria-escura); }
/* O cartão com o menu "Ações" aberto fica por cima das caixas seguintes (comentários, paginador). */
.blog-entrada:has(.menu.aberto), .caixa:has(> .blog-entrada__rodape .menu.aberto) { position: relative; z-index: 25; }

/* ---------- Projetos de tradução (0.22.0) ---------- */
.barra-progresso { display: block; width: 100%; height: 8px; overflow: visible; }
.barra-progresso--grande { height: 14px; }
.barra-progresso__fundo { fill: var(--fundo-3); }
.barra-progresso__valor { fill: var(--primaria); transform-box: fill-box; transform-origin: left center; animation: barra-cresce 1.1s cubic-bezier(.2, .7, .2, 1) both; }
.barra-progresso--completa .barra-progresso__valor { fill: var(--positivo); }
@keyframes barra-cresce { from { transform: scaleX(0); } }

.selo-situacao { display: inline-flex; align-items: center; gap: .35em; padding: .2em .65em; border-radius: 999px; font-size: .78em; font-weight: 700; color: #fff; background: var(--cor-suave); white-space: nowrap; }
.selo-situacao--planejado { background: hsl(220 15% 50%); }
.selo-situacao--andamento { background: hsl(212 80% 45%); }
.selo-situacao--testes { background: hsl(32 90% 42%); }
.selo-situacao--lancado { background: hsl(145 63% 34%); }
.selo-situacao--pausado { background: hsl(260 20% 48%); }
.selo-situacao--cancelado { background: hsl(0 55% 45%); }

.projetos-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: .45em; margin-bottom: var(--esp-bloco); }
.chip-filtro { display: inline-flex; align-items: center; gap: .4em; padding: .4em .85em; border-radius: 999px; border: 1px solid var(--borda-caixa); background: var(--fundo-caixa); color: var(--cor-texto); font-weight: 600; font-size: .9em; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.chip-filtro:hover { border-color: var(--primaria); color: var(--cor-forte); transform: translateY(-1px); }
.chip-filtro span { font-size: .85em; color: var(--cor-suave); }
.chip-filtro.ativo { background: var(--primaria); border-color: var(--primaria); color: var(--texto-sobre-primaria); }
.chip-filtro.ativo span { color: inherit; opacity: .85; }
.projetos-busca { display: flex; flex-wrap: wrap; gap: .4em; margin-left: auto; }
.projetos-busca .entrada { width: 13em; }

.projetos-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.1em; }
.projetos-grade > .caixa { margin: 0; }
.projeto-cartao { display: flex; flex-direction: column; overflow: hidden; color: inherit; text-decoration: none; padding: 0; transition: transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s ease, border-color .25s ease; animation: fluxo-entra .4s ease-out both; }
.projeto-cartao:hover { transform: translateY(-4px); border-color: var(--primaria); box-shadow: 0 14px 30px -18px color-mix(in srgb, var(--primaria) 70%, transparent); color: inherit; text-decoration: none; }
.projeto-cartao__capa { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; background: linear-gradient(135deg, var(--fundo-3), var(--fundo-4)); color: var(--cor-suave); font-size: 2.2em; overflow: hidden; }
.projeto-cartao__capa img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.projeto-cartao:hover .projeto-cartao__capa img { transform: scale(1.05); }
.projeto-cartao__capa .selo-situacao { position: absolute; left: .7em; top: .7em; font-size: .34em; box-shadow: 0 2px 8px hsl(0 0% 0% / .25); }
.projeto-cartao__secreto { position: absolute; right: .3em; top: .3em; width: 1.4em; height: 1.4em; border-radius: 50%; display: grid; place-items: center; background: hsl(0 0% 0% / .55); color: #fff; font-size: .45em; }
.projeto-cartao__corpo { display: grid; gap: .35em; padding: .85em 1em 1em; }
.projeto-cartao__titulo { color: var(--cor-forte); font-size: 1.05em; line-height: 1.25; }
.projeto-cartao__progresso { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .6em; margin-top: .2em; }

/* Página do projeto */
.projeto-topo { position: relative; overflow: hidden; padding: 0; margin-bottom: var(--esp-bloco); background: linear-gradient(135deg, var(--secundaria), color-mix(in srgb, var(--secundaria), var(--primaria) 35%)); color: #fff; }
.projeto-topo__fundo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .35; filter: blur(2px) saturate(1.1); transform: scale(1.04); animation: projeto-fundo 18s ease-in-out infinite alternate; }
@keyframes projeto-fundo { to { transform: scale(1.12) translateX(-1.5%); } }
.projeto-topo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, hsl(0 0% 0% / .55), hsl(0 0% 0% / .15)); pointer-events: none; }
.projeto-topo__conteudo { position: relative; z-index: 1; display: flex; gap: 1.6em; align-items: flex-end; padding: clamp(1.2em, 4vw, 2.4em); }
.projeto-topo__capa { flex: 0 0 auto; width: clamp(110px, 18vw, 190px); aspect-ratio: 3 / 4; border-radius: calc(var(--raio-design) + 2px); overflow: hidden; display: grid; place-items: center; background: hsl(0 0% 100% / .12); box-shadow: 0 12px 30px -10px hsl(0 0% 0% / .6); font-size: 2.5em; animation: fluxo-entra .5s ease-out both; }
.projeto-topo__capa img { width: 100%; height: 100%; object-fit: cover; }
.projeto-topo__texto { display: grid; gap: .5em; justify-items: start; min-width: 0; }
.projeto-topo__titulo { margin: 0; font-size: clamp(1.6em, 4.5vw, 2.6em); line-height: 1.1; color: #fff; text-shadow: 0 2px 12px hsl(0 0% 0% / .4); }
.projeto-topo__subtitulo { margin: 0; font-size: 1.08em; opacity: .92; }
.projeto-topo__info { display: flex; flex-wrap: wrap; gap: .4em 1.2em; margin: 0; font-size: .9em; opacity: .9; }
.projeto-topo__botoes { display: flex; flex-wrap: wrap; gap: .5em; margin-top: .4em; }
.projeto-topo .botao--suave { background: hsl(0 0% 100% / .14); color: #fff; border-color: hsl(0 0% 100% / .25); }
.projeto-topo .botao--suave:hover { background: hsl(0 0% 100% / .24); color: #fff; }
.projeto-topo .menu { color: var(--cor-texto); }

.projeto-colunas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 330px); gap: var(--esp-bloco); align-items: start; }
.projeto-principal > .caixa + .caixa, .projeto-lateral > .caixa + .caixa, .projeto-lateral > form { margin-top: var(--esp-bloco); }
.projeto-progresso .caixa__cabecalho { display: flex; justify-content: space-between; align-items: center; }
.projeto-progresso__total { font-size: 1.35em; font-weight: 800; color: var(--primaria); }
.projeto-areas { display: grid; gap: .7em; margin-top: 1em; }
.projeto-area { display: grid; grid-template-columns: minmax(90px, 160px) 1fr auto; align-items: center; gap: .8em; }
.projeto-area__nome { font-weight: 600; color: var(--cor-forte); }
.projeto-area__valor { font-weight: 700; min-width: 3em; text-align: right; }
.projeto-areas__rodape { display: flex; flex-wrap: wrap; align-items: center; gap: .6em; padding-top: .6em; border-top: 1px dashed var(--borda-caixa); }
.projeto-areas__rodape .botao { margin-left: auto; }

.projeto-capturas { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .9em; }
.projeto-captura { margin: 0; display: grid; gap: .35em; }
.projeto-captura figcaption { font-size: .85em; color: var(--cor-suave); }
.projeto-captura__imagens { position: relative; display: block; border-radius: var(--raio-pequeno); overflow: hidden; aspect-ratio: 4 / 3; background: var(--fundo-3); }
.projeto-captura__imagens img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .45s ease, transform .45s ease; }
.projeto-captura__imagens:hover img:first-child { transform: scale(1.03); }
.projeto-captura__antes { opacity: 0; }
.projeto-captura--comparar:hover .projeto-captura__antes, .projeto-captura--comparar:focus-within .projeto-captura__antes, .projeto-captura--comparar:focus .projeto-captura__antes { opacity: 1; }
.projeto-captura__etiqueta { position: absolute; left: .5em; bottom: .5em; display: flex; border-radius: 999px; overflow: hidden; font-size: .72em; font-weight: 700; box-shadow: 0 2px 8px hsl(0 0% 0% / .3); }
.projeto-captura__etiqueta span { padding: .25em .7em; background: hsl(0 0% 0% / .55); color: #fff; transition: background .3s ease; }
.projeto-captura__etiqueta span:first-child { background: var(--primaria); }
.projeto-captura--comparar:hover .projeto-captura__etiqueta span:first-child, .projeto-captura--comparar:focus .projeto-captura__etiqueta span:first-child { background: hsl(0 0% 0% / .55); }
.projeto-captura--comparar:hover .projeto-captura__etiqueta span:last-child, .projeto-captura--comparar:focus .projeto-captura__etiqueta span:last-child { background: var(--primaria); }

.projeto-ligacoes { list-style: none; margin: 0; padding: 0; }
.projeto-ligacoes li + li { border-top: 1px solid var(--borda-caixa); }
.projeto-ligacao { display: flex; align-items: center; gap: .9em; padding: .75em 1.2em; color: inherit; transition: background .2s ease; }
.projeto-ligacao:hover { background: var(--fundo-hover); color: inherit; }
.projeto-ligacao > span:last-child { display: grid; gap: .1em; min-width: 0; }
.projeto-ligacao strong { color: var(--cor-forte); }
.projeto-ligacao__icone { flex: 0 0 auto; width: 56px; height: 42px; border-radius: var(--raio-pequeno); overflow: hidden; display: grid; place-items: center; background: var(--fundo-3); color: var(--primaria); }
.projeto-ligacao__icone img { width: 100%; height: 100%; object-fit: cover; }

.projeto-equipe { list-style: none; margin: 0; padding: .6em 1.2em 1em; display: grid; gap: .7em; }
.projeto-equipe li { display: flex; align-items: center; gap: .7em; }
.projeto-equipe li > span { display: grid; }
.projeto-linha-tempo { list-style: none; margin: 0; padding: 1em 1.2em 1.2em 1.6em; position: relative; }
.projeto-linha-tempo::before { content: ""; position: absolute; left: 1.95em; top: 1.3em; bottom: 1.3em; width: 2px; background: var(--borda-caixa); }
.projeto-linha-tempo li { position: relative; display: flex; gap: .9em; padding-bottom: 1em; }
.projeto-linha-tempo li:last-child { padding-bottom: 0; }
.projeto-linha-tempo li > div { display: grid; gap: .1em; min-width: 0; }
.projeto-linha-tempo__ponto { flex: 0 0 auto; width: .8em; height: .8em; margin-top: .35em; border-radius: 50%; background: var(--primaria); box-shadow: 0 0 0 4px var(--fundo-caixa), 0 0 0 5px var(--primaria); position: relative; z-index: 1; }
.projeto-linha-tempo li:first-child .projeto-linha-tempo__ponto { animation: ponto-pulsa 2.4s ease-in-out infinite; }
@keyframes ponto-pulsa { 50% { box-shadow: 0 0 0 4px var(--fundo-caixa), 0 0 0 8px color-mix(in srgb, var(--primaria) 35%, transparent); } }
.projeto-linha-tempo__notas summary { cursor: pointer; color: var(--cor-link); }

/* Formulário do projeto */
.projeto-form-lista { display: grid; gap: .5em; }
.projeto-form-linha { display: flex; flex-wrap: wrap; align-items: center; gap: .5em; }
.projeto-form-linha .entrada:first-child { flex: 1 1 180px; }
.projeto-form-imagem { display: block; max-width: 240px; max-height: 140px; border-radius: var(--raio-pequeno); margin-bottom: .4em; object-fit: cover; }
.projeto-form-capturas { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .8em; }
.projeto-form-capturas figure { margin: 0; display: grid; gap: .3em; }
.projeto-form-capturas img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--raio-pequeno); }
.entrada--minima { width: 6.5em; }
.em-linha { display: inline; }
.linha-formulario { display: flex; align-items: center; gap: .8em; flex-wrap: wrap; }
.linha-formulario .entrada { flex: 1 1 260px; }
.tabela__progresso { min-width: 140px; }
.tabela__progresso .barra-progresso { display: inline-block; width: 90px; vertical-align: middle; }

@media (max-width: 900px) {
  .projeto-colunas { grid-template-columns: 1fr; }
  .projetos-busca { margin-left: 0; width: 100%; }
}
@media (max-width: 560px) {
  .projeto-topo__conteudo { flex-direction: column; align-items: flex-start; }
  .projeto-area { grid-template-columns: 1fr auto; }
  .projeto-area .barra-progresso { grid-column: 1 / -1; grid-row: 2; }
}
@media (prefers-reduced-motion: reduce) {
  .barra-progresso__valor, .projeto-topo__fundo, .projeto-linha-tempo li:first-child .projeto-linha-tempo__ponto { animation: none; }
}

/* Bloco "Projetos de tradução" (0.22.0) */
.bloco-projetos { list-style: none; margin: 0; padding: .4em 0; }
.bloco-projeto { display: flex; gap: .8em; align-items: center; padding: .55em 1.1em; color: inherit; transition: background .2s ease; }
.bloco-projeto:hover { background: var(--fundo-hover); color: inherit; }
.bloco-projeto__capa { flex: 0 0 auto; width: 54px; height: 54px; border-radius: var(--raio-pequeno); overflow: hidden; display: grid; place-items: center; background: var(--fundo-3); color: var(--cor-suave); }
.bloco-projeto__capa img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.bloco-projeto:hover .bloco-projeto__capa img { transform: scale(1.08); }
.bloco-projeto__texto { display: grid; gap: .3em; justify-items: start; min-width: 0; flex: 1; }
.bloco-projeto__texto strong { color: var(--cor-forte); line-height: 1.2; }
.bloco-projeto__progresso { display: grid; grid-template-columns: 1fr auto; gap: .5em; align-items: center; width: 100%; }

/* ---------- Relatos de erros (0.23.0) ---------- */
.selo-relato { display: inline-flex; align-items: center; gap: .35em; padding: .2em .65em; border-radius: 999px; font-size: .78em; font-weight: 700; white-space: nowrap; color: #fff; background: var(--cor-suave); }
.selo-relato--novo { background: hsl(212 80% 45%); }
.selo-relato--confirmado { background: hsl(32 90% 42%); }
.selo-relato--em-correcao { background: hsl(270 55% 50%); }
.selo-relato--corrigido { background: hsl(145 63% 34%); }
.selo-relato--nao-e-erro, .selo-relato--repetido { background: hsl(220 10% 50%); }

.relatos-lista { list-style: none; margin: 0; padding: 0; }
.relatos-lista li + li { border-top: 1px solid var(--borda-caixa); }
.relato-linha { display: flex; align-items: center; gap: .9em; padding: .8em 1.2em; color: inherit; transition: background .2s ease; }
.relato-linha:hover { background: var(--fundo-hover); color: inherit; }
.relato-linha .selo-relato { flex: 0 0 auto; min-width: 7.5em; justify-content: center; }
.relato-linha__texto { display: grid; gap: .15em; flex: 1; min-width: 0; }
.relato-linha__texto strong { color: var(--cor-forte); overflow-wrap: anywhere; }

.relato { padding: 0; overflow: hidden; }
.relato__topo { display: grid; gap: .45em; justify-items: start; padding: 1.3em 1.5em 1em; border-bottom: 1px solid var(--borda-caixa); }
.relato__titulo { margin: 0; font-size: clamp(1.3em, 3vw, 1.7em); line-height: 1.2; color: var(--cor-forte); }
.relato__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35em; margin: 0; }
.relato__corpo { padding: 1.2em 1.5em 1.4em; display: grid; gap: 1em; }
.relato__onde { margin: 0; font-weight: 600; color: var(--cor-forte); }
.relato__comparar { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .8em; }
.relato__texto { border-radius: var(--raio-pequeno); padding: .7em .9em; border: 1px solid var(--borda-caixa); border-left-width: 4px; background: var(--fundo-2); }
.relato__texto span { display: block; font-size: .75em; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .3em; }
.relato__texto p { margin: 0; font-family: var(--fonte-codigo); font-size: .95em; white-space: pre-wrap; }
.relato__texto--errado { border-left-color: var(--negativo); }
.relato__texto--errado span { color: var(--negativo); }
.relato__texto--certo { border-left-color: var(--positivo); }
.relato__texto--certo span { color: var(--positivo); }
.relato__captura { display: block; max-width: 520px; border-radius: var(--raio-pequeno); overflow: hidden; border: 1px solid var(--borda-caixa); }
.relato__captura img { display: block; width: 100%; height: auto; transition: transform .4s ease; }
.relato__captura:hover img { transform: scale(1.02); }
.relato__spoiler summary { cursor: pointer; font-weight: 600; color: var(--cor-link); padding: .6em .8em; border-radius: var(--raio-pequeno); background: var(--fundo-2); }
.relato__spoiler[open] summary { margin-bottom: 1em; }

.relato-equipe { margin-top: var(--esp-bloco); border-color: color-mix(in srgb, var(--primaria) 45%, var(--borda-caixa)); }
.relato-equipe__campos { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .8em 1em; align-items: end; }
.relato-equipe__campos label { display: grid; gap: .3em; font-size: .9em; font-weight: 600; }
.relato-equipe__campos label.caixa-marcar { display: flex; font-weight: 400; }

.relato-conversa { margin-top: var(--esp-bloco); display: grid; gap: .7em; }
.relato-conversa > .caixa { margin: 0; }
.relato-comentario { display: flex; gap: .9em; padding: 1em 1.2em; animation: fluxo-entra .3s ease-out both; }
.relato-comentario > div { flex: 1; min-width: 0; }
.relato-comentario p { margin: 0 0 .3em; }
.relato-comentario--interno { border-style: dashed; background: var(--alerta-suave); }
.relato-mudanca { margin: 0; padding: .2em 1.2em; display: flex; flex-wrap: wrap; gap: .4em; align-items: center; font-size: .88em; color: var(--cor-suave); }
.relato-mudanca i { color: var(--primaria); }

.projeto-relatos__numeros { display: grid; grid-template-columns: 1fr 1fr; gap: .6em; margin-bottom: .8em; }
.projeto-relatos__numeros a { display: grid; justify-items: center; padding: .6em; border-radius: var(--raio-pequeno); background: var(--fundo-2); color: var(--cor-texto); transition: transform .2s ease, background .2s ease; }
.projeto-relatos__numeros a:hover { transform: translateY(-2px); background: var(--fundo-hover); color: var(--cor-forte); }
.projeto-relatos__numeros strong { font-size: 1.6em; line-height: 1.1; color: var(--cor-forte); }
.projeto-relatos__numeros span { font-size: .8em; }

@media (max-width: 560px) {
  .relato-linha { flex-wrap: wrap; }
  .relato-linha .selo-relato { min-width: 0; }
}
.relato__selos { display: flex; flex-wrap: wrap; gap: .4em; align-items: center; }

/* ---------- Área da equipe (0.24.0) ---------- */
.quadro { display: grid; grid-template-columns: repeat(4, minmax(220px, 1fr)); gap: .9em; overflow-x: auto; padding-bottom: .4em; }
.quadro__coluna { display: flex; flex-direction: column; min-height: 220px; border-radius: var(--raio-design); background: var(--fundo-2); border: 1px solid var(--borda-caixa); transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.quadro__coluna--alvo { border-color: var(--primaria); background: color-mix(in srgb, var(--primaria) 7%, var(--fundo-2)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--primaria) 25%, transparent); }
.quadro__titulo { display: flex; align-items: center; gap: .5em; margin: 0; padding: .75em .9em; font-size: .95em; color: var(--cor-forte); border-bottom: 3px solid var(--borda-caixa); }
.quadro__coluna--fazendo .quadro__titulo { border-bottom-color: hsl(212 80% 50%); }
.quadro__coluna--revisao .quadro__titulo { border-bottom-color: hsl(32 90% 48%); }
.quadro__coluna--feito .quadro__titulo { border-bottom-color: var(--positivo); }
.quadro__contador { margin-left: auto; min-width: 1.8em; padding: .05em .5em; border-radius: 999px; background: var(--fundo-4); font-size: .8em; text-align: center; }
.quadro__lista { flex: 1; display: grid; align-content: start; gap: .55em; padding: .6em; }
.tarefa { padding: .65em .75em; border-radius: var(--raio-pequeno); background: var(--fundo-caixa); border: 1px solid var(--borda-caixa); box-shadow: var(--sombra-caixa); cursor: grab; transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease; animation: fluxo-entra .25s ease-out both; }
.tarefa:hover { transform: translateY(-2px); box-shadow: 0 8px 18px -12px hsl(0 0% 0% / .45); }
.tarefa.arrastando { opacity: .45; cursor: grabbing; transform: rotate(2deg); }
.tarefa--salvando { opacity: .7; }
.tarefa--salva { box-shadow: 0 0 0 2px var(--positivo); }
.tarefa--feita .tarefa__titulo { text-decoration: line-through; color: var(--cor-suave); }
.tarefa--atrasada { border-left: 4px solid var(--negativo); }
.tarefa--atrasada .tarefa__prazo { color: var(--negativo); font-weight: 700; }
.tarefa__titulo { margin: 0 0 .35em; font-weight: 600; color: var(--cor-forte); overflow-wrap: anywhere; }
.tarefa__info { display: flex; flex-wrap: wrap; gap: .35em .6em; align-items: center; margin: 0; font-size: .8em; color: var(--cor-suave); }
.tarefa__area { padding: .05em .55em; border-radius: 999px; background: color-mix(in srgb, var(--primaria) 14%, transparent); color: var(--cor-forte); font-weight: 600; }
.tarefa__resp { display: inline-flex; align-items: center; gap: .3em; }
.tarefa__resp .avatar { width: 18px; height: 18px; font-size: 9px; }
.tarefa__mais summary { list-style: none; cursor: pointer; text-align: right; color: var(--cor-suave); margin-top: -.2em; }
.tarefa__mais summary::-webkit-details-marker { display: none; }
.tarefa__descricao { margin: .4em 0; color: var(--cor-texto); }
.quadro-form { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: .5em; }
.quadro-form textarea { grid-column: 1 / -2; }
.quadro-form > .botao { align-self: end; }
.quadro-form--cartao { grid-template-columns: 1fr; margin-top: .5em; }
.quadro-form--cartao textarea { grid-column: auto; }
.quadro-form__botoes { display: flex; gap: .4em; justify-content: space-between; }
.quadro-nova > summary { cursor: pointer; list-style: none; }
.quadro-nova > summary::-webkit-details-marker { display: none; }
.equipe-conversa { display: grid; gap: .8em; max-height: 520px; overflow-y: auto; }
.equipe-mensagem { display: flex; gap: .7em; align-items: flex-start; max-width: 85%; }
.equipe-mensagem > div { background: var(--fundo-2); border-radius: 12px 12px 12px 4px; padding: .5em .8em; min-width: 0; }
.equipe-mensagem p { margin: 0 0 .2em; }
.equipe-mensagem--minha { margin-left: auto; flex-direction: row-reverse; }
.equipe-mensagem--minha > div { background: color-mix(in srgb, var(--primaria) 12%, var(--fundo-2)); border-radius: 12px 12px 4px 12px; }
.lista-atividade-equipe { list-style: none; margin: 0; padding: .6em 1.2em 1em; display: grid; gap: .45em; }
.projeto-creditos__feito { color: var(--positivo); }
@media (max-width: 900px) {
  .quadro { grid-template-columns: repeat(4, 78vw); scroll-snap-type: x mandatory; }
  .quadro__coluna { scroll-snap-align: start; }
  .quadro-form { grid-template-columns: 1fr; }
  .quadro-form textarea { grid-column: auto; }
}

/* ---------- Vantagens de apoiador (0.25.0) ---------- */
@property --moldura-giro { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.moldura { position: relative; display: inline-grid; place-items: center; padding: 3px; border-radius: var(--raio-avatar); isolation: isolate; }
.moldura--g { padding: 4px; }
.moldura--gg { padding: 6px; }
.moldura::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; animation: moldura-gira 4s linear infinite; }
.moldura > .avatar, .moldura > a > .avatar { display: block; box-shadow: 0 0 0 2px var(--fundo-caixa); }
@keyframes moldura-gira { to { --moldura-giro: 360deg; } }
.moldura--ouro::before { background: conic-gradient(from var(--moldura-giro), #b8860b, #ffe58a, #c9971b, #fff3c4, #b8860b); }
.moldura--arco-iris::before { background: conic-gradient(from var(--moldura-giro), #ff5f6d, #ffc371, #f9f871, #4ade80, #22d3ee, #818cf8, #e879f9, #ff5f6d); }
.moldura--e4t::before { background: conic-gradient(from var(--moldura-giro), #2f006b, #7c3aed, #c4b5fd, #c026d3, #2f006b); }
.moldura--esmeralda::before { background: conic-gradient(from var(--moldura-giro), #0f3d22, #1d6b3c, #c9a24a, #f0d48a, #0f3d22); }
.moldura--neon::before { background: var(--primaria); animation: moldura-pulsa 2.2s ease-in-out infinite; }
@keyframes moldura-pulsa { 50% { box-shadow: 0 0 14px 2px color-mix(in srgb, var(--primaria) 70%, transparent); } }

.selo-vantagem { display: inline-flex; align-items: center; gap: .35em; margin: .25em .25em 0 0; padding: .15em .6em; border-radius: 999px; font-size: .75em; font-weight: 700; color: #fff;
  background: linear-gradient(135deg, var(--primaria), color-mix(in srgb, var(--primaria), #c026d3 45%)); position: relative; overflow: hidden; white-space: nowrap; }
.selo-vantagem--brilho::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 35%, hsl(0 0% 100% / .55) 50%, transparent 65%); transform: translateX(-120%); animation: selo-brilho 3.2s ease-in-out infinite; }
@keyframes selo-brilho { 60%, 100% { transform: translateX(120%); } }
.perfil__selos .selo-vantagem { font-size: .8em; margin: 0; }

.aviso--antecipado { border-color: color-mix(in srgb, var(--primaria) 45%, var(--borda-caixa)); background: color-mix(in srgb, var(--primaria) 8%, var(--fundo-caixa)); }
.aviso--antecipado i { color: var(--primaria); }
.antecipado-caixa > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: .55em; padding: .75em 1.1em; font-size: .95em; font-weight: 600; }
.antecipado-caixa > summary::after { content: "\f078"; font: var(--fa-font-solid); font-size: .75em; margin-left: auto; opacity: .6; transition: transform .25s ease; }
.antecipado-caixa[open] > summary::after { transform: rotate(180deg); }
.antecipado-caixa > summary i { color: var(--primaria); }
.antecipado-caixa .caixa__corpo { padding-top: 0; }
.antecipado-caixa .grade-marcar { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .45em 1em; margin: .7em 0; font-size: .92em; }
.antecipado-caixa .linha-formulario { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6em; }
.antecipado-caixa .linha-formulario label { display: grid; gap: .25em; }
.antecipado-caixa > summary::-webkit-details-marker { display: none; }
.loja-plano__vantagens { list-style: none; margin: .6em 0; padding: 0; display: grid; gap: .35em; font-size: .92em; }
.loja-plano__vantagens i { width: 1.3em; color: var(--primaria); }

.sorteios-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1em; }
.sorteios-grade > .caixa { margin: 0; }
.sorteio-cartao { display: flex; flex-direction: column; padding: 0; overflow: hidden; color: inherit; transition: transform .25s ease, box-shadow .25s ease; }
.sorteio-cartao:hover { transform: translateY(-3px); color: inherit; }
.sorteio-cartao__imagem { position: relative; aspect-ratio: 16 / 9; display: grid; place-items: center; background: linear-gradient(135deg, var(--primaria), color-mix(in srgb, var(--primaria), #c026d3 50%)); color: #fff; font-size: 2.4em; overflow: hidden; }
.sorteio-cartao__imagem img { width: 100%; height: 100%; object-fit: cover; }
.sorteio-cartao__situacao { position: absolute; left: .6em; top: .6em; font-size: .3em; font-weight: 700; padding: .3em .8em; border-radius: 999px; background: hsl(0 0% 0% / .55); }
.sorteio-cartao--aberto .sorteio-cartao__situacao { background: var(--positivo); }
.sorteio-cartao__corpo { display: grid; gap: .3em; padding: .9em 1.1em 1.1em; }
.sorteio-cartao__corpo strong { color: var(--cor-forte); font-size: 1.05em; }
.sorteio { padding: 0; overflow: hidden; }
.sorteio__imagem { display: block; width: 100%; max-height: 360px; object-fit: cover; }
.sorteio__corpo { padding: 1.4em 1.6em 1.6em; display: grid; gap: .8em; }
.sorteio__corpo h1 { margin: 0; font-size: clamp(1.4em, 3.5vw, 1.9em); font-weight: 700; line-height: 1.15; color: var(--cor-forte); }
.sorteio__faixa { display: grid; place-items: center; height: 130px; color: #fff; font-size: 3em; background: linear-gradient(135deg, var(--primaria), color-mix(in srgb, var(--primaria), #c026d3 50%)); }
.sorteio__faixa i { animation: sorteio-presente 3s ease-in-out infinite; }
@keyframes sorteio-presente { 0%, 100% { transform: rotate(0); } 45% { transform: rotate(-8deg) scale(1.06); } 55% { transform: rotate(8deg) scale(1.06); } }
.sorteio__premio { margin: 0; font-size: 1.15em; font-weight: 700; color: var(--cor-forte); }
.sorteio__premio i { color: hsl(45 90% 45%); }
.sorteio__acao { display: flex; align-items: center; gap: 1em; flex-wrap: wrap; }
.sorteio__acao .botao--grande { animation: sorteio-convite 2.4s ease-in-out infinite; }
@keyframes sorteio-convite { 50% { transform: scale(1.04); box-shadow: 0 8px 22px -10px var(--primaria); } }
.sorteio__inscrito { margin: 0; font-weight: 700; color: var(--positivo); }
.sorteio__resultado { padding: 1em 1.2em; border-radius: var(--raio-design); background: linear-gradient(135deg, color-mix(in srgb, hsl(45 90% 55%) 18%, var(--fundo-caixa)), var(--fundo-caixa)); border: 1px solid color-mix(in srgb, hsl(45 90% 50%) 45%, var(--borda-caixa)); }
.sorteio__resultado h2 { margin: 0 0 .6em; font-size: 1.15em; font-weight: 700; color: var(--cor-forte); }
.sorteio__ganhadores { display: flex; flex-wrap: wrap; gap: 1em; }
.sorteio__ganhador { display: grid; justify-items: center; gap: .3em; font-weight: 700; animation: fluxo-entra .5s ease-out both; }
@media (prefers-reduced-motion: reduce) {
  .moldura::before, .selo-vantagem--brilho::after, .sorteio__acao .botao--grande, .sorteio__faixa i { animation: none; }
}

/* ---------- Extras do fórum (0.26.0) ---------- */
/* Resumo do tópico */
.resumo-topico { padding: 0; overflow: hidden; }
.resumo-topico__cabecalho { display: flex; align-items: center; flex-wrap: wrap; gap: .3em .6em; padding: .8em 1.1em; cursor: pointer; list-style: none; font-weight: 700; color: var(--cor-forte); }
.resumo-topico__cabecalho::-webkit-details-marker { display: none; }
.resumo-topico__cabecalho > i { color: var(--primaria); }
.resumo-topico__cabecalho::after { content: "\f078"; font: var(--fa-font-solid); font-size: .7em; margin-left: auto; opacity: .55; transition: transform .25s ease; }
.resumo-topico[open] > .resumo-topico__cabecalho::after { transform: rotate(180deg); }
.resumo-topico__corpo { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1.2em; padding: 0 1.1em 1.1em; animation: fluxo-entra .35s ease-out both; }
.resumo-topico__corpo:not(:has(.resumo-topico__populares)) { grid-template-columns: 1fr; }
.resumo-topico h3 { margin: 0 0 .6em; font-size: .82em; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--cor-suave, inherit); }
.resumo-topico h3 i { color: var(--primaria); margin-right: .2em; }
.resumo-topico__populares { display: grid; gap: .55em; align-content: start; }
.resumo-topico__post { display: grid; gap: .3em; padding: .7em .85em; border-radius: var(--raio-design, 8px); background: var(--fundo-2); color: inherit; transition: transform .2s ease, background .2s ease; }
.resumo-topico__post:hover { transform: translateX(3px); background: var(--fundo-3); color: inherit; }
.resumo-topico__autor { display: flex; align-items: center; gap: .45em; flex-wrap: wrap; font-size: .9em; }
.resumo-topico__reacoes { margin-left: auto; font-weight: 700; color: #e11d48; }
.resumo-topico__trecho { font-size: .9em; opacity: .85; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.resumo-topico__lado { display: grid; gap: 1em; align-content: start; }
.resumo-topico__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .45em; }
.resumo-topico__lista li { display: flex; align-items: center; gap: .45em; flex-wrap: wrap; }
@media (max-width: 760px) { .resumo-topico__corpo { grid-template-columns: 1fr; } }

/* Posts anônimos */
.avatar--anonimo { display: inline-grid; place-items: center; width: var(--tam); height: var(--tam); border-radius: var(--raio-avatar, 50%); background: linear-gradient(135deg, #475569, #1e293b); color: #e2e8f0; font-size: calc(var(--tam) * .45); }
.post__anonimo-real { display: inline-flex; align-items: center; gap: .3em; margin-top: .3em; padding: .15em .55em; border-radius: 999px; font-size: .78em; background: color-mix(in srgb, var(--primaria) 12%, transparent); border: 1px dashed color-mix(in srgb, var(--primaria) 45%, transparent); }
.responder__anonimo { margin-right: auto; align-self: center; font-size: .92em; }
.responder__anonimo i { opacity: .7; }

/* Incorporações (X, Instagram, TikTok, Twitch, Reddit, Bluesky) */
.incorporado { display: grid; gap: .3em; width: 100%; max-width: 550px; margin: .6em 0; }
.incorporado iframe { width: 100%; border: 0; border-radius: 12px; background: var(--fundo-2); }
.incorporado--x iframe { height: 560px; }
.incorporado--instagram iframe { height: 660px; }
.incorporado--tiktok { max-width: 340px; }
.incorporado--tiktok iframe { aspect-ratio: 9 / 16; height: auto; }
.incorporado--video { max-width: 720px; }
.incorporado--video iframe { aspect-ratio: 16 / 9; height: auto; background: #000; }
.incorporado--reddit iframe { height: 420px; }
.incorporado--spotify iframe { height: 352px; }
.incorporado--spotify-faixa iframe { height: 152px; }
.incorporado--soundcloud iframe { height: 166px; }
/* vídeo/post num parágrafo centralizado ou à direita continua no mesmo lugar (1.0.2) */
.incorporado--centro { margin-inline: auto; }
.incorporado--direita { margin-left: auto; }
.incorporado--bluesky iframe { height: 420px; }
.incorporado__link { font-size: .8em; opacity: .75; justify-self: start; }
.incorporado__link:hover { opacity: 1; }
@media (max-width: 600px) { .incorporado--x iframe, .incorporado--instagram iframe { height: 480px; } }

/* Notificações push (Configurações > Notificações) */
.push__estado { margin: 0 0 .5em; font-weight: 600; }
.push__estado::before { content: ""; display: inline-block; width: .6em; height: .6em; margin-right: .45em; border-radius: 50%; background: var(--borda-caixa, #9ca3af); vertical-align: middle; }
.push--ativo .push__estado::before { background: var(--positivo, #16a34a); box-shadow: 0 0 0 0 color-mix(in srgb, var(--positivo, #16a34a) 60%, transparent); animation: push-pulso 2s ease-out infinite; }
@keyframes push-pulso { 70% { box-shadow: 0 0 0 7px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
.push__aparelhos { list-style: none; margin: .7em 0 0; padding: 0; display: grid; gap: .3em; font-size: .92em; }
.push__aparelhos li { display: flex; align-items: center; gap: .4em; flex-wrap: wrap; }

/* Pix: QR Code ao lado dos passos */
.loja-pix__qr-linha { display: flex; gap: 1.2em; align-items: center; flex-wrap: wrap; margin-bottom: 1em; }
.loja-pix__qr { margin: 0; display: grid; justify-items: center; gap: .4em; padding: .7em; border-radius: 12px; background: #fff; border: 1px solid var(--borda-caixa, #e5e7eb); }
.loja-pix__qr svg { display: block; width: 200px; height: 200px; }
.loja-pix__qr figcaption { font-size: .78em; color: #475569; }
.loja-pix__qr-linha .loja-pix__passos { flex: 1 1 240px; margin: 0; }
@media (prefers-reduced-motion: reduce) { .push--ativo .push__estado::before, .resumo-topico__corpo { animation: none; } }

/* ---------- Discord (0.27.0) ---------- */
.bloco-discord { display: grid; gap: .9em; }
.bloco-discord__topo { display: flex; align-items: center; gap: .75em; }
.bloco-discord__topo strong { display: block; color: var(--cor-forte); }
.bloco-discord__logo { display: grid; place-items: center; width: 2.6em; height: 2.6em; flex: none; border-radius: 14px; background: #5865f2; color: #fff; font-size: 1.15em; box-shadow: 0 6px 16px -8px #5865f2; }
.bloco-discord__online { display: inline-flex; align-items: center; gap: .4em; font-size: .88em; opacity: .85; }
.bloco-discord__ponto { width: .55em; height: .55em; border-radius: 50%; background: #23a55a; box-shadow: 0 0 0 0 rgba(35, 165, 90, .6); animation: discord-pulso 2s ease-out infinite; }
@keyframes discord-pulso { 70% { box-shadow: 0 0 0 6px rgba(35, 165, 90, 0); } 100% { box-shadow: 0 0 0 0 rgba(35, 165, 90, 0); } }
.bloco-discord__membros { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4em; }
.bloco-discord__membro { position: relative; width: 34px; height: 34px; animation: fluxo-entra .4s ease-out both; }
.bloco-discord__membro img, .bloco-discord__membro span { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: grid; place-items: center; background: #5865f2; color: #fff; font-weight: 700; font-size: .85em; }
.bloco-discord__membro::after { content: ""; position: absolute; right: -1px; bottom: -1px; width: 11px; height: 11px; border-radius: 50%; border: 2px solid var(--fundo-caixa); background: #23a55a; }
.bloco-discord__membro--ausente::after { background: #f0b232; }
.bloco-discord__membro--ocupado::after { background: #f23f43; }
.bloco-discord__entrar { justify-self: start; background: #5865f2; border-color: #5865f2; color: #fff; }
.bloco-discord__entrar:hover { background: #4752c4; border-color: #4752c4; color: #fff; }
.botao--discord .botao--social__icone { color: #5865f2; }
@media (prefers-reduced-motion: reduce) { .bloco-discord__ponto, .bloco-discord__membro { animation: none; } }

/* ---------- Clubes (0.28.0) ---------- */
.clubes-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1em; }
.clubes-grade > .caixa { margin: 0; }
.clube-cartao { position: relative; display: flex; flex-direction: column; padding: 0; overflow: hidden; color: inherit; transition: transform .25s ease, box-shadow .25s ease; }
.clube-cartao:hover { transform: translateY(-3px); color: inherit; box-shadow: 0 14px 28px -18px color-mix(in srgb, var(--primaria) 70%, transparent); }
.clube-cartao--destaque { outline: 2px solid color-mix(in srgb, var(--primaria) 55%, transparent); }
.clube-cartao__capa { position: relative; display: block; height: 96px; background: linear-gradient(135deg, var(--primaria), color-mix(in srgb, var(--primaria), #0ea5e9 45%)); }
.clube-cartao__capa img { width: 100%; height: 100%; object-fit: cover; }
.clube-cartao__selo { position: absolute; right: .6em; top: .6em; padding: .2em .7em; border-radius: 999px; font-size: .75em; font-weight: 700; color: #fff; background: hsl(0 0% 0% / .55); }
.clube-cartao__icone { position: absolute; left: 1em; top: 62px; width: 60px; height: 60px; border-radius: 16px; overflow: hidden; border: 3px solid var(--fundo-caixa); background: var(--fundo-caixa); box-shadow: 0 6px 16px -8px hsl(0 0% 0% / .5); }
.clube-cartao__icone img, .clube-cartao__icone span, .clube-topo__icone img, .clube-topo__icone span { width: 100%; height: 100%; object-fit: cover; display: grid; place-items: center; }
.clube-cartao__icone span, .clube-topo__icone span { font-weight: 800; font-size: 1.5em; color: #fff; background: linear-gradient(135deg, var(--primaria), color-mix(in srgb, var(--primaria), #c026d3 50%)); }
.clube-cartao__corpo { display: grid; gap: .3em; padding: 2.4em 1.1em 1.1em; }
.clube-cartao__corpo strong { color: var(--cor-forte); font-size: 1.05em; }
.clube-cartao__descricao { font-size: .9em; opacity: .85; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.clube-cartao__areas { display: flex; gap: .6em; margin-top: .2em; opacity: .65; }

.clube-topo { padding: 0; overflow: hidden; }
.clube-topo__capa { height: clamp(120px, 22vw, 220px); background: linear-gradient(135deg, var(--primaria), color-mix(in srgb, var(--primaria), #0ea5e9 45%)); }
.clube-topo__capa img { width: 100%; height: 100%; object-fit: cover; }
.clube-topo__linha { display: flex; align-items: flex-end; gap: 1em; flex-wrap: wrap; padding: 0 1.3em 1em; }
.clube-topo__icone { width: 92px; height: 92px; margin-top: -46px; flex: none; border-radius: 22px; overflow: hidden; border: 4px solid var(--fundo-caixa); background: var(--fundo-caixa); box-shadow: 0 10px 24px -12px hsl(0 0% 0% / .55); }
.clube-topo__texto { flex: 1 1 260px; min-width: 0; }
.clube-topo__texto h1 { margin: .3em 0 .1em; font-size: clamp(1.4em, 3.5vw, 1.9em); font-weight: 800; line-height: 1.15; color: var(--cor-forte); }
.clube-topo__texto p { margin: 0; }
.clube-topo__acoes { align-items: center; }
.clube-topo__aviso { margin: 0 1.3em 1em; }
.clube-topo__abas { border-top: 1px solid var(--fundo-3); }
.clube-topo__pedidos { display: inline-grid; place-items: center; min-width: 1.4em; height: 1.4em; padding: 0 .35em; border-radius: 999px; font-size: .75em; font-weight: 700; color: #fff; background: #e03131; }

.clube-colunas { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1em; align-items: start; }
.clube-colunas > div > .caixa, .clube-colunas > aside > .caixa { margin-top: 0; margin-bottom: 1em; }
@media (max-width: 900px) { .clube-colunas { grid-template-columns: 1fr; } }
.clube-atividade { list-style: none; margin: 0; padding: 0; }
.clube-atividade li { display: flex; gap: .8em; padding: .8em 1.1em; border-top: 1px solid var(--fundo-3); animation: fluxo-entra .35s ease-out both; }
.clube-atividade li:first-child { border-top: 0; }
.clube-atividade li > i { margin-top: .25em; }
.clube-atividade li div { display: grid; gap: .15em; min-width: 0; }
.clube-pessoas { list-style: none; margin: 0; padding: .4em 1.1em 1em; display: grid; gap: .7em; }
.clube-pessoas li { display: flex; align-items: center; gap: .6em; line-height: 1.3; }
.clube-rostos { display: flex; flex-wrap: wrap; gap: .35em; padding: .4em 1.1em 0; }

.clube-tipos { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .6em; }
.clube-tipo { position: relative; display: block; cursor: pointer; }
.clube-tipo input { position: absolute; opacity: 0; }
.clube-tipo > span { display: grid; gap: .25em; height: 100%; padding: .8em 1em; border: 2px solid var(--borda-caixa); border-radius: var(--raio-design, 10px); transition: border-color .2s ease, background .2s ease; }
.clube-tipo > span small { font-size: .82em; opacity: .8; }
.clube-tipo input:checked + span { border-color: var(--primaria); background: color-mix(in srgb, var(--primaria) 8%, var(--fundo-caixa)); }
.clube-tipo input:focus-visible + span { outline: 2px solid var(--primaria); outline-offset: 2px; }
.clube-form-icone { width: 72px; height: 72px; border-radius: 16px; object-fit: cover; display: block; margin-bottom: .5em; }

.clube-convidar { padding: 1em 1.1em; }
.clube-convidar .flex { max-width: 520px; }
.clube-lista-membros { list-style: none; margin: 0; padding: 0; }
.clube-lista-membros li { display: flex; align-items: center; gap: .7em; flex-wrap: wrap; padding: .7em 1.1em; border-top: 1px solid var(--fundo-3); }
.clube-lista-membros li:first-child { border-top: 0; }
.clube-lista-membros__nome { flex: 1 1 220px; min-width: 0; }
.clube-lista-membros__acoes { display: flex; gap: .2em; flex-wrap: wrap; }
.selo--lider { background: color-mix(in srgb, #eab308 22%, var(--fundo-caixa)); }
.selo--moderador { background: color-mix(in srgb, #22c55e 20%, var(--fundo-caixa)); }
.selo--pedido, .selo--convidado { background: color-mix(in srgb, var(--primaria) 15%, var(--fundo-caixa)); }
.selo--banido { background: color-mix(in srgb, #ef4444 20%, var(--fundo-caixa)); }
@media (prefers-reduced-motion: reduce) { .clube-atividade li { animation: none; } }

/* ---------- Calendário (0.29.0) ---------- */
.cal-colunas { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1em; align-items: start; }
.cal-colunas > .caixa { margin: 0; }
@media (max-width: 960px) { .cal-colunas { grid-template-columns: 1fr; } }
.cal-mes { padding: 0; overflow: hidden; }
.cal-mes__topo { display: flex; align-items: center; gap: .6em; padding: .9em 1.1em; border-bottom: 1px solid var(--fundo-3); }
.cal-mes__topo h2 { margin: 0 .3em; font-size: 1.15em; font-weight: 700; color: var(--cor-forte); min-width: 10em; text-align: center; }
.cal-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.cal-grade__semana { padding: .5em; font-size: .78em; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; text-align: center; opacity: .7; border-bottom: 1px solid var(--fundo-3); }
.cal-dia { position: relative; min-height: 92px; padding: .35em .35em .5em; border-right: 1px solid var(--fundo-3); border-bottom: 1px solid var(--fundo-3); display: flex; flex-direction: column; gap: .2em; min-width: 0; }
.cal-dia:nth-child(7n) { border-right: 0; }
.cal-dia--fora { background: color-mix(in srgb, var(--fundo-2) 60%, transparent); }
.cal-dia--fora .cal-dia__numero { opacity: .45; }
.cal-dia__numero { align-self: flex-end; display: grid; place-items: center; min-width: 1.8em; height: 1.8em; border-radius: 999px; font-size: .85em; font-weight: 600; }
.cal-dia--hoje .cal-dia__numero { background: var(--primaria); color: #fff; box-shadow: 0 4px 12px -6px var(--primaria); }
.cal-evento { display: block; padding: .15em .45em; border-radius: 6px; font-size: .78em; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  color: var(--cor-forte); background: color-mix(in srgb, var(--cal, var(--primaria)) 16%, var(--fundo-caixa)); border-left: 3px solid var(--cal, var(--primaria)); transition: transform .15s ease, background .15s ease; }
.cal-evento:hover { transform: translateX(2px); background: color-mix(in srgb, var(--cal, var(--primaria)) 26%, var(--fundo-caixa)); color: var(--cor-forte); }
.cal-dia__mais { font-size: .75em; opacity: .7; padding-left: .3em; }
@media (max-width: 640px) {
  .cal-dia { min-height: 54px; padding: .2em; }
  .cal-evento { font-size: 0; padding: 0; width: 7px; height: 7px; margin: 1px; border: 0; border-radius: 50%; background: var(--cal, var(--primaria)); display: inline-block; }
  .cal-dia { display: block; }
  .cal-dia__numero { float: right; margin: 0 0 2px 2px; }
  .cal-evento b { display: none; }
  .cal-dia__mais { font-size: .65em; }
}
.cal-lista { list-style: none; margin: 0; padding: .3em 0; }
.cal-lista__item { display: flex; align-items: center; gap: .8em; padding: .55em 1.1em; color: inherit; transition: background .15s ease; }
.cal-lista__item:hover { background: var(--fundo-2); color: inherit; }
.cal-lista__item > span:last-child { display: grid; gap: .1em; min-width: 0; }
.cal-lista__item strong { color: var(--cor-forte); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cal-lista__data, .evento__data { display: grid; place-items: center; flex: none; width: 3.1em; padding: .3em 0; border-radius: 10px; font-size: .78em; text-transform: uppercase; font-weight: 700;
  color: #fff; background: var(--cal, var(--primaria)); line-height: 1.1; }
.cal-lista__data b, .evento__data b { font-size: 1.6em; }
.evento { padding: 0; overflow: hidden; }
.evento__topo { display: flex; align-items: center; gap: 1em; padding: 1.3em 1.4em; flex-wrap: wrap; border-bottom: 1px solid var(--fundo-3); }
.evento__data { width: 4.2em; font-size: .95em; box-shadow: 0 8px 20px -10px var(--cal, var(--primaria)); }
.evento__titulo { flex: 1 1 240px; min-width: 0; }
.evento__titulo h1 { margin: 0; font-size: clamp(1.35em, 3.4vw, 1.8em); font-weight: 800; line-height: 1.15; color: var(--cor-forte); }
.evento__titulo p { margin: .25em 0 0; }
.evento__corpo { display: grid; gap: 1em; padding: 1.2em 1.4em; }
.evento__dados { list-style: none; margin: 0; padding: 0; display: grid; gap: .7em; }
.evento__dados li { display: flex; gap: .8em; }
.evento__dados li > i { width: 1.2em; margin-top: .2em; color: var(--primaria); text-align: center; }
.evento__dados li > div { display: grid; gap: .15em; min-width: 0; overflow-wrap: anywhere; }
.evento__presenca { padding: 1.2em 1.4em 1.4em; border-top: 1px solid var(--fundo-3); background: color-mix(in srgb, var(--fundo-2) 55%, transparent); }
.evento__presenca h2 { margin: 0 0 .7em; font-size: 1.05em; font-weight: 700; color: var(--cor-forte); }
.evento__responder { display: flex; align-items: center; gap: .45em; flex-wrap: wrap; }
.evento__rostos { padding: .2em 0 0; }
.cal-quando { flex-wrap: wrap; gap: .8em; }
.cal-quando label { display: grid; gap: .25em; }

/* ---------- Galeria (0.30.0) ---------- */
.gal-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .6em; }
.gal-item { position: relative; display: block; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: var(--fundo-2); color: #fff; }
.gal-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.gal-item:hover img { transform: scale(1.06); }
.gal-item__sem { display: grid; place-items: center; height: 100%; font-size: 2em; opacity: .5; color: var(--cor-texto); }
.gal-item__play { position: absolute; inset: 0; display: grid; place-items: center; font-size: 1.8em; text-shadow: 0 4px 16px hsl(0 0% 0% / .6); pointer-events: none; }
.gal-item__info { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; gap: .5em; padding: 1.6em .6em .45em; font-size: .8em; font-weight: 600;
  background: linear-gradient(transparent, hsl(0 0% 0% / .72)); opacity: 0; transform: translateY(6px); transition: opacity .25s ease, transform .25s ease; }
.gal-item__info > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gal-item:hover .gal-item__info, .gal-item:focus-visible .gal-item__info { opacity: 1; transform: none; }
.gal-item__numeros { flex: none; opacity: .9; }
@media (hover: none) { .gal-item__info { opacity: 1; transform: none; } }

.gal-semana { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); padding: 0; overflow: hidden; color: inherit; margin-bottom: 1.2em; }
.gal-semana:hover { color: inherit; }
.gal-semana__imagem { display: block; aspect-ratio: 16 / 10; background: var(--fundo-2); overflow: hidden; }
.gal-semana__imagem img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.gal-semana:hover .gal-semana__imagem img { transform: scale(1.04); }
.gal-semana__texto { display: grid; align-content: center; gap: .4em; padding: 1.4em 1.6em; }
.gal-semana__texto strong { font-size: 1.4em; color: var(--cor-forte); line-height: 1.2; }
.gal-semana__selo { justify-self: start; padding: .25em .8em; border-radius: 999px; font-size: .8em; font-weight: 700; color: #3b2a00; background: linear-gradient(135deg, #facc15, #f59e0b); }
@media (max-width: 700px) { .gal-semana { grid-template-columns: 1fr; } }

.gal-categorias { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .7em; margin-bottom: 1em; }
.gal-categorias > .caixa { margin: 0; }
.gal-categoria { display: flex; align-items: center; gap: .8em; padding: 1em 1.1em; color: inherit; transition: transform .2s ease; }
.gal-categoria:hover { transform: translateY(-2px); color: inherit; }
.gal-categoria > i { font-size: 1.5em; color: var(--primaria); }
.gal-categoria > span { display: grid; }
.gal-categoria strong { color: var(--cor-forte); }

.gal-albuns { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .8em; }
.gal-albuns > .caixa { margin: 0; }
.gal-album { display: flex; flex-direction: column; padding: 0; overflow: hidden; color: inherit; transition: transform .2s ease; }
.gal-album:hover { transform: translateY(-3px); color: inherit; }
.gal-album__capa { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; background: var(--fundo-2); font-size: 2em; color: var(--primaria); overflow: hidden; }
.gal-album__capa img { width: 100%; height: 100%; object-fit: cover; }
.gal-album__privado { position: absolute; top: .5em; right: .5em; font-size: .45em; padding: .4em .6em; border-radius: 999px; color: #fff; background: hsl(0 0% 0% / .55); }
.gal-album__texto { display: grid; gap: .15em; padding: .7em .9em .9em; }
.gal-album__texto strong { color: var(--cor-forte); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.gal-foto { padding: 0; overflow: hidden; }
.gal-foto__palco { position: relative; display: grid; place-items: center; padding: 1em; min-height: 240px; background: #0b0d12; }
.gal-foto__figura { position: relative; margin: 0; line-height: 0; max-width: 100%; }
.gal-foto__figura img { max-width: 100%; max-height: 78vh; width: auto; height: auto; border-radius: 6px; }
.gal-foto__figura--anotando { cursor: crosshair; }
.gal-foto__video { width: 100%; max-width: 960px; }
.gal-foto__navegar { position: absolute; top: 50%; z-index: 2; display: grid; place-items: center; width: 2.6em; height: 2.6em; margin-top: -1.3em; border-radius: 50%;
  color: #fff; background: hsl(0 0% 100% / .14); backdrop-filter: blur(6px); transition: background .2s ease, transform .2s ease; }
.gal-foto__navegar:hover { background: hsl(0 0% 100% / .28); color: #fff; transform: scale(1.08); }
.gal-foto__navegar--anterior { left: .8em; }
.gal-foto__navegar--proxima { right: .8em; }
.gal-nota { position: absolute; z-index: 1; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; border: 2px solid #fff; background: var(--primaria); box-shadow: 0 0 0 4px hsl(0 0% 0% / .25); cursor: help; line-height: 1.3; }
.gal-nota:not([data-posicionada]) { display: none; }
.gal-nota__texto { position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%) translateY(4px); width: max-content; max-width: 240px; padding: .45em .7em; border-radius: 8px;
  font-size: .85rem; color: #fff; background: hsl(0 0% 0% / .85); opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.gal-nota:hover .gal-nota__texto, .gal-nota:focus .gal-nota__texto { opacity: 1; transform: translateX(-50%); }
.gal-nota--nova { background: #f59e0b; animation: gal-pulsa 1.2s ease-in-out infinite; }
@keyframes gal-pulsa { 50% { box-shadow: 0 0 0 9px hsl(38 92% 50% / .25); } }
.gal-foto__corpo { display: grid; gap: .9em; padding: 1.2em 1.4em; }
.gal-foto__topo { display: flex; align-items: flex-start; gap: 1em; justify-content: space-between; flex-wrap: wrap; }
.gal-foto__topo h1 { margin: 0; font-size: clamp(1.3em, 3vw, 1.7em); font-weight: 800; color: var(--cor-forte); }
.gal-foto__topo p { margin: .3em 0 0; }
.gal-foto__barra { display: flex; align-items: center; gap: 1em; flex-wrap: wrap; justify-content: space-between; }
.gal-estrelas { display: flex; align-items: center; gap: .6em; }
.gal-estrelas__media { font-weight: 700; color: #f59e0b; }
.gal-estrelas__votar { display: flex; }
.gal-estrelas__votar button { border: 0; background: none; padding: .1em; font-size: 1.1em; color: var(--borda-caixa, #cbd5e1); cursor: pointer; transition: transform .15s ease, color .15s ease; }
.gal-estrelas__votar button.marcada, .gal-estrelas__votar:hover button { color: #f59e0b; }
.gal-estrelas__votar button:hover ~ button:not(.gal-estrelas__tirar) { color: var(--borda-caixa, #cbd5e1); }
.gal-estrelas__votar button:hover { transform: scale(1.2); }
.gal-estrelas__tirar { font-size: .8em !important; }
.gal-notas-lista summary { cursor: pointer; font-weight: 600; }
.gal-notas-lista ul { margin: .6em 0; padding-left: 1.2em; }
.gal-nova-nota { display: grid; gap: .4em; margin-top: .5em; }
.gal-foto__comentarios { padding: 1.2em 1.4em 1.4em; border-top: 1px solid var(--fundo-3); }
.gal-foto__comentarios h2 { margin: 0 0 .8em; font-size: 1.05em; font-weight: 700; color: var(--cor-forte); }
.gal-comentario { display: flex; gap: .7em; padding: .7em 0; border-top: 1px solid var(--fundo-3); }
.gal-comentario:first-of-type { border-top: 0; }
.gal-comentario > div { min-width: 0; flex: 1; }
.gal-comentario p { margin: 0 0 .3em; }
.gal-comentario--oculto { opacity: .55; }
.gal-comentar { margin-top: .8em; }
.bloco-gal-semana { position: relative; display: block; overflow: hidden; color: #fff; border-radius: 0 0 var(--raio-design, 10px) var(--raio-design, 10px); }
.bloco-gal-semana img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .5s ease; }
.bloco-gal-semana:hover img { transform: scale(1.05); }
.bloco-gal-semana span { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.4em .9em .7em; font-weight: 700; background: linear-gradient(transparent, hsl(0 0% 0% / .75)); }
.bloco-gal-semana span i { color: #facc15; }
.bloco-gal-semana:hover { color: #fff; }
@media (prefers-reduced-motion: reduce) { .gal-item img, .gal-semana__imagem img, .bloco-gal-semana img, .gal-nota--nova { transition: none; animation: none; } }

/* ---------- Privacidade (0.31.0) ---------- */
.perfil__antes { margin: .1em 0 .3em; font-size: .85em; opacity: .75; }

/* ---------- 0.33.0: pasta do Páginas sem página própria ---------- */
.pasta-paginas__titulo { display: flex; align-items: center; gap: .5em; font-size: 1.5rem; margin-bottom: .8em; }
.pasta-paginas__lista { list-style: none; padding: 0; margin: 0 0 1em; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: .6em; }
.pasta-paginas__lista li { display: grid; gap: .2em; padding: .8em 1em; border: 1px solid var(--fundo-4); border-radius: var(--raio-design); background: var(--fundo-2); }
.pasta-paginas__lista a { font-weight: 600; display: flex; gap: .5em; align-items: center; }
/* 0.33.0: foto de perfil nunca encolhe ao lado de um texto comprido (ex.: "Últimas doações" com mensagem longa). */
.link-avatar, a > .avatar, li > .avatar, .flex > .avatar { flex-shrink: 0; }
/* 0.33.0: carrossel sem a barra de rolagem cinza embaixo (as setas do bloco já fazem o papel dela; no celular é só arrastar). */
.feed--carrossel { scrollbar-width: none; }
.feed--carrossel::-webkit-scrollbar { display: none; }

/* ---------- Mega Menu (0.34.0, como o tema Extra) ---------- */
.cabecalho__primario > .largura { position: relative; }
.navegacao__mega { position: static; }
.menu.mega {
  left: 0; right: 0; top: calc(100% - .2em); width: auto; min-width: 0; max-width: none; padding: 0; z-index: 40;
  grid-template-columns: minmax(200px, 240px) minmax(0, 1fr); align-items: stretch; overflow: hidden;
  border: 1px solid var(--fundo-4); animation: mega-abre .2s cubic-bezier(.2, .7, .3, 1);
}
.menu.mega.aberto { display: grid; }
.menu.mega--com-destaque { grid-template-columns: minmax(200px, 240px) minmax(0, 1fr) minmax(200px, 250px); }
.menu.mega--so-links { grid-template-columns: 1fr; }
.menu.mega--so-links.mega--com-destaque { grid-template-columns: minmax(0, 1fr) minmax(200px, 250px); }
@keyframes mega-abre { from { opacity: 0; transform: translateY(-8px) scale(.99); } }
.mega__lista { display: flex; flex-direction: column; gap: .15em; padding: .9em .7em; background: var(--fundo-2); border-right: 1px solid var(--fundo-3); overflow-y: auto; max-height: min(70vh, 520px); }
.mega--so-links .mega__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); background: none; border: 0; padding: 1em; }
.mega__item { white-space: normal; line-height: 1.3; }
.mega__item > span { flex: 1 1 auto; }
.mega__item--titulo { font-weight: 700; color: var(--cor-forte); margin-bottom: .3em; flex-wrap: wrap; }
.mega__ver-tudo { margin-left: auto; font-size: .78em; font-weight: 600; color: var(--primaria); display: inline-flex; gap: .3em; align-items: center; }
.mega__seta { margin-left: auto; opacity: .45 !important; transition: transform .2s ease, opacity .2s ease; }
.mega__item--atual { background: var(--fundo-caixa); color: var(--cor-forte); box-shadow: var(--sombra-caixa); }
.mega__item--atual .mega__seta { opacity: 1 !important; transform: translateX(3px); color: var(--primaria); }
.mega__conteudo { padding: 1.1em 1.2em; min-height: 260px; min-width: 0; transition: opacity .2s ease; }
.mega__conteudo--carregando > :not(.mega__carregando) { opacity: .45; }
.mega__conteudo .bloco-pagina { margin: 0; border: 0; box-shadow: none; background: none; padding: 0; }
.mega__conteudo .bloco__cabecalho { display: none; }
.mega__conteudo .feed--grade, .mega__conteudo .feed--mini_grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1em; padding: 0; }
.mega__conteudo .feed--mini_grade { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1150px) { .mega__conteudo .feed--grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } .mega__conteudo .feed--grade > li:nth-child(n+4) { display: none; } }
.mega__conteudo .feed--grade .feed__item { border: 0; background: none; border-radius: 0; transition: transform .2s ease; }
.mega__conteudo .feed--grade .feed__item:hover { transform: translateY(-2px); }
.mega__conteudo .feed--grade .feed__imagem { border-radius: var(--raio-design); overflow: hidden; }
.mega__conteudo .feed--grade .feed__imagem img { transition: transform .35s ease; }
.mega__conteudo .feed--grade .feed__item:hover .feed__imagem img { transform: scale(1.05); }
.mega__conteudo .feed--grade .feed__corpo { padding: .55em .1em 0; }
.mega__conteudo .feed--grade .feed__titulo { font-size: .95em; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mega__conteudo .feed--grade .feed__resumo, .mega__conteudo .feed--grade .feed__numeros, .mega__conteudo .feed--grade .feed__meta .avatar { display: none; }
.mega__conteudo .feed--grade .feed__meta { font-size: .78em; }
.mega__vazio { padding: 2em 0; text-align: center; }
.mega__carregando { display: grid; grid-template-columns: repeat(4, 1fr); gap: .9em; }
.mega__carregando span { display: block; aspect-ratio: 4 / 3; border-radius: var(--raio-design); background: linear-gradient(90deg, var(--fundo-3), var(--fundo-2), var(--fundo-3)); background-size: 200% 100%; animation: mega-brilho 1.2s ease-in-out infinite; }
@keyframes mega-brilho { to { background-position: -200% 0; } }
.mega__destaque { display: flex; flex-direction: column; gap: .5em; padding: 1em; margin: .8em .8em .8em 0; border-radius: var(--raio-design); background: var(--fundo-2); color: var(--cor-texto); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.mega--so-links .mega__destaque { margin: .8em; }
.mega__destaque:hover { transform: translateY(-2px); box-shadow: var(--sombra-caixa); color: var(--cor-texto); }
.mega__destaque img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: calc(var(--raio-design) - 2px); }
.mega__destaque-icone { display: grid; place-items: center; aspect-ratio: 16 / 10; border-radius: calc(var(--raio-design) - 2px); font-size: 2.2em; color: var(--texto-sobre-primaria); background: linear-gradient(135deg, var(--primaria), var(--secundaria)); }
.mega__destaque strong { font-size: 1.05em; color: var(--cor-forte); }
.mega__destaque > span:not([class]) { font-size: .88em; color: var(--cor-suave); }
.mega__destaque .botao { align-self: flex-start; margin-top: auto; }
@media (max-width: 1100px) { .menu.mega--com-destaque { grid-template-columns: minmax(190px, 220px) minmax(0, 1fr); } .mega__destaque { display: none; } }
@media (prefers-reduced-motion: reduce) { .menu.mega, .mega__carregando span { animation: none; } .mega__conteudo .feed--grade .feed__item, .mega__conteudo .feed--grade .feed__imagem img { transition: none; } }

/* ---------- Notícias e entradas no estilo revista (0.34.0, inspirado no tema Extra) ---------- */
.blog-entrada--revista { padding: clamp(1.2em, 3vw, 2.4em) clamp(1em, 4vw, 3em) 1.5em; }
.revista__topo { max-width: 860px; margin: 0 auto; text-align: center; display: grid; justify-items: center; gap: .8em; }
.revista__categoria { display: inline-block; padding: .35em .9em; border-radius: 999px; font-size: .75em; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #fff; text-decoration: none; transition: filter .2s ease, transform .2s ease; }
.revista__categoria:hover { color: #fff; filter: brightness(1.1); transform: translateY(-1px); }
.revista__titulo { font-size: clamp(1.7rem, 3.6vw, 2.75rem); line-height: 1.15; font-weight: 800; letter-spacing: -.01em; color: var(--cor-forte); margin: 0; text-wrap: balance; }
.revista__titulo .selo-icone { font-size: .45em; vertical-align: middle; margin-right: .4em; }
.revista__meta { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .4em 1.1em; font-size: .88em; color: var(--cor-suave); }
.revista__meta > * { display: inline-flex; align-items: center; gap: .4em; }
.revista__meta a { color: inherit; }
.revista__meta a:hover { color: var(--cor-forte); }
.revista__autor .avatar { --tam: 26px; }
.revista__autor a { font-weight: 700; }
.revista__acoes:empty { display: none; }
.revista__capa { margin: 1.5em calc(-1 * clamp(1em, 4vw, 3em)) 0; }
.revista__capa img { display: block; width: 100%; max-height: 560px; object-fit: cover; }
.revista__tags { display: flex; justify-content: center; margin-top: 1em; }
.blog-entrada--revista .blog-entrada__conteudo { max-width: 760px; margin: 1.8em auto 0; font-size: 1.06em; line-height: 1.8; }
.blog-entrada--revista .blog-entrada__conteudo .texto-rico--capitular > p:first-child::first-letter { float: left; font-size: 3.4em; line-height: .85; font-weight: 800; margin: .08em .1em 0 0; color: var(--primaria); }
.blog-entrada--revista .blog-entrada__rodape { max-width: 760px; margin-inline: auto; }
.revista__fim { padding: 1.5em clamp(1em, 4vw, 3em); display: grid; gap: 1.6em; margin-bottom: var(--esp-bloco); }
.revista__rotulo { font-size: .72em; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--cor-suave); }
.revista__compartilhar { display: flex; flex-wrap: wrap; align-items: center; gap: .5em; justify-content: center; }
.revista__compartilhar .revista__rotulo { margin-right: .4em; }
.revista__rede { display: inline-grid; place-items: center; width: 2.6em; height: 2.6em; border-radius: 50%; border: 0; cursor: pointer; color: #fff; font-size: 1em; text-decoration: none; transition: transform .2s ease, filter .2s ease; }
.revista__rede:hover { color: #fff; transform: translateY(-2px) scale(1.06); filter: brightness(1.08); }
.revista__rede--whatsapp { background: #25d366; } .revista__rede--x { background: #111; } .revista__rede--facebook { background: #1877f2; }
.revista__rede--telegram { background: #229ed9; } .revista__rede--reddit { background: #ff4500; } .revista__rede--link { background: var(--secundaria); color: var(--texto-sobre-secundaria); }
.revista__autor-caixa { display: grid; grid-template-columns: auto 1fr; gap: 1.2em; align-items: center; padding: 1.2em; border-radius: var(--raio-design); background: var(--fundo-2); border: 1px solid var(--fundo-3); }
.revista__autor-foto .avatar { --tam: 84px; }
.revista__autor-nome { font-size: 1.25em; margin: .1em 0 .2em; }
.revista__autor-sobre { margin: .5em 0 .8em; color: var(--cor-texto); }
.revista__secao { font-size: 1.1em; margin: 0 0 .8em; display: flex; align-items: center; gap: .6em; }
.revista__secao::after { content: ""; flex: 1 1 auto; height: 2px; background: var(--fundo-3); }
.revista__cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 1em; }
.revista__cartao { display: grid; gap: .45em; color: var(--cor-texto); text-decoration: none; }
.revista__cartao strong { color: var(--cor-forte); line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.revista__cartao:hover strong { color: var(--primaria); }
.revista__cartao-imagem { display: grid; place-items: center; aspect-ratio: 16 / 9; border-radius: var(--raio-design); overflow: hidden; color: #fff; font-size: 1.8em; }
.revista__cartao-imagem img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.revista__cartao:hover .revista__cartao-imagem img { transform: scale(1.05); }
.blog-entrada--revista + .revista__fim + .blog-paginador, .revista__fim + .blog-paginador { margin-top: 0; }
@media (max-width: 600px) {
  .revista__autor-caixa { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .blog-entrada--revista .blog-entrada__conteudo .texto-rico--capitular > p:first-child::first-letter { font-size: 2.6em; }
}
@media (prefers-reduced-motion: reduce) { .revista__rede, .revista__cartao-imagem img, .revista__categoria { transition: none; } }

/* 0.37.0: faixa de prévia de uma página em rascunho */
.pagina-previa { display: flex; flex-wrap: wrap; align-items: center; gap: .6em 1em; padding: .9em 1.2em; border: 1px dashed color-mix(in srgb, var(--alerta) 60%, transparent); background: color-mix(in srgb, var(--alerta) 8%, var(--fundo-caixa)); }
.pagina-previa > i { font-size: 1.3em; color: var(--alerta); }
.pagina-previa > div:first-of-type { display: grid; gap: .15em; flex: 1 1 260px; }

/* 0.38.0: rodapé com links próprios e redes sociais; comentários dos eventos */
.rodape__links--proprios { margin-top: .4em; }
.rodape__redes { list-style: none; display: flex; flex-wrap: wrap; gap: .5em; margin: .8em 0 0; padding: 0; }
.rodape__rede { display: inline-grid; place-items: center; width: 2.3em; height: 2.3em; border-radius: 50%; color: inherit; background: color-mix(in srgb, currentColor 12%, transparent); transition: transform .2s ease, background-color .2s ease; }
.rodape__rede:hover { color: #fff; transform: translateY(-2px); background: var(--primaria); }
.rodape__rede--discord:hover { background: #5865f2; } .rodape__rede--youtube:hover { background: #ff0000; } .rodape__rede--x:hover { background: #000; }
.rodape__rede--instagram:hover { background: #e1306c; } .rodape__rede--tiktok:hover { background: #111; } .rodape__rede--facebook:hover { background: #1877f2; }
.rodape__rede--twitch:hover { background: #9146ff; } .rodape__rede--bluesky:hover { background: #0085ff; } .rodape__rede--github:hover { background: #24292f; }
.evento__comentarios { margin-top: var(--esp-bloco); }

/* ===================== 0.40.0 ===================== */
/* Menu da conta (topo e gaveta do celular): cartão com a foto, seções e rodapé com dois botões */
.menu-conta { min-width: 270px; }
.menu-conta__topo { display: flex; align-items: center; gap: .75em; padding: .6em .7em .7em; margin-bottom: .2em; border-radius: calc(var(--raio-design) - 2px);
  color: var(--cor-forte); text-decoration: none; }
.menu-conta__topo:hover { background: var(--fundo-hover); color: var(--cor-forte); }
.menu-conta__quem { display: grid; line-height: 1.3; min-width: 0; }
.menu-conta__quem strong { font-size: 1.02em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.menu-conta__quem span { font-size: .8em; color: var(--cor-suave); }
.menu-conta__item span { display: grid; line-height: 1.25; }
.menu-conta__item small { font-size: .78em; color: var(--cor-suave); font-weight: 400; }
.menu-conta__rodape { display: grid; grid-template-columns: 1fr 1fr; gap: .3em; }
.menu-conta__rodape form button { justify-content: center; width: 100%; font-size: .88em; }
.painel-movel__gaveta .menu-conta__topo { padding: .4em .2em .8em; }
.painel-movel__gaveta .menu__titulo { padding: .9em 1em .2em; }

/* Comentário ou resposta que acabou de entrar (sem recarregar a página): um brilho que some devagar */
.ao-vivo-novo { animation: ao-vivo-brilho 2.6s ease-out; }
@keyframes ao-vivo-brilho {
  0%, 25% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--primaria) 45%, transparent); }
  100% { box-shadow: 0 0 0 3px transparent; }
}
@media (prefers-reduced-motion: reduce) { .ao-vivo-novo { animation: none; } }
form[data-enviando-ao-vivo] { opacity: .75; transition: opacity .2s; }

/* Central de ajuda */
.ajuda-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 1em; }
.ajuda-cartao { display: grid; gap: .45em; align-content: start; padding: 1.2em; color: var(--cor-forte); text-decoration: none; transition: transform .15s, border-color .15s; }
.ajuda-cartao:hover { transform: translateY(-2px); border-color: var(--primaria); color: var(--cor-forte); }
.ajuda-cartao__icone { display: grid; place-items: center; width: 2.6em; height: 2.6em; border-radius: 12px; font-size: 1.15em;
  color: var(--texto-sobre-primaria, #fff); background: linear-gradient(135deg, var(--primaria), var(--secundaria, var(--primaria))); }
.ajuda-texto .texto-rico h2 { margin-top: 1.4em; }
.ajuda-texto .texto-rico h2:first-child { margin-top: 0; }
.ajuda-emoticons { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6em; padding: 1em 1.2em 1.2em; }
.ajuda-emoticons__item { display: grid; justify-items: center; gap: .25em; padding: .7em .4em; border: 1px solid var(--fundo-4); border-radius: 8px; text-align: center; }
.ajuda-emoticons__item img { max-height: 40px; width: auto; }

/* Novo aceite das regras / da privacidade */
.aceitar-termos { max-width: 560px; margin: 2em auto; text-align: center; }
.aceitar-termos h1 { font-size: 1.45em; margin: .3em 0 .5em; }
.aceitar-termos__icone { font-size: 2.4em; color: var(--cor-primaria-texto); margin: 0; }
.aceitar-termos__links { display: grid; gap: .5em; margin: 1.2em 0; }
.aceitar-termos__links a { display: flex; justify-content: center; align-items: center; gap: .5em; padding: .7em 1em; border: 1px solid var(--fundo-4); border-radius: 8px; font-weight: 600; }

/* ===================== 0.41.0 — Publicidade ===================== */
.publicidade { display: grid; justify-items: center; gap: .3em; margin: 1.2em auto; max-width: 100%; overflow: hidden; text-align: center; }
.publicidade__rotulo { font-size: .68em; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--cor-suave); }
.publicidade__google { display: block; width: 100%; }
.publicidade__google--artigo { text-align: center; }
/* O Google avisa quando não tem anúncio para mostrar: aí o espaço some (sem buraco na página). */
.publicidade:has(ins[data-ad-status="unfilled"]) { display: none; }
.publicidade__banner { display: inline-block; max-width: 100%; line-height: 0; }
.publicidade__banner img { max-width: 100%; height: auto; border-radius: 6px; }
.publicidade__banner:focus-visible { outline: 2px solid var(--primaria); outline-offset: 3px; }
.publicidade__quadro { display: block; max-width: 100%; border: 0; background: transparent; }
.publicidade--faixa { margin: 1em auto; }
.publicidade--post { margin: 0 auto 1.2em; }
.publicidade--artigo { margin: 1.4em auto; }
.publicidade--lista { grid-column: 1 / -1; margin: .2em auto; }
.publicidade--bloco { margin: 0; padding: .8em; }
.dados__publicidade { list-style: none; border-top: 1px solid var(--fundo-4); padding: .4em 1em; }
.dados__publicidade .publicidade { margin: .4em auto; }
.publicidade--so-celular { display: none; }
@media (max-width: 700px) {
  .publicidade--so-computador { display: none; }
  .publicidade--so-celular { display: grid; }
}
.faixa-cookies__botoes { display: flex; gap: .5em; flex-wrap: wrap; }

/* 1.0.3: lista simples que algumas telas do site usam (assinaturas, doações, compras, registro de banco de dados);
   antes o estilo só existia no painel e a lista aparecia crua no site. */
.lista-painel { list-style: none; margin: 0; padding: 0; }
.lista-painel li { display: flex; flex-wrap: wrap; gap: .4em .8em; align-items: center; padding: .75em 1.2em; border-top: 1px solid var(--fundo-3); }
.lista-painel li:first-child { border-top: 0; }

/* Foto de perfil (1.0.6): "Alterar foto" sobre a foto no próprio perfil e a janela com prévia, posição e zoom. */
.perfil__foto-trocar {
  position: absolute; inset: 5px; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3em;
  border-radius: var(--raio-avatar); background: hsl(0 0% 0% / .55); color: #fff; font-weight: 600; font-size: .85em; text-align: center;
  opacity: 0; transition: opacity .18s; text-decoration: none;
}
.perfil__foto-trocar i { font-size: 1.5em; }
.perfil__foto--minha:hover .perfil__foto-trocar, .perfil__foto-trocar:focus-visible { opacity: 1; color: #fff; }
@media (hover: none) { /* celular: um botão de câmera sempre à vista, no canto de cima */
  .perfil__foto-trocar { inset: auto; top: 2%; right: 2%; width: 36px; height: 36px; border-radius: 50%; opacity: 1; background: var(--primaria); box-shadow: 0 0 0 3px var(--fundo-caixa); }
  .perfil__foto-trocar span { display: none; }
  .perfil__foto-trocar i { font-size: 1em; }
}
.editor-foto { margin: auto; width: min(700px, calc(100vw - 1.5em)); max-height: calc(100vh - 2em); padding: 0; border: 1px solid var(--borda-caixa); border-radius: var(--raio-design);
  background: var(--fundo-caixa); color: var(--cor-texto); box-shadow: 0 24px 60px hsl(0 0% 0% / .35); overflow: auto; }
.editor-foto::backdrop { background: hsl(220 30% 8% / .6); }
.editor-foto--soltar { outline: 3px dashed var(--primaria); outline-offset: -8px; }
.editor-foto__form { display: grid; }
.editor-foto__topo { display: flex; align-items: center; justify-content: space-between; padding: .9em 1.2em; border-bottom: 1px solid var(--borda-caixa); }
.editor-foto__topo h2 { margin: 0; font-size: 1.1em; color: var(--cor-forte); }
.editor-foto__topo h2 i { color: var(--primaria); margin-right: .3em; }
.editor-foto__fechar { border: 0; background: none; width: 2.2em; height: 2.2em; border-radius: 50%; color: var(--cor-suave); cursor: pointer; font-size: 1.05em; }
.editor-foto__fechar:hover { background: var(--fundo-hover); color: var(--cor-forte); }
.editor-foto__escolher { display: grid; justify-items: center; gap: .7em; text-align: center; padding: 2em 1.2em; margin: 1.2em; border: 2px dashed var(--borda-caixa); border-radius: var(--raio-design); }
.editor-foto__escolher p { margin: 0; }
.editor-foto__chamada { color: var(--cor-forte); line-height: 1.5; }
.editor-foto__ajustar { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.4em; align-items: start; padding: 1.2em; }
.editor-foto[data-etapa="escolher"] .editor-foto__ajustar, .editor-foto[data-etapa="ajustar"] .editor-foto__escolher { display: none; }
.editor-foto__palco {
  position: relative; width: min(320px, calc(100vw - 4.5em)); aspect-ratio: 1; overflow: hidden; border-radius: 12px; cursor: grab; touch-action: none;
  background: repeating-conic-gradient(var(--fundo-3) 0 25%, var(--fundo-2) 0 50%) 0 0 / 20px 20px; outline: none;
}
.editor-foto__palco--arrastando { cursor: grabbing; }
.editor-foto__palco:focus-visible { box-shadow: 0 0 0 3px var(--primaria); }
.editor-foto__palco::after { /* a área que vira a foto: o resto escurece */
  content: ""; position: absolute; inset: 0; border-radius: var(--raio-avatar); pointer-events: none;
  box-shadow: 0 0 0 9999px hsl(0 0% 0% / .5), inset 0 0 0 2px hsl(0 0% 100% / .85);
}
.editor-foto__imagem { position: absolute; top: 0; left: 0; max-width: none; transform-origin: 0 0; user-select: none; pointer-events: none; }
.editor-foto__lado { display: grid; gap: 1em; align-content: start; }
.editor-foto__dica { margin: 0; color: var(--cor-suave); font-size: .92em; line-height: 1.5; }
.editor-foto__dica i { color: var(--primaria); margin-right: .3em; }
.editor-foto__zoom { display: flex; align-items: center; gap: .6em; color: var(--cor-suave); }
.editor-foto__zoom input { flex: 1 1 auto; accent-color: var(--primaria); }
.editor-foto__previas { display: flex; align-items: flex-end; gap: 1.2em; flex-wrap: wrap; }
.editor-foto__previas figure { margin: 0; display: grid; justify-items: center; gap: .3em; }
.editor-foto__previas canvas { border-radius: var(--raio-avatar); background: var(--fundo-3); box-shadow: 0 0 0 1px var(--borda-caixa); }
.editor-foto__previas figcaption { font-size: .78em; color: var(--cor-suave); }
.editor-foto__lado .botao { justify-self: start; }
.editor-foto__rodape { display: flex; flex-wrap: wrap; align-items: center; gap: .5em .8em; padding: .9em 1.2em; border-top: 1px solid var(--borda-caixa); background: var(--fundo-2); }
.botao.carregando { opacity: .7; pointer-events: none; }
@media (max-width: 640px) {
  .editor-foto__ajustar { grid-template-columns: 1fr; justify-items: center; }
  .editor-foto__lado { justify-items: stretch; width: 100%; }
  .editor-foto__rodape .empurra { margin-left: 0; width: 100%; justify-content: flex-end; }
}
@media (prefers-reduced-motion: reduce) { .perfil__foto-trocar { transition: none; } }
