:root {
  --destaque: #3273dc;
  --destaque-escuro: #2464cc;
  --alinhar-logo: flex-start;
}

html { scroll-behavior: smooth; }

body {
  min-height: 100vh;
  background-color: #f0f0f0;
}

/* HERO BANNER */
.hero-banner {
  position: relative;
  width: 100%;
  height: 320px;
  background-image: url('../img/miniatura.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}
.hero-banner::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 140px;
  background: linear-gradient(to bottom, transparent, #f0f0f0);
}

header.section {
  padding-top: 0; padding-bottom: 0;
  position: absolute; top: 0; left: 0; right: 0;
  z-index: 10;
}
.logo.container { padding-top: 1.5rem; }
header > .container:last-child { padding-bottom: 1rem; }
header .navbar { background-color: var(--destaque); border-radius: 5px; }
.navbar-item, .navbar-link { color: #fff; }
.navbar-item svg, .navbar-link svg { margin-right: .25rem; }
.navbar-dropdown .navbar-item { color: #4a4a4a; }
a.navbar-item:hover, a.navbar-link:hover,
a.navbar-item.is-active, a.navbar-link.is-active,
.navbar-item.has-dropdown:hover .navbar-link,
.navbar-item.has-dropdown.is-active .navbar-link {
  background-color: rgba(0,0,0,.25); color: #fff;
}
.navbar-link:not(.is-arrowless)::after { border-color: #fff; }
.navbar-burger { color: #fff !important; }
.logo.container {
  display: flex;
  justify-content: var(--alinhar-logo);
  padding-top: 1.5rem;
  margin-bottom: 1rem;
}
.logo.container img { max-height: 100px; transition: all .2s ease-out; }
.logo.container img:hover { transform: scale(1.1) rotate(2.5deg); }

#ip textarea:not(.is-active) { display: none; }
#ip::before {
  content: 'Copiado';
  position: absolute;
  top: calc(50% - 12px); left: -90px;
  color: #fff; background-color: #48c774;
  padding: 0 .5rem; border-radius: 5px;
  opacity: 0; pointer-events: none;
  transform: translateY(2px); transition: all .25s ease;
}
#ip.is-active::before { opacity: 1; transform: translateY(0); }

main.section, footer.section { padding-top: 1.5rem; padding-bottom: 2rem; }
.article:not(:first-child) { margin-top: 1.5rem; }

.article-title {
  background-color: var(--destaque);
  font-size: 1.25rem; color: #fff;
  padding: .5rem 1rem;
  border-top-left-radius: 5px; border-top-right-radius: 5px;
}
.article-title svg { margin-right: .25rem; }

.article-content {
  background-color: #fff; padding: 1rem;
  border-bottom-left-radius: 5px; border-bottom-right-radius: 5px;
}
.article-thumbnail {
  width: 100%; height: 300px;
  background-position: center; background-repeat: no-repeat; background-size: cover;
}

article.footer {
  display: flex; flex-direction: column;
  background-color: var(--destaque); padding: 1rem;
  color: #fff; text-align: center; border-radius: 5px;
}

a.is-muted { color: inherit; font-size: .8rem; opacity: .5; }
a.is-muted:hover { opacity: 1; }

.is-spinning { animation: spin 2s infinite linear; }
@keyframes spin { 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} }

.equipe, .produtos { display: flex; flex-wrap: wrap; justify-content: space-evenly; }
.produtos li { width: 25%; text-align: center; }
.produtos li:nth-child(4n):not(:last-child) { margin-bottom: 2rem; }
.produtos img { height: 128px; }
.equipe li { width: 33.33333%; text-align: center; }
.equipe img { transition: all .2s ease; }
.equipe li:hover img { transform: translateY(-3px); }
.equipe h1, .produtos h1 { font-size: 1.5rem; line-height: 1.25; }
.equipe h2 { font-weight: 600; text-transform: uppercase; font-size: .75rem; }
.produtos h2 small { font-size: .75rem; }
.produtos .buttons { margin-top: 5px; }

.list { background-color: unset; border-radius: 0; box-shadow: none; margin: .5rem 0; }
.list svg { margin-right: 5px; color: var(--destaque); }

.button.is-primary { background-color: var(--destaque); border-color: var(--destaque); }
.button.is-primary:hover, .button.is-primary:focus, .button.is-primary:active {
  background-color: var(--destaque-escuro); border-color: var(--destaque-escuro);
}

.produto-sidebar .article-content { text-align: center; }
.produto-sidebar img { height: 128px; }
.produto-sidebar h1 { font-size: 1.5rem; }
.produto-sidebar h1 small { font-size: 1rem; }
.produto-sidebar .field { margin-top: 1rem; }
.produto-sidebar .field .control.is-fullwidth { flex-grow: 1; }

@media screen and (min-width: 1024px) {
  .navbar-start > .navbar-item:first-child:hover,
  .navbar-start > .navbar-link:first-child:hover {
    border-top-left-radius: 5px; border-bottom-left-radius: 5px;
  }
  .navbar-end > .navbar-item:last-child:hover,
  .navbar-end > .navbar-link:last-child:hover {
    border-top-right-radius: 5px; border-bottom-right-radius: 5px;
  }
  .container>.navbar .navbar-brand, .navbar>.container .navbar-brand { margin-left: 0; }
  .container>.navbar .navbar-menu, .navbar>.container .navbar-menu { margin-right: 0; }
  .equipe li:nth-child(3n):not(:last-child) { margin-bottom: 2rem; }
}

@media screen and (max-width: 1023px) {
  .logo.container { justify-content: center; }
  .navbar-menu { background: var(--destaque-escuro); border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }
  .navbar-dropdown .navbar-item { color: #fff; }
  #ip::before { left: unset; right: .5rem; }
  .article-thumbnail { height: 200px; }
}

@media screen and (max-width: 768px) {
  .equipe li { width: 50%; }
  .equipe li:nth-child(2n):not(:last-child) { margin-bottom: 2rem; }
  .produtos li { width: 100%; }
  .produtos li:not(:last-child) { margin-bottom: 2rem; }
}

/* CORES MINECRAFT */
.cor-4{color:#be0000} .cor-c{color:#fe3f3f} .cor-6{color:#d9a334} .cor-e{color:#fefe3f}
.cor-2{color:#00be00} .cor-a{color:#3ffe3f} .cor-b{color:#3ffefe} .cor-3{color:#00bebe}
.cor-1{color:#0000be} .cor-9{color:#3f3ffe} .cor-d{color:#fe3ffe} .cor-5{color:#be00be}
.cor-f{color:#fff}    .cor-7{color:#bebebe} .cor-8{color:#3f3f3f} .cor-0{color:#000}

/* =====================
   CARGOS / RANKS
   ===================== */
.cargo-membro    { color: #aaaaaa; }
.cargo-streamer  { color: #aa00aa; }
.cargo-youtuber  { color: #ff5555; }
.cargo-vip       { color: #55ff55; }
.cargo-mvp       { color: #ffaa00; }
.cargo-mvpplus   { color: #55ffff; }
.cargo-patreon   { color: #aa00aa; }
.cargo-helper    { color: #ffff55; }
.cargo-moderador { color: #00aa00; }
.cargo-admin     { color: #ff5555; }
.cargo-master    { color: #ffaa00; }

.cargo-tag {
  display: inline-block;
  font-size: .75rem; font-weight: 700;
  padding: 1px 8px; border-radius: 3px;
  background: rgba(0,0,0,.06); white-space: nowrap;
}

/* =====================
   NOTÍCIAS
   ===================== */
.noticias-wrapper { padding: 0; }
.noticia-item { border-bottom: 1px solid #eee; padding: 1rem; }
.noticia-item:last-of-type { border-bottom: none; }
.noticia-header { display: flex; align-items: center; gap: .6rem; margin-bottom: .75rem; }
.noticia-avatar { width: 32px; height: 32px; border-radius: 4px; }
.noticia-autor { display: block; font-size: .9rem; }
.noticia-data { display: block; font-size: .75rem; color: #888; }
.noticia-thumbnail {
  position: relative; width: 100%; height: 160px;
  background-position: center; background-repeat: no-repeat; background-size: cover;
  border-radius: 4px; margin-bottom: .75rem; overflow: hidden;
  display: block; text-decoration: none;
}
.noticia-titulo-banner {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,.7));
  color: #fff; font-weight: 700; font-size: 1rem; padding: .5rem .75rem;
}
.noticia-body { font-size: .9rem; color: #444; line-height: 1.6; }
.noticia-footer { margin-top: .6rem; }
.noticias-paginacao {
  display: flex; gap: .4rem; justify-content: center;
  padding: .75rem 1rem; border-top: 1px solid #eee;
}
.noticia-thumbnail-full {
  width: 100%; height: 350px;
  background-position: center; background-repeat: no-repeat; background-size: cover;
  border-radius: 4px; margin-bottom: 1.25rem;
}
.noticia-conteudo-completo p { font-size: .95rem; color: #333; line-height: 1.8; margin-bottom: .75rem; }

/* =====================
   VOTAR
   ===================== */
.votar-page { padding: 1.25rem; }
.votar-hero {
  display: flex; align-items: center; gap: 1.25rem;
  margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid #eee;
}
.votar-hero-icon {
  width: 56px; height: 56px; background: var(--destaque);
  border-radius: 12px; display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1.5rem; flex-shrink: 0;
}
.votar-hero-texto h2 { font-size: 1.15rem; font-weight: 700; margin-bottom: .35rem; }
.votar-hero-texto p { font-size: .9rem; color: #555; line-height: 1.6; }
.votar-recompensa-bar {
  display: flex; gap: 1rem;
  background: #f0f5ff; border: 1px solid #cfe0ff;
  border-radius: 8px; padding: .65rem 1rem; margin-bottom: 1.5rem; flex-wrap: wrap;
}
.votar-recompensa-bar span {
  font-size: .82rem; font-weight: 600; color: var(--destaque);
  display: flex; align-items: center; gap: .35rem;
}
.votar-links-grid { display: flex; flex-direction: column; gap: .5rem; }
.votar-link-card {
  display: flex; align-items: center; gap: 1rem;
  padding: .85rem 1rem; border: 1px solid #e8e8e8;
  border-radius: 8px; color: inherit; text-decoration: none;
  transition: border-color .15s, background .15s, transform .15s; background: #fff;
}
.votar-link-card:hover {
  border-color: var(--destaque); background: #f0f5ff;
  transform: translateX(3px); color: inherit;
}
.votar-link-num { font-size: .75rem; font-weight: 900; color: #ccc; letter-spacing: .05em; width: 24px; flex-shrink: 0; }
.votar-link-card:hover .votar-link-num { color: var(--destaque); }
.votar-link-info { flex: 1; display: flex; flex-direction: column; gap: .1rem; }
.votar-link-nome { font-weight: 700; font-size: .95rem; }
.votar-link-sub { font-size: .78rem; color: #aaa; }
.votar-link-acao { color: #ccc; font-size: .9rem; transition: color .15s, transform .15s; }
.votar-link-card:hover .votar-link-acao { color: var(--destaque); transform: translateX(2px); }
@media screen and (max-width: 768px) {
  .votar-hero { flex-direction: column; text-align: center; }
  .votar-recompensa-bar { justify-content: center; }
}

/* =====================
   REGRAS
   ===================== */
.regra-bloco { padding: .85rem 1rem; border-bottom: 1px solid #eee; }
.regra-bloco-last { border-bottom: none; }
.regra-bloco p { font-size: .9rem; color: #444; margin-top: .35rem; line-height: 1.6; }
.regra-bloco-titulo { font-size: 1rem; font-weight: 700; color: #333; }
.regra-bloco-titulo svg { color: var(--destaque); margin-right: .35rem; font-size: .8rem; }
.regra-tag { display: inline-block; font-size: .7rem; font-weight: 700; padding: 1px 6px; border-radius: 3px; color: #fff; vertical-align: middle; margin-right: 2px; }
.tag-ban { background-color: #cc0000; }
.tag-ban.tag-perm { background-color: #7a0000; }
.tag-mute { background-color: #e67e00; }
.tabela-punicoes { font-size: .88rem; margin-bottom: 0 !important; }
.tabela-punicoes thead th { background-color: var(--destaque); color: #fff; border-color: var(--destaque-escuro) !important; }

/* =====================
   404
   ===================== */
.pagina-404 { text-align: center; padding: 3rem 1rem; }
.404-icone img { height: 80px; opacity: .2; margin-bottom: 1rem; }
.404-titulo { font-size: 6rem; font-weight: 900; color: var(--destaque); line-height: 1; margin-bottom: .5rem; }
.404-texto { font-size: 1.1rem; color: #666; margin-bottom: 2rem; }
.404-botoes { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* =====================
   STATUS / DISCORD
   ===================== */
.status-content { padding: .75rem 1rem; }
.status-row { display: flex; justify-content: space-between; align-items: center; padding: .5rem 0; border-bottom: 1px solid #f0f0f0; font-size: .9rem; }
.status-row:last-of-type { border-bottom: none; }
.status-label { color: #666; }
.status-label svg { color: var(--destaque); margin-right: .35rem; }
.status-valor { font-weight: 700; color: #333; }
.discord-card { padding: 1rem; }
.discord-card-info { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.discord-card-logo { width: 52px; height: 52px; border-radius: 50%; }
.discord-card-nome { font-weight: 700; font-size: 1rem; }
.discord-card-membros { font-size: .85rem; color: #666; margin-top: .2rem; }
.discord-online-dot { color: #43b581; font-size: .5rem; vertical-align: middle; margin-right: .2rem; }
.discord-card-btn { margin-top: .25rem; }
.discord-btn { font-size: 1.1rem; padding: 1.25rem 2rem; height: auto; }
.discord-info .list { margin-top: .75rem; }

/* =====================
   PERFIL / LOGIN / NAVBAR
   ===================== */
.perfil-card { text-align: center; padding: 1.5rem 1rem; }
.perfil-avatar-wrap { margin-bottom: 1rem; }
.perfil-body { height: 120px; image-rendering: pixelated; }
.perfil-nick { font-size: 1.5rem; font-weight: 700; }
.perfil-cargo { font-weight: 700; font-size: .85rem; text-transform: uppercase; }
.perfil-desde { font-size: .8rem; color: #888; margin-top: .4rem; }
.navbar-avatar { width: 20px; height: 20px; image-rendering: pixelated; border-radius: 2px; margin-right: .4rem; vertical-align: middle; }
.navbar-perfil { font-weight: 600; }
.login-box { padding: 1.5rem; }
.login-registro-info { margin-top: 1.25rem; font-size: .85rem; color: #888; text-align: center; border-top: 1px solid #eee; padding-top: 1rem; }
.navbar-login { font-size: 1.1rem; }

/* =====================
   FÓRUM — CATEGORIAS
   ===================== */
.forum-categoria-row {
  display: flex; align-items: center; gap: 1rem;
  padding: 1rem 1.25rem; border-bottom: 1px solid #eee;
  color: inherit; text-decoration: none; transition: background .15s;
}
.forum-categoria-row:last-child { border-bottom: none; }
.forum-categoria-row:hover { background: #f8f8f8; }
.forum-categoria-icone {
  width: 42px; height: 42px; background: var(--destaque);
  border-radius: 8px; display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1.1rem; flex-shrink: 0;
}
.forum-categoria-info { flex: 1; }
.forum-categoria-nome { font-weight: 700; font-size: 1rem; }
.forum-categoria-desc { font-size: .85rem; color: #888; margin-top: .15rem; }
.forum-categoria-stats { text-align: right; font-size: .82rem; color: #888; display: flex; flex-direction: column; gap: .2rem; }

/* CATEGORIAS RESTRITAS */
.forum-title-restrito { background: #7c3aed !important; }
.forum-categoria-restrita:hover { background: #f5f3ff !important; }
.forum-categoria-icone-restrito { background: #7c3aed !important; }
.forum-restrito-badge {
  display: inline-block; font-size: .65rem; font-weight: 700;
  background: #7c3aed; color: #fff; padding: 1px 6px;
  border-radius: 3px; margin-left: .4rem; vertical-align: middle;
  text-transform: uppercase; letter-spacing: .04em;
}
.forum-categoria-restrita-bloqueada .forum-categoria-nome { color: #555; }
.forum-categoria-restrita-bloqueada .forum-categoria-desc { color: #aaa; }

/* FÓRUM — POSTS */
.forum-post-row {
  display: flex; align-items: center; gap: .75rem;
  padding: .85rem 1.25rem; border-bottom: 1px solid #eee;
  color: inherit; text-decoration: none; transition: background .15s;
}
.forum-post-row:last-child { border-bottom: none; }
.forum-post-row:hover { background: #f8f8f8; }
.forum-post-avatar img { width: 36px; height: 36px; border-radius: 4px; image-rendering: pixelated; }
.forum-post-info { flex: 1; }
.forum-post-titulo { font-weight: 600; font-size: .95rem; display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.forum-post-meta { font-size: .8rem; color: #888; margin-top: .2rem; }
.forum-post-stats { display: flex; flex-direction: column; align-items: flex-end; gap: .2rem; font-size: .82rem; color: #888; }

/* TAGS */
.forum-tag { display: inline-block; font-size: .7rem; font-weight: 700; padding: 1px 7px; border-radius: 3px; color: #fff; white-space: nowrap; }
.tag-flair-discussao { background: #3273dc; }
.tag-flair-sugestao  { background: #48c774; }
.tag-flair-suporte   { background: #ff7043; }
.tag-fixado          { background: #f0a500; }
.tag-fechado         { background: #888; }

/* BADGE ENQUETE */
.forum-enquete-badge { display: inline-flex; align-items: center; gap: .25rem; font-size: .72rem; font-weight: 700; padding: 1px 7px; border-radius: 3px; white-space: nowrap; }
.enquete-badge-ativa { background: #e8f4fd; color: #3273dc; border: 1px solid #c5dff8; }
.enquete-badge-encerrada { background: #f0f0f0; color: #888; border: 1px solid #ddd; }

/* POST INDIVIDUAL */
.forum-post-autor-bar { display: flex; align-items: center; gap: .6rem; margin-bottom: 1rem; padding-bottom: .75rem; border-bottom: 1px solid #eee; flex-wrap: wrap; }
.forum-avatar-sm { width: 32px; height: 32px; border-radius: 4px; image-rendering: pixelated; }
.forum-nick { font-weight: 700; color: #333; }
.forum-data { font-size: .8rem; color: #888; margin-left: .4rem; }
.forum-acoes-post { margin-left: auto; display: flex; gap: .4rem; flex-wrap: wrap; }
.forum-conteudo { font-size: .95rem; line-height: 1.7; color: #333; }

/* COMENTÁRIOS */
.forum-comentario { display: flex; gap: .75rem; padding: .85rem 1.25rem; border-bottom: 1px solid #f0f0f0; }
.forum-comentario:last-of-type { border-bottom: none; }
.forum-comentario-corpo { flex: 1; }
.forum-comentario-header { display: flex; align-items: center; gap: .5rem; margin-bottom: .35rem; }
.forum-comentario-texto { font-size: .9rem; color: #444; line-height: 1.6; }
.forum-btn-curtir { background: none; border: none; color: #aaa; cursor: pointer; font-size: .8rem; padding: 0; }
.forum-btn-curtir:hover { color: #e74c3c; }
.forum-curtidas-count { font-size: .8rem; color: #aaa; margin-left: auto; }
.forum-form-comentario { padding: 1rem 1.25rem; border-top: 1px solid #eee; }
.forum-btn-excluir-cm { opacity: .5; transition: opacity .15s; padding: 0 .4rem !important; height: 1.6rem !important; }
.forum-btn-excluir-cm:hover { opacity: 1; }

/* PAGINAÇÃO / FLAIR */
.forum-paginacao { display: flex; gap: .4rem; margin-top: 1rem; flex-wrap: wrap; }
.forum-flair-opcoes { display: flex; gap: .75rem; align-items: center; }
.forum-flair-label { cursor: pointer; display: flex; align-items: center; gap: .35rem; }
.forum-flair-label input { display: none; }

/* =====================
   ENQUETE
   ===================== */
.forum-enquete-card { margin-top: 1rem; }
.enquete-tempo { font-size: .85rem; color: #888; margin-bottom: 1rem; }
.enquete-encerrada { color: #e74c3c !important; font-weight: 600; }
.enquete-opcao-resultado { margin-bottom: .75rem; }
.enquete-opcao-label { display: flex; align-items: center; gap: .4rem; font-size: .9rem; font-weight: 500; margin-bottom: .3rem; }
.enquete-pct { margin-left: auto; font-weight: 700; color: #333; font-size: .85rem; }
.enquete-barra-bg { height: 10px; background: #eee; border-radius: 99px; overflow: hidden; }
.enquete-barra-fill { height: 100%; border-radius: 99px; transition: width .6s ease; }
.enquete-votos-count { font-size: .75rem; color: #aaa; margin-top: .2rem; }
.enquete-meu-voto .enquete-opcao-label { font-weight: 700; }
.enquete-total { font-size: .8rem; color: #888; margin-top: .75rem; border-top: 1px solid #eee; padding-top: .5rem; }
.enquete-opcao-btn { margin-bottom: .5rem; }
.enquete-opcao-btn .button { height: auto; padding: .6rem .9rem; white-space: normal; font-size: .92rem; }
.enquete-opcao-btn .button:hover { background: #f0f5ff; }

/* =====================
   MARKDOWN
   ===================== */
.markdown-body { font-size: .95rem; line-height: 1.7; color: #333; word-break: break-word; }
.markdown-body h1 { font-size: 1.5rem; font-weight: 700; border-bottom: 2px solid #eee; padding-bottom: .3em; margin: .9em 0 .3em; }
.markdown-body h2 { font-size: 1.25rem; font-weight: 700; border-bottom: 1px solid #eee; padding-bottom: .2em; margin: .9em 0 .3em; }
.markdown-body h3 { font-size: 1.1rem; font-weight: 700; margin: .9em 0 .3em; }
.markdown-body h4 { font-weight: 700; margin: .9em 0 .3em; }
.markdown-body p { margin: .35em 0; }
.markdown-body strong { font-weight: 700; }
.markdown-body em { font-style: italic; }
.markdown-body del { text-decoration: line-through; color: #999; }
.markdown-body code { background: #f0f0f0; border-radius: 3px; padding: .1em .4em; font-family: monospace; font-size: .88em; color: #c0392b; }
.markdown-body pre { background: #1e1e1e; color: #d4d4d4; border-radius: 6px; padding: 1rem; overflow-x: auto; margin: .5em 0; }
.markdown-body pre code { background: none; color: inherit; padding: 0; }
.markdown-body blockquote { border-left: 4px solid var(--destaque); margin: .5em 0; padding: .4em .8em .4em 1rem; background: #f0f5ff; border-radius: 0 4px 4px 0; color: #555; font-style: italic; }
.markdown-body ul, .markdown-body ol { padding-left: 1.5rem; margin: .35em 0; }
.markdown-body ul li { list-style: disc; }
.markdown-body ol li { list-style: decimal; }
.markdown-body li { margin: .1em 0; }
.markdown-body hr { border: none; border-top: 2px solid #eee; margin: .75em 0; }
.markdown-body a { color: var(--destaque); text-decoration: underline; }
.markdown-body a:hover { color: var(--destaque-escuro); }

.md-imagem { max-width: 100%; max-height: 480px; border-radius: 6px; display: block; margin: .6em 0; cursor: zoom-in; }
.md-img-invalida { display: inline-block; background: #fff3cd; border: 1px solid #ffc107; border-radius: 4px; padding: 2px 8px; font-size: .82rem; color: #856404; }
.md-lightbox-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.85); z-index: 9999; display: flex; align-items: center; justify-content: center; cursor: zoom-out; }
.md-lightbox-overlay img { max-width: 92vw; max-height: 90vh; border-radius: 6px; box-shadow: 0 0 40px rgba(0,0,0,.6); }
.inline-sticker { height: 24px; vertical-align: middle; margin: 0 1px; border-radius: 3px; }

/* =====================
   EDITOR NOVO POST
   ===================== */
.fnovo-editor { border: 1px solid #ddd; border-radius: 6px; overflow: hidden; }
.fnovo-editor-header { display: flex; align-items: center; justify-content: space-between; background: #f8f8f8; border-bottom: 1px solid #ddd; padding: .4rem .75rem; }
.fnovo-tabs { display: flex; gap: .25rem; }
.fnovo-tab { background: none; border: 1px solid transparent; padding: .3rem .85rem; font-size: .84rem; cursor: pointer; border-radius: 5px; color: #666; display: flex; align-items: center; gap: .35rem; transition: all .15s; font-family: inherit; }
.fnovo-tab:hover { background: #fff; border-color: #ddd; color: #333; }
.fnovo-tab.active { background: #fff; border-color: #ddd; color: var(--destaque); font-weight: 600; }
.fnovo-hint { font-size: .75rem; color: #bbb; display: flex; align-items: center; gap: .3rem; }
.fnovo-editor .textarea { border: none !important; border-radius: 0 !important; box-shadow: none !important; resize: vertical; }
.fnovo-editor .textarea:focus { border: none !important; box-shadow: none !important; }
.fnovo-preview { padding: .75rem 1rem; min-height: 120px; }

/* =====================
   PAINEL ADMIN
   ===================== */
.painel-menu-item { display: flex; align-items: center; gap: .6rem; padding: .6rem 1rem; color: #444; text-decoration: none; font-size: .95rem; transition: background .15s; }
.painel-menu-item:hover, .painel-menu-item.is-active { background: var(--destaque); color: #fff; }
.painel-menu-item svg { width: 1rem; text-align: center; }
.painel-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.painel-stat { background: #f8f8f8; border-radius: 8px; padding: 1.25rem 1rem; text-align: center; border: 1px solid #eee; }
.painel-stat-valor { font-size: 2rem; font-weight: 900; color: var(--destaque); line-height: 1; }
.painel-stat-label { font-size: .8rem; color: #888; margin-top: .4rem; }
.painel-list-row { display: flex; align-items: center; gap: .75rem; padding: .6rem 1rem; border-bottom: 1px solid #f0f0f0; flex-wrap: wrap; }
.painel-list-row:last-child { border-bottom: none; }
.painel-list-titulo { flex: 1; font-size: .9rem; color: #333; text-decoration: none; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.painel-list-meta { font-size: .8rem; color: #888; white-space: nowrap; }
.painel-list-acoes { display: flex; gap: .3rem; }
.painel-busca { margin-bottom: .5rem; }
.painel-acoes-inline { display: flex; gap: .3rem; flex-wrap: wrap; align-items: center; }
.painel-select-inline { font-size: .75rem; padding: 2px 4px; border: 1px solid #ddd; border-radius: 4px; height: 28px; }
@media screen and (max-width: 768px) { .painel-stats-grid { grid-template-columns: repeat(2, 1fr); } }

/* =====================
   PICKER DE EMOJI/STICKER
   ===================== */
.picker-grid { display: flex; flex-wrap: wrap; gap: 2px; }
.picker-item { width: 36px; height: 36px; border: none; background: none; cursor: pointer; border-radius: 5px; font-size: 1.2rem; display: flex; align-items: center; justify-content: center; transition: background .1s; padding: 0; font-family: inherit; }
.picker-item:hover { background: #f0f0f0; }
.picker-sticker-item { width: 44px; height: 44px; }

/* =====================
   REAÇÕES
   ===================== */
.reacoes-bar { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .6rem; min-height: 1.8rem; align-items: center; }
.reacao-btn { display: inline-flex; align-items: center; gap: .3rem; padding: .2rem .55rem; border: 1px solid #ddd; border-radius: 99px; background: #f8f8f8; cursor: pointer; font-size: .88rem; transition: border-color .15s, background .15s; font-family: inherit; }
.reacao-btn:hover { border-color: #aaa; background: #eee; }
.reacao-btn.eu-reagi { border-color: #3273dc; background: #e8f0ff; color: #3273dc; font-weight: 600; }
.reacao-count { font-size: .78rem; font-weight: 700; color: inherit; }
.reacao-add-btn { width: 28px; height: 28px; border: 1px dashed #ccc; border-radius: 99px; background: none; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; color: #aaa; font-size: .82rem; transition: border-color .15s, color .15s; font-family: inherit; }
.reacao-add-btn:hover { border-color: #3273dc; color: #3273dc; }