/* Invente Aqui — folha de estilo modernizada (2026)
   Mantém a identidade: roxo-berinjela, ciano e amarelo do logotipo/botões.
   Mobile-first, sem dependências (substitui Bootstrap 2 + jQuery UI no visual). */
:root {
  --ia-roxo: #3d1530;
  --ia-roxo-2: #5a2148;
  --ia-ciano: #1fb5ab;       /* ciano da marca, escurecido p/ contraste AA em texto */
  --ia-ciano-claro: #2bd1c6;
  --ia-amarelo: #ffc61a;
  --ia-texto: #2a2027;
  --ia-texto-2: #5e5560;
  --ia-fundo: #faf7f9;
  --ia-card: #ffffff;
  --ia-borda: #e8e0e6;
  --raio: 14px;
  --sombra: 0 1px 2px rgba(61,21,48,.06), 0 4px 16px rgba(61,21,48,.06);
  --fonte: "Nunito Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --fonte-titulo: "Futura PT", "FuturaStdMedium", "Nunito Sans", "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 16px/1.6 var(--fonte); color: var(--ia-texto); background: var(--ia-fundo); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ia-roxo-2); }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid var(--ia-ciano); outline-offset: 2px; border-radius: 6px; }
.container { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 16px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular { position: absolute; left: -999px; top: 8px; background: var(--ia-amarelo); color: #000; padding: 8px 12px; z-index: 100; border-radius: 6px; }
.pular:focus { left: 8px; }

/* Botões */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 20px;
  border-radius: 999px; font-weight: 700; text-decoration: none; border: 2px solid transparent; cursor: pointer; font-size: 1rem; }
.btn-primario { background: var(--ia-amarelo); color: #2a1a00; }
.btn-primario:hover { background: #ffd54d; }
.btn-secundario { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.btn-secundario:hover { background: rgba(255,255,255,.12); }
.btn-contorno { background: #fff; color: var(--ia-roxo); border-color: var(--ia-borda); }
.btn-contorno:hover { border-color: var(--ia-roxo-2); }

/* Cabeçalho */
.topo { background: #fff; border-bottom: 1px solid var(--ia-borda); position: sticky; top: 0; z-index: 50; }
.topo .container { display: flex; align-items: center; gap: 16px; min-height: 68px; }
/* Reaproveita o logotipo original do sprite (206x59 em 0 -115px), reduzido a 80% */
.logo { flex: none; display: block; width: 165px; height: 47px; background: url("../images/sprite.png") no-repeat 0 -92px; background-size: 245px auto; text-indent: -9999px; overflow: hidden; }
@media (max-width: 420px) { .logo { width: 124px; height: 36px; background-position: 0 -69px; background-size: 184px auto; } }
.logo-texto { font-family: var(--fonte-titulo); font-size: 1.6rem; font-weight: 700; color: var(--ia-roxo); text-decoration: none; letter-spacing: -.5px; }
.logo-texto span { color: var(--ia-ciano); }
.nav-principal { display: none; gap: 4px; }
.nav-principal a { padding: 8px 12px; border-radius: 8px; text-decoration: none; color: var(--ia-roxo); font-weight: 600; }
.nav-principal a:hover, .nav-principal a[aria-current="page"] { background: #f3ecf1; }
.busca-topo { flex: 1; min-width: 0; display: flex; max-width: 420px; margin-left: auto; }
.busca-topo input { flex: 1; min-width: 0; width: 100%; height: 44px; border: 2px solid var(--ia-borda); border-right: 0; border-radius: 999px 0 0 999px; padding: 0 16px; font: inherit; }
.busca-topo button { height: 44px; width: 48px; border: 0; border-radius: 0 999px 999px 0; background: #0d7069; color: #fff; cursor: pointer; }
.acoes-conta { display: none; gap: 8px; }
.menu-movel { margin-left: 4px; }
.menu-movel summary { list-style: none; cursor: pointer; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 10px; }
.menu-movel summary::-webkit-details-marker { display: none; }
.menu-movel[open] .gaveta { display: flex; }
.gaveta { display: none; flex-direction: column; position: absolute; right: 16px; top: 64px; background: #fff; border: 1px solid var(--ia-borda); border-radius: var(--raio); box-shadow: var(--sombra); padding: 8px; min-width: 220px; }
.gaveta a { padding: 12px; text-decoration: none; color: var(--ia-roxo); font-weight: 600; border-radius: 8px; }
.gaveta a:hover { background: #f3ecf1; }
@media (min-width: 900px) {
  .nav-principal, .acoes-conta { display: flex; }
  .menu-movel { display: none; }
  .busca-topo { margin-left: 8px; }
}

/* Herói da home */
.heroi { background: linear-gradient(135deg, var(--ia-roxo) 0%, var(--ia-roxo-2) 100%); color: #fff; }
.heroi .container { display: grid; gap: 24px; padding-top: 40px; padding-bottom: 40px; align-items: center; }
.heroi h1 { font-family: var(--fonte-titulo); font-size: clamp(1.9rem, 5vw, 3rem); line-height: 1.1; margin: 0 0 12px; }
.heroi h1 em { font-style: normal; color: var(--ia-ciano-claro); }
.heroi p { font-size: 1.125rem; margin: 0 0 24px; opacity: .92; max-width: 34em; }
.heroi .ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.heroi-destaque { position: relative; border-radius: var(--raio); overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,.25); text-decoration: none; color: #fff; aspect-ratio: 4/3; display: block; }
.heroi-destaque img { width: 100%; height: 100%; object-fit: cover; }
.heroi-destaque .legenda { position: absolute; left: 0; right: 0; bottom: 0; padding: 16px; background: linear-gradient(transparent, rgba(0,0,0,.75)); }
.heroi-destaque .legenda small { text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; opacity: .85; }
.heroi-destaque .legenda strong { display: block; font-size: 1.15rem; }
.como-funciona { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; counter-reset: passo; }
.como-funciona li { counter-increment: passo; display: flex; gap: 12px; align-items: flex-start; font-size: .98rem; }
.como-funciona li::before { content: counter(passo); flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--ia-ciano-claro); color: var(--ia-roxo); font-weight: 800; display: grid; place-items: center; }
@media (min-width: 900px) { .heroi .container { grid-template-columns: 1.1fr .9fr; padding-top: 64px; padding-bottom: 64px; } }

/* Seções e categorias */
.secao { padding: 32px 0; }
.secao-cabecalho { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.secao h2 { font-family: var(--fonte-titulo); color: var(--ia-roxo); margin: 0; font-size: 1.6rem; }
.categorias { display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 12px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
.categorias a { flex: none; scroll-snap-align: start; padding: 8px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--ia-borda); text-decoration: none; color: var(--ia-roxo); font-weight: 600; min-height: 40px; display: inline-flex; align-items: center; }
.categorias a[aria-current="true"] { background: var(--ia-roxo); color: #fff; border-color: var(--ia-roxo); }
.ordenar { display: flex; gap: 8px; align-items: center; font-size: .95rem; color: var(--ia-texto-2); }
.ordenar select { height: 40px; border-radius: 10px; border: 1px solid var(--ia-borda); padding: 0 10px; font: inherit; background: #fff; }

/* Cards de invenção */
.grade { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.card { background: var(--ia-card); border-radius: var(--raio); overflow: hidden; box-shadow: var(--sombra); display: flex; flex-direction: column; position: relative; transition: transform .15s ease, box-shadow .15s ease; }
.card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(61,21,48,.12); }
.card img { aspect-ratio: 4/3; width: 100%; object-fit: cover; background: #eee; }
.card .corpo { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.card .categoria { align-self: flex-start; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--ia-roxo-2); background: #f3ecf1; padding: 2px 10px; border-radius: 999px; }
.card h3 { margin: 0; font-size: 1.05rem; line-height: 1.35; }
.card h3 a { color: var(--ia-texto); text-decoration: none; }
.card h3 a::after { content: ""; position: absolute; inset: 0; } /* card inteiro clicável, um único link */
.card .meta { margin-top: auto; display: flex; justify-content: space-between; gap: 8px; font-size: .85rem; color: var(--ia-texto-2); }
.card .autor { position: relative; z-index: 1; color: var(--ia-texto-2); }
.nota { color: #8a5a00; font-weight: 700; } /* âmbar escurecido: contraste AA */

/* Faixa de participação */
.faixa-participe { background: #fff; border: 1px solid var(--ia-borda); border-radius: var(--raio); padding: 24px; display: grid; gap: 16px; align-items: center; }
.faixa-participe h2 { font-size: 1.4rem; }
.faixa-participe p { margin: 0; color: var(--ia-texto-2); }
@media (min-width: 760px) { .faixa-participe { grid-template-columns: 1fr auto; } }

/* Tutorial */
.migalhas { font-size: .9rem; color: var(--ia-texto-2); padding: 16px 0 0; }
.migalhas ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0; }
.migalhas li + li::before { content: "›"; margin-right: 6px; }
.migalhas a { color: var(--ia-texto-2); }
.tutorial { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 16px 0 48px; }
.tutorial > * { min-width: 0; } /* evita que a barra de etapas alargue a página no celular */
@media (min-width: 1000px) { .tutorial { grid-template-columns: minmax(0, 1fr) 300px; } }
.tutorial h1 { font-family: var(--fonte-titulo); color: var(--ia-roxo); font-size: clamp(1.7rem, 4vw, 2.4rem); line-height: 1.15; margin: 8px 0 12px; }
.tutorial-meta { display: flex; flex-wrap: wrap; gap: 4px 20px; color: var(--ia-texto-2); font-size: .95rem; margin-bottom: 16px; align-items: center; }
.ficha { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; background: #fff; border: 1px solid var(--ia-borda); border-radius: var(--raio); padding: 16px; margin: 0 0 24px; }
.ficha div { display: flex; flex-direction: column; }
.ficha dt { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ia-texto-2); font-weight: 700; }
.ficha dd { margin: 2px 0 0; font-weight: 700; }
.ficha .ausente { font-weight: 400; color: var(--ia-texto-2); font-style: italic; }
.etapas-nav { position: sticky; top: 68px; z-index: 10; background: var(--ia-fundo); padding: 8px 0; margin-bottom: 8px; }
.etapas-nav ol { list-style: none; margin: 0; padding: 0 0 4px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: thin; }
.etapas-nav a { flex: none; display: flex; align-items: center; gap: 8px; padding: 8px 14px 8px 8px; min-height: 44px; border-radius: 999px; background: #fff; border: 1px solid var(--ia-borda); text-decoration: none; color: var(--ia-roxo); font-weight: 600; font-size: .92rem; white-space: nowrap; }
.etapas-nav a .n { width: 28px; height: 28px; border-radius: 50%; background: var(--ia-roxo); color: #fff; display: grid; place-items: center; font-size: .85rem; }
.etapas-nav a[aria-current="step"] { background: var(--ia-roxo); color: #fff; }
.etapas-nav a[aria-current="step"] .n { background: var(--ia-ciano-claro); color: var(--ia-roxo); }
.etapa { background: #fff; border: 1px solid var(--ia-borda); border-radius: var(--raio); padding: 20px; margin-bottom: 20px; scroll-margin-top: 140px; }
.etapa h2 { margin: 0 0 12px; font-size: 1.35rem; color: var(--ia-roxo); display: flex; gap: 10px; align-items: center; }
.etapa h2 .n { flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--ia-ciano-claro); color: var(--ia-roxo); display: grid; place-items: center; font-size: 1rem; }
.etapa p, .etapa li { font-size: 1.075rem; line-height: 1.7; max-width: 68ch; }
.etapa .fotos { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin: 0 0 16px; }
.etapa .fotos img { border-radius: 10px; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.etapa .fotos.uma { grid-template-columns: 1fr; }
/* Proporção fixa = sem deslocamento de layout quando as fotos carregam (CLS). contain = não corta a foto do autor */
.etapa .fotos.uma img { object-fit: contain; background: #f3ecf1; max-height: 560px; }
.etapa ul.lista-materiais { padding-left: 1.2em; }
.etapa ul.lista-materiais li { margin: 4px 0; }
.etapa-rodape { display: flex; justify-content: space-between; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.lateral .bloco { background: #fff; border: 1px solid var(--ia-borda); border-radius: var(--raio); padding: 16px; margin-bottom: 20px; }
.lateral h2 { font-size: 1.05rem; margin: 0 0 12px; color: var(--ia-roxo); }
.mini { display: flex; gap: 12px; align-items: center; text-decoration: none; color: var(--ia-texto); padding: 6px 0; }
.mini img { width: 72px; height: 54px; object-fit: cover; border-radius: 8px; flex: none; }
.mini span { font-size: .92rem; line-height: 1.3; font-weight: 600; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; }
.tags a { font-size: .85rem; padding: 4px 10px; border-radius: 999px; background: #f3ecf1; text-decoration: none; color: var(--ia-roxo-2); }
.compartilhar { display: flex; gap: 8px; flex-wrap: wrap; }

/* Rodapé */
.rodape { background: var(--ia-roxo); color: #f1e6ee; margin-top: 32px; }
.rodape .container { display: grid; gap: 24px; padding-top: 40px; padding-bottom: 40px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.rodape h2 { font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ia-ciano-claro); margin: 0 0 12px; }
.rodape ul { list-style: none; margin: 0; padding: 0; }
.rodape li { margin: 6px 0; }
.rodape a { color: #fff; text-decoration: none; }
.rodape a:hover { text-decoration: underline; }
.rodape .legal { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.15); padding-top: 16px; font-size: .85rem; opacity: .8; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
html { scroll-behavior: smooth; }

/* ===================== Integração com o site existente ===================== */
/* main.css (2014) continua carregado para as páginas internas; estas regras ajustam o que conflita. */
body { background: var(--ia-fundo) !important; font-family: var(--fonte) !important; min-width: 0 !important; }
/* Conteúdo das páginas internas: largura fluida em vez de 962px fixos */
.conteudo-legado { width: 100%; max-width: 1000px; margin: 0 auto; padding: 24px 16px; }
.conteudo-legado .safeArea, .conteudo-legado .pageContent { width: auto !important; max-width: 100%; }
.conteudo-legado img { max-width: 100%; height: auto; }
.conteudo-legado table { max-width: 100%; }
@media (max-width: 760px) {
  .conteudo-legado .leftCol, .conteudo-legado .rightCol, .conteudo-legado .doubleCol { float: none !important; width: auto !important; margin: 0 0 16px !important; }
  .conteudo-legado input.textField, .conteudo-legado select, .conteudo-legado textarea { max-width: 100% !important; box-sizing: border-box; }
}
/* Mensagens (flash) do site */
#mensagem { position: fixed !important; top: 80px !important; left: 50% !important; transform: translateX(-50%); margin: 0 !important; width: min(670px, calc(100% - 32px)) !important; }
/* Menu do usuário logado (navegação existente) */
#pageMenu ul.userNavigation { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0 0 16px; }
#pageMenu ul.userNavigation li a { display: inline-block; padding: 6px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--ia-borda); text-decoration: none; color: var(--ia-roxo); font-weight: 600; font-size: .9rem; }
#pageMenu ul.userNavigation li.active a { background: var(--ia-roxo); color: #fff; }
/* Conta / login no cabeçalho */
.conta { position: relative; }
.conta summary { list-style: none; cursor: pointer; }
.conta summary::-webkit-details-marker { display: none; }
.conta .painel { position: absolute; right: 0; top: calc(100% + 8px); background: #fff; border: 1px solid var(--ia-borda); border-radius: var(--raio); box-shadow: var(--sombra); padding: 16px; width: 280px; z-index: 60; }
.conta .painel label { display: block; font-size: .85rem; font-weight: 700; margin: 8px 0 4px; color: var(--ia-texto-2); }
.conta .painel input[type=text], .conta .painel input[type=password] { width: 100%; height: 44px; border: 1px solid var(--ia-borda); border-radius: 10px; padding: 0 12px; font: inherit; }
.conta .painel .btn { width: 100%; margin-top: 12px; }
.conta .painel a.link { display: block; padding: 10px 4px; color: var(--ia-roxo); text-decoration: none; font-weight: 600; border-radius: 8px; }
.conta .painel a.link:hover { background: #f3ecf1; }
.conta .painel .esqueci { display: block; margin-top: 10px; font-size: .9rem; text-align: center; }
.btn-enviar { background: #0d7069; color: #fff; } /* ciano escuro: contraste AA com texto branco */
.btn-enviar:hover { background: #0a5a54; }
/* Paginação da lista */
.paginacao { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 28px; flex-wrap: wrap; }
.paginacao .atual { color: var(--ia-texto-2); }
.vazio { background: #fff; border: 1px dashed var(--ia-borda); border-radius: var(--raio); padding: 32px; text-align: center; color: var(--ia-texto-2); }
/* jQuery UI autocomplete no novo campo de busca */
.ui-autocomplete { z-index: 100 !important; max-width: 420px; border-radius: 10px !important; font-family: var(--fonte) !important; }
.login-movel { display: grid; gap: 8px; padding: 8px; border-bottom: 1px solid var(--ia-borda); margin-bottom: 4px; }
.login-movel input { height: 44px; border: 1px solid var(--ia-borda); border-radius: 10px; padding: 0 12px; font: inherit; }
.etapa p a, .etapa li a, .vazio a { text-decoration: underline; }
.etapa .lista-intro { margin: 0 0 4px; font-weight: 600; }
.comentarios-area .comments .pic img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.comentarios-area textarea { width: 100%; max-width: 100%; border: 1px solid var(--ia-borda); border-radius: 10px; padding: 10px; font: inherit; box-sizing: border-box; }
.conteudo-legado input.button, .conteudo-legado .button { background: var(--ia-roxo) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; min-height: 44px; max-width: 100%; cursor: pointer; }
@media (max-width: 760px) {
  .conteudo-legado .centerCol, .conteudo-legado .form, .conteudo-legado form, .conteudo-legado ul, .conteudo-legado li { width: auto !important; max-width: 100% !important; float: none !important; }
  .conteudo-legado input.button { width: 100% !important; }
}
/* Competições (página antiga): cartões e sobreposições fluidos */
.conteudo-legado .itemCompeticao, .conteudo-legado .modalview, .conteudo-legado .modalview input { width: auto !important; max-width: 100% !important; left: 0 !important; margin-left: 0 !important; }
.conteudo-legado .itemCompeticao img { width: 100%; height: auto; }
.conteudo-legado h1 { color: var(--ia-roxo) !important; }
@media (max-width: 760px) {
  /* HTML de competições criado no editor do admin traz larguras/posições fixas */
  .conteudo-legado .itemCompeticao [style*="width"] { width: auto !important; max-width: 100% !important; position: static !important; }
}
/* Aviso de cookies (LGPD) */
.aviso-cookies { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 200; max-width: 720px; margin: 0 auto; background: #fff; border: 1px solid var(--ia-borda); border-radius: var(--raio); box-shadow: 0 8px 30px rgba(0,0,0,.18); padding: 16px; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.aviso-cookies[hidden] { display: none; }
.aviso-cookies p { margin: 0; flex: 1 1 320px; font-size: .95rem; }
.aviso-cookies a { text-decoration: underline; }
.aviso-acoes { display: flex; gap: 8px; }
.rodape .legal a { text-decoration: underline; }
.pagina-texto { max-width: 72ch; }
.pagina-texto h1 { font-family: var(--fonte-titulo); color: var(--ia-roxo); }
.pagina-texto h2 { color: var(--ia-roxo); margin-top: 28px; font-size: 1.25rem; }
.pagina-texto li { margin: 6px 0; }
.pagina-texto a { text-decoration: underline; }
/* Envio de fotos (HTML5, substitui o Uploadify em Flash) */
.ia-up-zona { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; border: 2px dashed var(--ia-borda); border-radius: var(--raio); padding: 16px; background: #fff; margin: 8px 0; }
.ia-up-zona.ia-up-arrastando { border-color: var(--ia-ciano); background: #effaf9; }
.ia-up-zona.ia-up-enviando { opacity: .7; }
.ia-up-input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.ia-up-input:focus-visible + .ia-up-botao { outline: 3px solid var(--ia-ciano); outline-offset: 2px; }
.ia-up-botao { display: inline-flex !important; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px !important; border-radius: 999px; background: var(--ia-roxo) !important; color: #fff !important; font-weight: 700; cursor: pointer; width: auto !important; height: auto !important; border: 0; }
.ia-up-dica { color: var(--ia-texto-2); font-size: .95rem; }
.ia-up-fila { position: static !important; width: auto !important; list-style: none; padding: 0; }
.ia-up-item { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: .9rem; }
.ia-up-item .ia-up-nome { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ia-up-item.erro .ia-up-nome { color: #b00020; white-space: normal; }
.ia-up-barra { width: 120px; height: 8px; border-radius: 4px; background: #eee; overflow: hidden; }
.ia-up-barra span { display: block; height: 100%; width: 0; background: var(--ia-ciano); transition: width .2s; }
.ia-up-item.ok .ia-up-barra span { width: 100%; background: #2e7d32; }
/* Criar com IA */
.ia-criar { max-width: 900px; padding-bottom: 48px; }
.ia-criar h1 { font-family: var(--fonte-titulo); color: var(--ia-roxo); }
.selo-beta { font-size: .8rem; vertical-align: middle; background: var(--ia-amarelo); color: #2a1a00; border-radius: 999px; padding: 2px 10px; }
.ia-lead { font-size: 1.1rem; color: var(--ia-texto-2); max-width: 60ch; }
.ia-criar label { display: block; font-weight: 700; margin: 14px 0 6px; }
.ia-criar input[type=text], .ia-criar textarea, .ia-criar select { width: 100%; box-sizing: border-box; border: 1px solid var(--ia-borda); border-radius: 10px; padding: 10px 12px; font: inherit; background: #fff; }
.ia-criar .tem-duvida { border-color: #c77700; background: #fff8ec; }
.ia-legenda mark { background: #fff1d6; }
.ia-aviso { background: #fff8ec; border: 1px solid #f0c27a; border-radius: 10px; padding: 12px 16px; }
.ia-aviso ul { margin: 6px 0 0; padding-left: 1.2em; }
.ia-capa { display: flex; flex-wrap: wrap; gap: 8px; }
.ia-capa-op { position: relative; margin: 0 !important; cursor: pointer; }
.ia-capa-op input { position: absolute; top: 6px; left: 6px; }
.ia-capa-op img, .ia-miniatura img { width: 96px; height: 72px; object-fit: cover; border-radius: 8px; display: block; }
.ia-capa-op input:checked + img { outline: 3px solid var(--ia-ciano); }
.ia-etapa { border: 1px solid var(--ia-borda); border-radius: var(--raio); padding: 14px; margin: 12px 0; background: var(--ia-fundo); display: grid; gap: 8px; }
.ia-et-num { font-weight: 800; color: var(--ia-roxo); }
.ia-et-fotos { display: flex; flex-wrap: wrap; gap: 8px; }
.ia-miniatura { position: relative; border: 0; padding: 0; background: none; cursor: pointer; }
.ia-miniatura span { position: absolute; top: 2px; right: 4px; color: #fff; font-weight: 800; text-shadow: 0 0 3px #000; }
.ia-et-remover { justify-self: start; min-height: 36px !important; padding: 6px 14px !important; font-size: .9rem; }
.ia-acoes { margin-top: 20px; }
#ia-status.erro, #ia-status2.erro { color: #b00020; font-weight: 700; }
.ia-fotos-enviadas img { max-width: 120px; height: auto; }
/* Calculadoras */
.calc { padding-bottom: 32px; }
.calc h1 { font-family: var(--fonte-titulo); color: var(--ia-roxo); margin: 8px 0; }
.calc-lead { font-size: 1.1rem; color: var(--ia-texto-2); max-width: 60ch; }
.calc-layout { display: grid; gap: 20px; align-items: start; }
@media (min-width: 900px) { .calc-layout { grid-template-columns: minmax(0, 1fr) 340px; } .calc-resultado { position: sticky; top: 84px; } }
.calc-form fieldset { border: 1px solid var(--ia-borda); border-radius: var(--raio); background: #fff; padding: 12px 16px 16px; margin: 0 0 16px; }
.calc-form legend { font-weight: 800; color: var(--ia-roxo); padding: 0 6px; }
.calc-linha { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.calc-form label { display: flex; flex-direction: column; gap: 4px; font-weight: 600; font-size: .95rem; }
.calc-form input, .calc-form select { height: 46px; border: 1px solid var(--ia-borda); border-radius: 10px; padding: 0 12px; font: inherit; font-size: 1.05rem; background: #fff; }
.calc-form small { font-weight: 400; color: var(--ia-texto-2); font-size: .82rem; }
.calc-form .calc-check { flex-direction: row; align-items: center; gap: 8px; margin-top: 12px; }
.calc-form .calc-check input { height: 20px; width: 20px; }
.calc-ou { margin: 10px 0 4px; color: var(--ia-texto-2); font-size: .9rem; }
.calc-resultado { background: var(--ia-roxo); color: #fff; border-radius: var(--raio); padding: 18px 20px; }
.calc-resultado h2 { margin: 0 0 8px; font-size: 1rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ia-ciano-claro); }
.calc-destaque { margin: 0 0 12px; font-size: 1.2rem; }
.calc-destaque span { font-size: 2.6rem; font-weight: 800; line-height: 1; display: block; }
.calc-detalhes { margin: 0; display: grid; gap: 8px; }
.calc-detalhes div { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid rgba(255,255,255,.15); padding-top: 8px; }
.calc-detalhes div { background-color: var(--ia-roxo); }
.calc-detalhes dt { color: #ecdde8; } .calc-detalhes dd { margin: 0; font-weight: 700; text-align: right; color: #fff; }
.calc-vazio { color: #ecdde8; margin: 0; }
.calc-erros { margin: 0; padding-left: 1.1em; color: #ffd9de; }
.calc-acoes { margin: 16px 0 0; } .calc-acoes .btn { width: 100%; }
.calc-explica { margin-top: 28px; }
.calc-card { text-decoration: none; color: inherit; }
.calc-card h2 { margin: 6px 0; font-size: 1.2rem; color: var(--ia-roxo); }
.calc-card p { margin: 0; color: var(--ia-texto-2); }
.calc-icone { font-size: 2rem; }
.ferramentas-casa .grade { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.calc-barra { display: none; }
@media (max-width: 899px) {
  .calc-barra:not([hidden]) { display: block; position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 90; min-height: 52px; border: 0; border-radius: 999px; background: var(--ia-roxo); color: #fff; font: inherit; font-size: 1.05rem; font-weight: 800; box-shadow: 0 6px 20px rgba(0,0,0,.25); cursor: pointer; }
  .calc { padding-bottom: 88px; }
}
/* Guias de projeto */
.guia { padding-bottom: 32px; }
.guia h1 { font-family: var(--fonte-titulo); color: var(--ia-roxo); }
.guia-rascunho { background: #fff8ec; border: 1px solid #f0c27a; border-radius: 10px; padding: 10px 14px; margin-top: 16px; }
.guia-passos li { margin: 10px 0; line-height: 1.7; }
.guia-indice { margin: 12px 0 8px; }
.moldura-desenho { margin: 20px 0 0; background: #fff; border: 1px solid var(--ia-borda); border-radius: var(--raio); padding: 12px; }
.moldura-desenho svg { width: 100%; height: auto; max-height: 520px; display: block; }
.moldura-desenho figcaption { font-size: .85rem; color: var(--ia-texto-2); margin-top: 6px; }
.md-parede { fill: #f3ecf1; stroke: #b9a7b4; stroke-width: .8; }
.md-quadro { fill: none; stroke: var(--ia-roxo); stroke-width: 2.4; }
.md-faixa { stroke: var(--ia-roxo); stroke-width: 2.4; }
.md-faixa-guia { stroke-dasharray: 4 3; stroke-width: 1; }
.md-txt, .md-cota { fill: var(--ia-texto-2); text-anchor: middle; dominant-baseline: middle; font-family: var(--fonte); }
.moldura-plano { margin-top: 12px; }
.moldura-plano summary { cursor: pointer; font-weight: 700; color: var(--ia-roxo); }
.md-plano li { margin: 4px 0; }
.md-aviso { background: rgba(255,255,255,.12); border-radius: 8px; padding: 8px 10px; font-size: .9rem; }
.calc-form [hidden] { display: none !important; }
.etapa .btn, .etapa a.btn { text-decoration: none; }

/* Vitrine de banners do admin (home). O HTML do banner foi desenhado no editor com largura fixa
   (960 px, como o site antigo); ele é renderizado intacto num "palco" e reduzido em escala para caber na tela. */
.vitrine { margin: 16px auto 0; max-width: 992px; padding: 0 16px; }
.vitrine-palco { position: relative; overflow: hidden; border-radius: var(--raio); }
.vitrine-pro .vitrine-palco { border-radius: 0; }
.vitrine-slide { width: 960px; transform-origin: 0 0; text-align: left; }
.vitrine .vitrine-slide[hidden], .vitrine .vitrine-controles[hidden] { display: none !important; }
.vitrine-slide.vitrine-entra { animation: vitrine-entra .45s ease; }
.vitrine-controles { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 0 0; color: var(--ia-roxo); }
.vitrine-seta, .vitrine-pausa { min-width: 44px; min-height: 44px; border-radius: 22px; border: 1px solid var(--ia-borda); background: #fff; color: var(--ia-roxo); font-size: 1.4rem; line-height: 1; cursor: pointer; }
.vitrine-pausa { font-size: .875rem; padding: 0 14px; }
.vitrine-pontos { display: flex; gap: 2px; }
.vitrine-pontos button { width: 24px; height: 44px; border: 0; background: transparent; cursor: pointer; position: relative; padding: 0; color: var(--ia-roxo); }
.vitrine-pontos button::after { content: ""; position: absolute; left: 6px; top: 16px; width: 12px; height: 12px; border-radius: 50%; border: 2px solid currentColor; box-sizing: border-box; }
.vitrine-pontos button[aria-current="true"]::after { background: currentColor; }
.vitrine button:focus-visible { outline: 3px solid var(--ia-ciano); outline-offset: 2px; }
@keyframes vitrine-entra { from { opacity: .35; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .vitrine-slide.vitrine-entra { animation: none; } }
/* Faixa de parceiro: costuma ser um anúncio estreito (ex.: 468×60) — reduz pela largura real do anúncio */
.vitrine-pro .vitrine-slide { width: max-content; max-width: 960px; }
.vitrine-pro .vitrine-slide > p { margin: 0; }
/* Slide de invenção destacada no admin: mesma proporção dos banners (960×400), ajustado à tela */
.vitrine-inv { display: block; position: relative; width: 100%; aspect-ratio: 960 / 400; color: #fff; text-decoration: none; background: var(--ia-roxo); overflow: hidden; }
.vitrine-inv img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.vitrine-inv:hover img { transform: scale(1.03); }
.vitrine-inv-texto { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(10px, 3vw, 28px); background: linear-gradient(transparent, rgba(30,8,24,.85) 55%); display: flex; flex-direction: column; gap: 4px; }
.vitrine-inv-texto small { text-transform: uppercase; letter-spacing: .06em; font-size: clamp(.68rem, 1.6vw, .8rem); opacity: .9; }
.vitrine-inv-texto strong { font-family: var(--fonte-titulo); font-size: clamp(1.05rem, 3.6vw, 2.1rem); line-height: 1.15; max-width: 22em; }
.vitrine-inv-cta { align-self: flex-start; margin-top: 4px; background: var(--ia-amarelo); color: var(--ia-roxo); font-weight: 700; border-radius: 999px; padding: 6px 14px; font-size: clamp(.75rem, 1.8vw, .95rem); }
.vitrine-inv:focus-visible { outline: 3px solid var(--ia-ciano); outline-offset: -3px; }
@media (max-width: 520px) { .vitrine-inv-cta { display: none; } }
@media (prefers-reduced-motion: reduce) { .vitrine-inv img { transition: none; } }

/* Vídeos nos tutoriais (link colado numa linha vira player; carrega ao clicar) */
.video { margin: 16px 0; max-width: 720px; }
.video-capa, .video iframe, .video video { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--raio); background: #1e0818; }
.video-vertical { max-width: 340px; }
.video-vertical .video-capa, .video-vertical iframe { aspect-ratio: 9 / 16; }
.video-instagram iframe { aspect-ratio: auto; height: 640px; background: #fff; }
.video-capa { position: relative; overflow: hidden; color: #fff; text-decoration: none; background: linear-gradient(135deg, var(--ia-roxo), var(--ia-roxo-2)); }
.video-instagram .video-capa { background: linear-gradient(135deg, #833ab4, #c13584 55%, #f77737); }
.video-tiktok .video-capa { background: linear-gradient(135deg, #111, #2b2b2b 60%, #25f4ee); }
.video-vimeo .video-capa { background: linear-gradient(135deg, #0a4a6e, #1ab7ea); }
.video-capa img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 68px; height: 68px; border-radius: 50%; background: rgba(0,0,0,.65); display: grid; place-items: center; font-size: 28px; padding-left: 4px; transition: background .2s; }
.video-capa:hover .video-play, .video-capa:focus-visible .video-play { background: #c4302b; }
.video-nome { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 14px; font-weight: 600; background: linear-gradient(transparent, rgba(0,0,0,.75)); }
.video-capa:focus-visible { outline: 3px solid var(--ia-ciano); outline-offset: 3px; }
.video figcaption { font-size: .8rem; color: var(--ia-texto-2); margin-top: 6px; }
.editor-dica-video { font-size: .85rem; color: #3f3a40 !important; opacity: 1 !important; margin: 6px 0 0; font-family: inherit; }
/* Criar com IA: cenas tiradas de vídeo */
.ia-video { margin: 16px 0; padding: 12px 16px; border: 1px dashed var(--ia-borda); border-radius: var(--raio); background: #fff; }
.ia-video p { margin: 0 0 8px; }
.ia-video-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ia-video-linha select { min-height: 44px; }
.ia-video-obs { font-size: .85rem; color: var(--ia-texto-2); }
#ia-video-status.erro { color: #b3261e; font-weight: 600; }
.ia-video-linha select { width: auto !important; min-width: 80px; }
/* Envio de vídeo nos editores */
.enviar-video { margin: 8px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.enviar-video-status { font-size: .9rem; }
.enviar-video-status.erro { color: #b3261e; font-weight: 600; }
.enviar-video-barra { flex-basis: 100%; height: 6px; border-radius: 3px; background: #eee; overflow: hidden; }
.enviar-video-barra span { display: block; height: 100%; width: 0; background: var(--ia-ciano); transition: width .2s; }
.video-site video { background: #000; }
/* Criar com IA: sugestões para as dúvidas [entre colchetes] */
.ia-sugestoes { margin: 6px 0 10px; display: grid; gap: 8px; }
.ia-sug-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ia-sug-rotulo { font-size: .85rem; font-weight: 600; color: #8a4b00; margin-right: 2px; }
.ia-sug-op { min-height: 40px; padding: 6px 14px; border-radius: 999px; border: 1px solid #c77700; background: #fff; color: #5c3200; font: inherit; font-size: .95rem; cursor: pointer; }
.ia-sug-op:hover, .ia-sug-op:focus-visible { background: #fff1d6; }
.ia-sug-outro { border-style: dashed; }
.ia-sug-apagar { border-color: var(--ia-borda); color: var(--ia-texto-2); }
.ia-sug-usar { background: #c77700; color: #fff; border-color: #c77700; }
.ia-sugestoes .ia-outro { min-height: 40px; flex: 1 1 160px; margin: 0 !important; }
/* Avaliação e compartilhar (rodapé do tutorial): estrelas na mesma linha e botões sem esticar */
.etapa-rodape { align-items: center; }
.stars { display: inline-flex; align-items: center; gap: 2px; vertical-align: middle; margin-left: 6px; }
.stars img { display: inline-block; width: auto; max-width: none; }
/* Isola o raty das regras de imagem/posição dos cartões legados. */
#boxesArea .box .info .stars { display: inline-flex; flex-flow: row nowrap; align-items: center; width: auto !important; max-width: 100%; gap: 2px; line-height: 1; }
#boxesArea .box .info .stars img, .itemFooter .stars img { position: static; float: none; flex: 0 0 16px; width: 16px; height: 16px; margin: 0; padding: 0; object-fit: contain; }
.compartilhar { align-items: center; }
.compartilhar .btn { height: auto; min-height: 44px; }
.stars + .hint { margin-left: 8px; }
/* Menu das páginas de conta/perfil: a altura fixa antiga (40px) fazia os botões vazarem por cima da foto */
#pageMenu { height: auto !important; min-height: 0; padding: 8px 0 4px; overflow: visible; }
#pageMenu ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0 0 12px; }
#pageMenu a { display: inline-block; margin: 0 !important; line-height: 1.4 !important; padding: 6px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--ia-borda); text-decoration: none; color: var(--ia-roxo) !important; font: 600 .9rem/1.4 inherit; font-family: inherit !important; }
/* Catálogo: componentes isolados do layout de caixas legado. */
.catalogo { padding-top: 40px; padding-bottom: 48px; }
.catalogo-cabecalho { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:30px; }
.catalogo-chamada { color:var(--ia-roxo); text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; font-weight:700; margin:0 0 12px; }
.catalogo h1 { color:var(--ia-roxo); font:700 clamp(1.8rem,4vw,3rem)/1.1 var(--fonte-titulo); margin:0 0 14px; letter-spacing:-.035em; }
.catalogo-cabecalho p:last-child { color:var(--ia-texto-2); margin:0; }
.catalogo-categorias { display:flex; gap:8px; overflow-x:auto; padding:4px 3px 18px; scrollbar-width:thin; }
.catalogo-categorias a { white-space:nowrap; text-decoration:none; border:1px solid var(--ia-borda); border-radius:999px; padding:9px 16px; color:var(--ia-roxo); background:#fff; font-size:.875rem; }
.catalogo-categorias a[aria-current] { background:var(--ia-roxo); color:#fff; border-color:var(--ia-roxo); }
.catalogo-ferramentas { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:12px 0 22px; font-size:.875rem; color:var(--ia-texto-2); }
.catalogo-ferramentas form { display:flex; align-items:center; gap:10px; }
.catalogo-ferramentas select { font:inherit; color:var(--ia-roxo); padding:9px 30px 9px 12px; border:1px solid var(--ia-borda); border-radius:8px; background:#fff; max-width:100%; }
.catalogo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 18px; align-items:stretch; }
.projeto-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--ia-borda); background:#fff; border-radius:14px; overflow:hidden; transition:box-shadow .2s,border-color .2s; }
.projeto-card:hover,.projeto-card[data-aberto] { border-color:var(--ia-roxo); box-shadow:0 8px 24px #44053f12; }
.projeto-foto { display:block; position:relative; aspect-ratio:3/2; overflow:hidden; background:#f0e9ef; text-decoration:none; }
.projeto-foto img { display:block; width:100%; height:100%; object-fit:cover; }
.projeto-sem-foto { display:grid; place-items:center; height:100%; padding:20px; text-align:center; color:#705469; font-size:.875rem; }
.projeto-abrir { position:absolute; left:12px; right:12px; bottom:10px; display:flex; justify-content:space-between; background:#fffef7f2; color:var(--ia-roxo); padding:8px 10px; border-radius:6px; font-size:.75rem; font-weight:700; opacity:0; transition:opacity .2s; }
.projeto-card:hover .projeto-abrir,.projeto-card:focus-within .projeto-abrir { opacity:1; }
.projeto-corpo { padding:16px; display:flex; flex:1; flex-direction:column; gap:10px; }
.projeto-categoria { font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; color:#77566d; font-weight:700; text-decoration:none; }
.projeto-card h2 { font:700 1.03rem/1.35 var(--fonte-titulo); margin:0; overflow-wrap:anywhere; }
.projeto-card h2 a { color:var(--ia-roxo); text-decoration:none; }
.projeto-autor { color:#6e5868; font-size:.75rem; text-decoration:none; margin-bottom:auto; }
.projeto-nota { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.7rem; color:#73536a; }
.projeto-estrelas { display:inline-block; position:relative; font:16px/1 Arial,sans-serif; letter-spacing:1px; color:#dad1d6; white-space:nowrap; }
.projeto-estrelas-cheias { position:absolute; left:0; top:0; overflow:hidden; color:#a96a00; white-space:nowrap; }
.projeto-metricas { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; font-size:.65rem; color:#6e5868; border-top:1px solid #eee7ec; padding-top:10px; }
.catalogo-previa { grid-column:1/-1; padding:28px; background:#f0e9ef; border:1px solid #d9c8d6; border-radius:14px; position:relative; animation:previa-entra .24s ease; }
.catalogo-previa[hidden] { display:none; }
.catalogo-previa-conteudo { display:grid; grid-template-columns:1fr 1.2fr; gap:28px; padding-right:24px; }
.catalogo-previa img { width:100%; max-height:340px; object-fit:cover; border-radius:10px; }
.catalogo-previa h2 { color:var(--ia-roxo); font:700 1.6rem/1.2 var(--fonte-titulo); margin:0 0 12px; }
.catalogo-previa p { white-space:pre-line; overflow-wrap:anywhere; }
.catalogo-previa-fechar { position:absolute; right:12px; top:12px; width:44px; height:44px; border:1px solid #d9c8d6; background:#fff; border-radius:50%; color:var(--ia-roxo); font-size:1.4rem; cursor:pointer; }
.catalogo :focus-visible,.criador :focus-visible { outline:3px solid #087f79; outline-offset:3px; }
@keyframes previa-entra { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:none; } }
@media(max-width:1050px) { .catalogo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:850px) { .catalogo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .catalogo-cabecalho { align-items:flex-start; flex-direction:column; } }
@media(max-width:480px) { .catalogo { padding-top:28px; } .catalogo-grid { grid-template-columns:minmax(0,1fr); gap:18px; } .catalogo-previa { padding:20px; } .catalogo-previa-conteudo { grid-template-columns:1fr; padding:34px 0 0; gap:16px; } }
@media(prefers-reduced-motion:reduce) { .catalogo *, .catalogo-previa { animation:none !important; transition:none !important; } }
/* Perfil público: só métricas de projetos ativos e publicados. */
.criador { padding-top:24px; padding-bottom:56px; }
.criador-capa { display:flex; align-items:center; gap:24px; background:#f0e9ef; border:1px solid #dfd1dc; border-radius:18px; padding:32px; }
.criador-avatar { width:112px; height:112px; flex:0 0 112px; border-radius:50%; display:grid; place-items:center; overflow:hidden; background:var(--ia-roxo); color:white; font-size:2.2rem; font-weight:700; border:4px solid white; }
.criador-avatar img { width:100%; height:100%; object-fit:cover; }
.criador-identidade { flex:1; min-width:0; }
.criador-capa h1 { margin:4px 0 8px; font:700 clamp(1.6rem,4vw,2.5rem)/1.2 var(--fonte-titulo); color:var(--ia-roxo); overflow-wrap:anywhere; }
.criador-sobretitulo { text-transform:uppercase; letter-spacing:.12em; font-size:.7rem; color:#68455f; margin:0; }
.criador-selo { background:#44053f; color:#fff; border-radius:999px; padding:4px 10px; font-size:.75rem; }
.criador-desde { margin:12px 0 0; font-size:.8rem; color:#68455f; }
.criador-estatisticas { display:grid; grid-template-columns:1fr 1fr 2fr; gap:16px; margin:24px 0; }
.criador-estatisticas > div { padding:20px; border:1px solid var(--ia-borda); border-radius:12px; background:white; }
.criador-estatisticas strong { display:block; font-size:1.6rem; color:var(--ia-roxo); margin-bottom:6px; }
.criador-estatisticas > div:last-child strong { font-size:1rem; }
.criador-estatisticas span { font-size:.8rem; color:#6e5868; }
.criador-ferramentas { display:flex; gap:20px; align-items:center; justify-content:space-between; margin:20px 0; }
.criador-ferramentas form { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.criador-ferramentas label,.criador-ferramentas small { width:100%; }
.criador-em-breve { color:#6e5868; }
.criador-galeria-titulo { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:32px 0 20px; color:#6e5868; font-size:.8rem; }
.criador-galeria-titulo h2 { margin:0; color:var(--ia-roxo); font:700 1.4rem var(--fonte-titulo); }
@media(max-width:700px) { .criador-capa { padding:24px; flex-wrap:wrap; gap:16px; } .criador-avatar { width:80px; height:80px; flex-basis:80px; font-size:1.5rem; } .criador-estatisticas { grid-template-columns:1fr 1fr; gap:10px; } .criador-estatisticas > div:last-child { grid-column:1/-1; } .criador-ferramentas { align-items:flex-start; flex-direction:column; } }
@media(max-width:700px) {
  .criador-capa { display:grid; grid-template-columns:80px minmax(0,1fr); align-items:center; }
  .criador-capa > .btn { grid-column:1/-1; justify-self:start; }
}
/* Abertura da home: convite para criar com IA. Sem animação ou dependência de JS. */
.convite-ia{padding-top:28px;padding-bottom:28px}.convite-ia-painel{position:relative;display:grid;grid-template-columns:1.12fr 1fr;gap:44px;align-items:center;padding:48px;background:linear-gradient(120deg,#f1e6ef 0%,#fcf7ed 60%,#e6f6f2 100%);border:1px solid #e9dce6;border-radius:28px;overflow:hidden}.convite-ia-selo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.65rem;letter-spacing:.1em;font-weight:800;color:var(--ia-roxo)}.convite-ia-selo>span:first-child{font-size:1.2rem;color:#8b4f78}.convite-ia-beta{background:var(--ia-amarelo);font-size:.7rem;padding:2px 9px;border-radius:20px;letter-spacing:0;text-transform:lowercase}.convite-ia h2{font-family:var(--fonte-titulo);font-size:clamp(2.1rem,4.2vw,3.5rem);line-height:1.07;letter-spacing:-.035em;margin:20px 0;color:var(--ia-roxo)}.convite-ia h2 em{font-style:normal;color:#8b4b73}.convite-ia-texto>p{max-width:35em;color:var(--ia-texto-2);font-size:1rem;line-height:1.65;margin:0 0 24px}.convite-ia .convite-ia-cta{background:var(--ia-roxo);color:white;padding:15px 24px;gap:28px;border-radius:999px;box-shadow:0 5px 0 rgba(61,21,48,.09)}.convite-ia-cta:hover{background:var(--ia-roxo-2);transform:translateY(-1px)}.convite-ia-cta span{font-size:1.3rem;line-height:1}.convite-ia-texto>.convite-ia-nota{font-size:.73rem;margin:15px 0 0}.convite-ia-demo{background:rgba(255,255,255,.95);border:1px solid #eee3ea;border-radius:20px;box-shadow:0 18px 45px #3d153014;transform:rotate(1deg)}.convite-ia-demo-topo{display:flex;align-items:center;gap:8px;padding:18px 20px;border-bottom:1px solid #f0e8ee;font-size:.7rem;font-weight:700;color:var(--ia-roxo)}.convite-ia-demo-topo>span:first-child{color:#169a91;font-size:1.1rem}.convite-ia-pontos{margin-left:auto;letter-spacing:2px;color:#bfa5b8}.convite-ia-etapas{list-style:none;margin:0;padding:22px}.convite-ia-etapas li{position:relative;display:flex;align-items:start;gap:14px;margin-bottom:22px}.convite-ia-etapas li:last-child{margin-bottom:0}.convite-ia-numero{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;background:#d8f5ef;border-radius:50%;font-weight:800;font-size:.8rem;color:#15685f}.convite-ia-etapas strong{font-size:.85rem;color:var(--ia-roxo)}.convite-ia-etapas p{font-size:.72rem;color:#766772;margin:3px 0 0}.convite-ia-arquivos{display:flex;gap:8px;margin-top:13px;align-items:center}.convite-ia-arquivos>span{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #e6dce4;background:#faf7f9;border-radius:9px;width:64px;height:68px;font-size:.6rem;color:#7f5670}.convite-ia-arquivos svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.5}.convite-ia-arquivos>.convite-ia-mais{border-style:dashed;background:white;color:#a68c9e;width:40px;height:50px;font-size:1.4rem}.convite-ia-rascunho{background:#f7f2f6;border:1px solid #eee3eb;border-radius:7px;padding:11px 13px;width:200px;max-width:100%;margin-top:10px}.convite-ia-rascunho i{display:block;width:90%;height:5px;margin-bottom:6px;background:#d9c6d3;border-radius:3px}.convite-ia-rascunho i:first-child{width:55%;background:#ac819f}.convite-ia-rascunho i:last-child{width:72%;margin:0}.convite-ia-check{margin-left:auto;align-self:center;background:#1d968a;color:white;border-radius:50%;padding:2px 8px;font-size:.8rem}.convite-ia-rodape{border-top:1px solid #eee4eb;padding:13px 18px;font-size:.65rem;color:#87717f;text-align:center}.convite-ia-rodape span{color:#bd698f;margin-right:5px}@media(max-width:760px){.convite-ia{padding-top:18px;padding-bottom:18px}.convite-ia-painel{grid-template-columns:1fr;gap:30px;padding:28px 24px;border-radius:20px}.convite-ia h2{font-size:2.5rem}.convite-ia-demo{transform:none;max-width:430px;width:100%;margin:auto}.convite-ia-selo{font-size:.59rem}.convite-ia-texto>p{font-size:.95rem}.convite-ia-cta{width:100%}.convite-ia-texto>.convite-ia-nota{text-align:center}}@media(prefers-reduced-motion:reduce){.convite-ia-cta:hover{transform:none}}
/* Demonstração de foto → rascunho na home */
.convite-ia-animada{transform:none;min-width:0}.demo-identificacao{font-size:.48rem;letter-spacing:.09em;color:#8d7485;background:#f4eef3;padding:4px 7px;border-radius:5px;margin-left:auto}.demo-progresso{display:flex;gap:6px;padding:14px 20px 12px;font-size:.62rem;color:#8b7585}.demo-progresso span{flex:1;text-align:center;border-bottom:2px solid #eee4eb;padding-bottom:8px}.demo-progresso [data-ativo=true]{color:#176c65;border-color:#1fb5ab;font-weight:800}.demo-exemplo{margin:0 20px}.demo-exemplo[hidden]{display:none!important}.demo-foto{position:relative;height:165px;overflow:hidden;border-radius:10px;background:#f4eef2}.demo-foto img{width:100%;height:100%;object-fit:cover}.demo-foto-selo{position:absolute;bottom:10px;left:10px;padding:4px 9px;border-radius:6px;background:#fffef6f0;font-size:.6rem;color:#3d1530;font-weight:700}.demo-foto-selo span{color:#168276;margin-right:3px}.demo-documento{margin:12px 0 0;border:1px solid #eee3eb;border-radius:10px;padding:13px 14px;background:#fff;min-height:168px}.demo-campo small{display:block;font-size:.49rem;letter-spacing:.13em;color:#9b8192;margin-bottom:3px}.demo-campo strong{display:block;font-size:.85rem;line-height:1.3;min-height:2.6em;color:#3d1530}.demo-campo p{font-size:.68rem;line-height:1.5;margin:0;min-height:3em;color:#796271}.demo-campo-intro{margin-top:9px}.demo-etiquetas{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.demo-etiquetas span{padding:3px 7px;background:#ecf8f4;border-radius:5px;font-size:.5rem;color:#276a5e}.demo-estado{display:flex;align-items:center;gap:6px;margin:12px 20px 0;font-size:.62rem;color:#715168;min-height:29px}.demo-estado>span:first-child{color:#17988d}.demo-estado button{margin-left:auto;font:inherit;padding:5px 7px;border:1px solid #e6dce4;background:white;color:#6c4a60;border-radius:5px;cursor:pointer;min-height:32px}.demo-escolhas{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:10px 20px;color:#8a7482;font-size:.58rem}.demo-miniaturas{display:flex;gap:6px}.demo-miniaturas button{padding:2px;border:2px solid transparent;background:#faf6f9;border-radius:7px;cursor:pointer;min-width:44px;min-height:40px}.demo-miniaturas button[aria-current]{border-color:#1aa095}.demo-miniaturas img{width:40px;height:30px;object-fit:cover;border-radius:3px}.convite-ia-animada .convite-ia-rodape{font-size:.58rem;padding:10px}.demo-foto-analise{display:none;position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(43,209,198,.35),transparent);background-size:100% 200%;animation:demo-analyse 1.4s linear infinite}.convite-ia-animada[data-fase=analisando] .demo-foto-analise{display:block}.convite-ia-animada[data-demo-pronta=true][data-fase=foto] .demo-documento,.convite-ia-animada[data-fase=analisando] .demo-documento{background:repeating-linear-gradient(#fff 0px,#fff 24px,#f7f2f6 25px,#f7f2f6 30px)}.convite-ia-animada[data-demo-pronta=true]:not([data-fase=pronto]) .demo-etiquetas{opacity:.3}.demo-digitando::after{content:"";display:inline-block;width:2px;height:.9em;background:#1aa095;margin-left:2px;vertical-align:baseline}.convite-ia-animada[data-pausada=true] *{animation-play-state:paused!important}@keyframes demo-analyse{from{background-position:0 100%}to{background-position:0 -100%}}
/* Posts em carrossel: links e paginação originais preservados. */
.home-posts{padding-top:18px;padding-bottom:28px}.home-posts .secao-cabecalho{margin-bottom:14px}.home-posts .categorias{margin-bottom:15px}.home-posts-cabecalho{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.home-posts-cabecalho>p{margin:0;color:#89707f;font-size:.8rem}.home-posts-controles{display:flex;align-items:center;gap:8px}.home-posts-controles[hidden]{display:none}.home-posts-controles>span{font-size:.65rem;color:#8c7585;margin-right:5px;white-space:nowrap}.home-posts-controles button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:white;color:#3d1530;border:1px solid #e4d7e0;border-radius:50%;cursor:pointer;font-size:1rem}.home-posts-controles button:disabled{opacity:.35;cursor:default}.home-posts-trilho{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3.2);gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#d1b8c9 transparent;padding:4px 3px 18px;cursor:grab}.home-posts-trilho>.card{scroll-snap-align:start;min-width:0;margin:0;display:flex;flex-direction:column;background:white;border:1px solid #e8e0e6;border-radius:16px;overflow:hidden;box-shadow:0 4px 14px #3d153008;transition:box-shadow .2s}.home-posts-trilho>.card:hover{box-shadow:0 7px 22px #3d153015}.home-posts-trilho>.card>img{width:100%;height:180px;object-fit:cover}.home-posts-trilho .corpo{display:flex;flex-direction:column;flex:1;padding:18px}.home-posts-trilho .card h3{font-size:1.05rem;line-height:1.3;margin:9px 0;min-height:2.6em}.home-posts-trilho .card h3 a{text-decoration:none}.home-posts-trilho .autor{font-size:.73rem;margin-bottom:14px}.home-posts-trilho .meta{font-size:.67rem;margin-top:auto}.home-posts-trilho.esta-arrastando{scroll-snap-type:none;user-select:none;cursor:grabbing}.home-posts .paginacao{margin-top:18px}.home-posts~.vitrine{margin-top:12px}@media(max-width:1000px){.home-posts-trilho{grid-auto-columns:calc((100% - 28px)/2.2)}}@media(max-width:760px){.convite-ia-painel{gap:24px}.convite-ia-animada{max-width:430px}.demo-documento{min-height:180px}.demo-foto{height:155px}.demo-exemplo{margin:0 14px}.demo-progresso{padding-left:14px;padding-right:14px}.demo-estado{margin-left:14px;margin-right:14px}.demo-escolhas{padding-left:14px;padding-right:14px}.home-posts-trilho{grid-auto-columns:84%;gap:14px}.home-posts .secao-cabecalho{align-items:start}.home-posts h2{font-size:1.45rem}.home-posts-cabecalho>p{font-size:.7rem;max-width:160px}.home-posts-controles>span{display:none}.home-posts-trilho>.card>img{height:185px}.demo-identificacao{font-size:.44rem}}@media(prefers-reduced-motion:reduce){.demo-foto-analise{animation:none}.home-posts-trilho>.card{transition:none}}

.demo-campo strong{height:2.6em;overflow:hidden}.demo-campo p{height:3em;overflow:hidden}

.home-posts-sem-foto{height:180px;display:flex;align-items:center;justify-content:center;background:linear-gradient(130deg,#f1e2ee,#e4f2ee);color:#b49bab}.home-posts-sem-foto svg{width:70px;height:70px}.home-posts-trilho{scroll-padding-inline:3px}@media(max-width:760px){.home-posts-sem-foto{height:185px}}

.convite-ia-animada[data-fase=foto] .demo-foto img{animation:demo-foto-chegando .65s ease-out both}@keyframes demo-foto-chegando{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.convite-ia-animada[data-fase=foto] .demo-foto img{animation:none}}
