/* =========================================================
   FERRAMENTAS.CSS — estilos compartilhados entre as ferramentas do
   site (Calculadora DCA, Comparador de Investimentos, Comparador de
   Ciclos, Bitcoin Spiral).
   =========================================================
   Extraído byte a byte dos blocos <style> que já existiam embutidos
   em cada página (ver auditoria de estrutura) — nenhuma regra foi
   alterada, só movida para um lugar único.

   O que muda de comportamento entre as ferramentas continua definido
   localmente em cada página: a legenda clicável do Comparador (com
   estado "inativo") vs. a legenda estática da DCA, o dot de cor
   dentro dos cards do Comparador (a DCA não tem), a tabela de
   detalhamento (só a DCA tem), e pequenos ajustes pontuais (ex.:
   .cross-links tem margin-top diferente no Bitcoin Spiral e no
   Comparador de Ciclos — ver override local em cada página).
   ========================================================= */

.v5-layout{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start;}
@media (max-width:960px){.v5-layout{grid-template-columns:1fr;}}

.controle-grupo{margin-bottom:22px;}
.controle-label{
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-tertiary);margin-bottom:9px;
}
.pills{display:flex;flex-wrap:wrap;gap:8px;}
.pill{
  font-family:var(--font-mono);font-size:.8rem;padding:8px 14px;
  border:1px solid var(--border-strong);border-radius:20px;background:transparent;
  color:var(--text-secondary);cursor:pointer;
}
.pill:hover{border-color:var(--accent);color:var(--text-primary);}
.pill.active{border-color:var(--accent);color:var(--accent);font-weight:600;background:var(--accent-soft);}

.datas-exatas{display:none;margin-top:12px;}
.datas-exatas .field-row{display:grid;grid-template-columns:1fr;gap:2px;}
.datas-exatas .field-row input[type="date"]{margin-bottom:8px;}
.datas-exatas .field-row > div:last-child input[type="date"]{margin-bottom:0;}
.datas-exatas input[type="date"]::-webkit-calendar-picker-indicator{
  filter:invert(70%);cursor:pointer;
}

.data-info{font-size:.74rem;color:var(--text-tertiary);margin:8px 0 0;}
/* margem só quando há mensagem de erro de fato — vazia, a div não deve
   empurrar o layout (o v5-layout já cuida do próprio espaçamento). */
#dca-error:not(:empty), #comparador-error:not(:empty){color:var(--red);font-size:.9rem;margin-bottom:16px;}

.legenda-ativos{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-size:.8rem;}
.legenda-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block;}

/* moldura discreta em volta do gráfico. O padding fica no frame
   (externo), não no wrap medido pelo Chart.js, então a altura do
   gráfico continua exatamente a mesma. */
.chart-frame{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;}

/* o gráfico deve ocupar a maior parte da tela em ambas as ferramentas */
#dca-chart-canvas-wrap, #comparador-chart-canvas-wrap{position:relative;height:460px;}
@media (max-width:960px){#dca-chart-canvas-wrap, #comparador-chart-canvas-wrap{height:340px;}}

.comparativo-head{margin:36px 0 16px;}
.comparativo-head h2{font-size:1.2rem;margin-bottom:4px;}
.comparativo-head p{margin:0;font-size:.9rem;}

/* --n-cards é escrito via JS (renderCards) com o número real de cards —
   todos preenchem uma linha só, do mesmo tamanho, nunca um sobrando
   sozinho na linha de baixo. */
.cards-comparativo{display:grid;grid-template-columns:repeat(var(--n-cards,6),1fr);gap:14px;}
@media (max-width:960px){.cards-comparativo{grid-template-columns:repeat(3,1fr);}}
@media (max-width:640px){.cards-comparativo{grid-template-columns:repeat(2,1fr);}}
.card-ativo{
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:20px 14px;text-align:center;
}
.card-ativo .pct{font-family:var(--font-display);font-size:1.5rem;font-weight:600;}
.card-ativo .valor{font-family:var(--font-mono);font-size:.76rem;color:var(--text-tertiary);margin-top:6px;}

.share-row{display:none;justify-content:center;margin-top:24px;}
#share-menu-wrap{position:relative;}
#share-menu{
  display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);
  background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-md);
  padding:6px;min-width:220px;z-index:20;box-shadow:0 10px 30px rgba(0,0,0,.35);
}
#share-menu button{
  display:block;width:100%;text-align:left;background:none;border:none;color:var(--text-primary);
  padding:10px 12px;border-radius:6px;cursor:pointer;font-size:.85rem;white-space:nowrap;
}
#share-menu button:hover{background:var(--bg-card-hover);}

/* cards reais (não links horizontais): tile compacto e mais próximo de um
   quadrado, ícone + título + descrição curta, centralizados como par —
   não esticam para preencher a largura do conteúdo. */
.cross-links{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:32px;}
.cross-link-card{
  display:flex;flex-direction:column;align-items:flex-start;
  width:230px;padding:24px;
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);
  cursor:pointer;transition:border-color .15s ease, background .15s ease, transform .15s ease;
}
@media (max-width:640px){.cross-link-card{width:100%;max-width:320px;}}
.cross-link-card:hover{border-color:var(--accent);background:var(--bg-card-hover);transform:translateY(-3px);}
.cross-link-card .icon{
  width:44px;height:44px;border-radius:10px;
  background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;font-weight:600;margin-bottom:18px;
}
.cross-link-card .tit{font-weight:600;font-size:1.02rem;margin-bottom:6px;color:var(--text-primary);}
.cross-link-card .sub{font-size:.85rem;color:var(--text-tertiary);line-height:1.45;}

.seo-block{max-width:var(--max-w-article);}
.seo-block h2{margin-top:0;}

/* "Guia da ferramenta" — accordion fechado por padrão que concentra o
   conteúdo educativo longo (FAQ, metodologia etc.) de cada ferramenta. */
.seo-accordion{
  margin-top:14px;
  border:1px solid var(--border);border-radius:var(--radius-md);
  background:var(--bg-card);
}
.seo-accordion > summary{
  display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;
  padding:18px 20px;font-weight:600;color:var(--text-primary);
}
.seo-accordion > summary::-webkit-details-marker{display:none;}
.seo-accordion > summary::after{content:'▾';margin-left:auto;color:var(--text-muted);transition:transform .15s ease;}
.seo-accordion[open] > summary::after{transform:rotate(180deg);}
.seo-accordion-content{padding:20px 20px 24px;border-top:1px solid var(--border);}
.seo-accordion-content h2{margin-top:0;}
