/* ============================================================
   Landing page — Trade Diary
   Tema claro (branco + azul Facebook), com menu e rodapé em
   azul-marinho escuro e texto branco.
   ============================================================ */

/* O menu do topo mudou-se para base.css: é o mesmo cabeçalho em todas
   as páginas, e nem todas carregam este arquivo. */

/* ---------- HERO ---------- */
.hero{ padding: 96px 0 72px; position: relative; overflow: hidden; }
.hero::before{
  content: ""; position: absolute; inset: -25% -10% auto -10%; height: 560px;
  background:
    radial-gradient(ellipse 60% 50% at 25% 0%, rgba(24,119,242,.10), transparent 65%),
    radial-gradient(ellipse 45% 40% at 85% 15%, rgba(78,156,255,.08), transparent 70%);
  pointer-events: none;
}
/* malha sutil de pontos — textura de "papel quadriculado" de operador */
.hero::after{
  content: ""; position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(24,119,242,.10) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.5), transparent 60%);
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.5), transparent 60%);
  pointer-events: none;
}
.hero-grid{
  display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 46px; align-items: center;
  position: relative; z-index: 1;
}

.eyebrow{
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--accent); border: 1px solid rgba(24,119,242,.28); background: var(--accent-dim);
  border-radius: 999px; padding: 7px 14px; margin-bottom: 24px;
}
.eyebrow .dot{
  width: 7px; height: 7px; border-radius: 50%; background: var(--gain);
  box-shadow: 0 0 0 3px rgba(30,158,90,.18); animation: pulse 1.8s ease infinite;
}

.hero h1{ font-size: clamp(38px, 4.6vw, 60px); line-height: 1.04; margin-bottom: 22px; letter-spacing: -.02em; }
.hero h1 em{
  font-style: italic; color: var(--accent); position: relative;
  /* Em telas largas fica numa linha só (fica mais bonito); em telas
     estreitas precisa poder quebrar, senão a frase é cortada. */
  white-space: nowrap;
}
@media (max-width: 980px){
  .hero h1 em{ white-space: normal; }
}
.hero p.lede{ font-size: 17.5px; color: var(--text-mid); max-width: 47ch; margin-bottom: 34px; line-height: 1.65; }
.hero-cta{ display: flex; align-items: center; gap: 14px; margin-bottom: 26px; flex-wrap: wrap; }
.hero-cta .btn{ padding: 15px 28px; font-size: 15px; }
.hero-note{ font-size: 13px; color: var(--text-low); }

.hero-stats{
  display: flex; gap: 0; margin-top: 44px; flex-wrap: wrap; row-gap: 20px;
  border-top: 1px solid var(--border-soft); padding-top: 26px;
}
.hero-stats div{ flex: 1; min-width: 110px; padding-right: 20px; position: relative; }
.hero-stats div + div{ padding-left: 20px; border-left: 1px solid var(--border-soft); }
.hero-stats div strong{ display: block; font-family: var(--font-mono); font-size: 23px; color: var(--text-hi); letter-spacing: -.02em; }
.hero-stats div span{ font-size: 12.5px; color: var(--text-low); }

/* ---------- ledger vivo (elemento-assinatura) ---------- */
.ledger-card{
  background: var(--bg-1); border: 1px solid var(--border); border-radius: var(--radius-lg);
  box-shadow: 0 24px 60px rgba(16,24,40,.13), 0 2px 8px rgba(16,24,40,.05);
  overflow: hidden; position: relative;
}
.ledger-card::before{
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--accent), var(--accent-hi), var(--gain));
}
.ledger-card-head{
  display: flex; align-items: center; justify-content: space-between;
  padding: 13px 17px; border-bottom: 1px solid var(--border-soft);
  font-family: var(--font-mono); font-size: 10.5px; color: var(--text-low);
  background: var(--bg-2); letter-spacing: .04em;
}
.ledger-card-head .live{ display: flex; align-items: center; gap: 7px; color: var(--gain); font-weight: 600; }
.ledger-card-head .live::before{ content:""; width:7px; height:7px; border-radius:50%; background: var(--gain); animation: pulse 1.6s ease infinite; }
@keyframes pulse{ 0%,100%{ opacity: 1; } 50%{ opacity: .3; } }

.ledger-body{ padding: 2px 0; }
.ledger-line{
  /* A coluna do meio guarda a estratégia, que é curta. Deixá-la com
     "1fr" abria um vão enorme no meio de cada linha; agora ela cresce
     só o necessário e os números sobem para perto do texto. */
  display: grid; grid-template-columns: 84px minmax(0,.62fr) 92px 60px 104px;
  gap: 10px; align-items: center; justify-content: space-between;
  padding: 7px 17px; border-bottom: 1px solid var(--border-soft);
  opacity: 0; transform: translateY(8px); animation: ledger-in .55s cubic-bezier(.2,.7,.3,1) forwards;
  transition: background .15s ease;
}
.ledger-line:hover{ background: var(--bg-2); }
.ledger-line:last-child{ border-bottom: none; }

/* cada coluna leva duas informações empilhadas, para o cartão
   ficar denso sem precisar crescer para os lados */
.l-ativo, .l-detalhe, .l-res, .l-precos{ display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.l-precos{ text-align: right; font-family: var(--font-mono); }
.l-precos em{ font-style: normal; font-size: 10.5px; color: var(--text-mid); }
.l-precos small{ font-size: 10.5px; color: var(--text-hi); font-weight: 600; }
.l-precos small::before{ content: "↳ "; color: var(--text-low); font-weight: 400; }
.l-ativo strong{ font-family: var(--font-mono); font-size: 12px; color: var(--text-hi); font-weight: 600; }
.l-ativo small{ font-size: 9.5px; color: var(--text-low); font-family: var(--font-mono); }
.l-detalhe em{ font-style: normal; font-size: 11.5px; color: var(--text-mid); font-weight: 500;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.l-detalhe small{ font-size: 9.5px; color: var(--text-low);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.l-dir{
  font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: .05em;
  font-weight: 700; text-align: center; padding: 3px 0; border-radius: 5px;
}
.l-dir.compra{ background: var(--gain-dim); color: var(--gain); }
.l-dir.venda{ background: var(--loss-dim); color: var(--loss); }
.l-res{ text-align: right; }
.l-res strong{ font-family: var(--font-mono); font-size: 12.5px; font-weight: 600; }
.l-res small{ font-family: var(--font-mono); font-size: 9.5px; opacity: .8; }

@keyframes ledger-in{ to{ opacity: 1; transform: translateY(0); } }

.ledger-card-foot{
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 12px 17px; background: var(--bg-2); border-top: 1px solid var(--border-soft);
  flex-wrap: wrap;
}
.foot-metricas{ display: flex; gap: 18px; }
.foot-metricas span{ display: flex; flex-direction: column; gap: 1px; }
.foot-metricas i{ font-style: normal; font-size: 10px; color: var(--text-low);
  text-transform: uppercase; letter-spacing: .05em; }
.foot-metricas b{ font-size: 12px; color: var(--text-hi); font-weight: 600; }
.foot-total{ display: flex; flex-direction: column; gap: 1px; text-align: right; }
.foot-total i{ font-style: normal; font-size: 10px; color: var(--text-low);
  text-transform: uppercase; letter-spacing: .05em; }
.ledger-card-foot strong{ color: var(--gain); font-size: 15.5px; }

/* ---------- faixa "compatível com" ---------- */
.strip{ border-top: 1px solid var(--border-soft); border-bottom: 1px solid var(--border-soft); padding: 28px 0; background: var(--bg-1); }
.strip-inner{ display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.strip-label{
  font-size: 11px; font-weight: 700; color: var(--text-low); font-family: var(--font-mono);
  letter-spacing: .1em; text-transform: uppercase; white-space: nowrap;
}
.strip .platforms{ display: flex; gap: 10px; flex-wrap: wrap; }
.platform-chip{
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px;
  background: var(--bg-2); border: 1px solid var(--border-soft);
  font-family: var(--font-mono); font-size: 12.5px; font-weight: 600; color: var(--text-hi);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  cursor: default;
}
.platform-chip svg{ width: 16px; height: 16px; flex: none; color: var(--accent); }
.platform-chip:hover{
  transform: translateY(-2px); border-color: var(--accent);
  background: var(--accent-dim); box-shadow: 0 6px 18px rgba(24,119,242,.14);
}

/* ---------- cabeçalho de seção ---------- */
section.lp-section{ padding: 100px 0; }
.lp-section.tinted{ background: var(--bg-1); border-block: 1px solid var(--border-soft); }

/* Empilhado: selo, título grande e, abaixo, o texto de apoio
   destacado por uma barra azul vertical. */
.section-head{ max-width: 800px; margin-bottom: 56px; }
.section-head .eyebrow{ margin-bottom: 18px; }
.section-head h2{
  font-size: clamp(28px, 3.4vw, 44px); font-weight: 800;
  margin: 0 0 20px; letter-spacing: -.025em; line-height: 1.12;
}
.section-head p{
  color: var(--text-mid); font-size: 16px; line-height: 1.72; margin: 0;
  max-width: 64ch; padding-left: 20px; border-left: 3px solid var(--accent);
}
.section-head .divider{ display: none; }

/* ---------- features ---------- */
.feature-grid{
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px;
  background: var(--border-soft); border: 1px solid var(--border-soft);
  border-radius: var(--radius-lg); overflow: hidden;
}
.feature{ background: var(--bg-1); padding: 34px 28px; transition: background .2s ease; position: relative; }
.feature::before{
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--accent); transform: scaleY(0); transform-origin: top; transition: transform .25s ease;
}
.feature:hover{ background: var(--bg-2); }
.feature:hover::before{ transform: scaleY(1); }
.feature .num{
  font-family: var(--font-mono); font-size: 11.5px; font-weight: 700; color: var(--accent);
  margin-bottom: 18px; letter-spacing: .05em;
}
.feature h3{ font-size: 18px; margin-bottom: 10px; letter-spacing: -.01em; }
.feature p{ font-size: 14px; color: var(--text-mid); line-height: 1.65; }

/* ---------- integração MQL5 ---------- */
.integration{
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 52px; align-items: center;
  background: var(--bg-1); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 52px; position: relative; overflow: hidden;
  box-shadow: 0 2px 10px rgba(16,24,40,.04);
}
.integration::after{
  content:""; position: absolute; right: -70px; top: -70px; width: 240px; height: 240px; border-radius: 50%;
  background: radial-gradient(circle, rgba(24,119,242,.10), transparent 70%);
}
.code-window{
  background: var(--dark-surface); border: 1px solid var(--dark-border); border-radius: var(--radius-md);
  overflow: hidden; box-shadow: 0 16px 40px rgba(16,24,40,.18);
}
.code-window-head{
  display:flex; gap:7px; align-items: center; padding: 13px 16px;
  border-bottom: 1px solid var(--dark-border); background: rgba(255,255,255,.04);
}
.code-window-head span{ width:10px; height:10px; border-radius:50%; background: rgba(255,255,255,.22); }
.code-window pre{
  margin:0; padding: 22px; font-family: var(--font-mono); font-size: 12.5px; line-height: 1.8;
  color: #C6D3E6; overflow-x: auto;
}
.code-window .kw{ color: #7CB8FF; font-weight: 600; }
.code-window .fn{ color: #6FD8A8; font-weight: 600; }
.code-window .str{ color: #FFC98A; }

.step-list{ display: flex; flex-direction: column; gap: 22px; margin-top: 22px; padding: 0; }
.step-list li{ display: flex; gap: 16px; list-style: none; }
.step-list .n{
  flex: none; width: 30px; height: 30px; border-radius: 50%;
  background: var(--accent-dim); border: 1px solid rgba(24,119,242,.3); color: var(--accent);
  font-family: var(--font-mono); font-size: 12.5px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.step-list h4{ font-size: 15px; margin-bottom: 4px; }
.step-list p{ font-size: 13.5px; color: var(--text-mid); margin: 0; line-height: 1.6; }

/* ---------- mercados ---------- */
/* Três mercados: Bolsa, Forex e Cripto. Em telas estreitas o
   auto-fit empilha sozinho. */
.markets{ display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; }
.market-card{
  border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 36px;
  background: var(--bg-1); position: relative; overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.market-card:hover{
  transform: translateY(-3px); border-color: var(--accent);
  box-shadow: 0 16px 40px rgba(24,119,242,.12);
}
.market-card .tag{ margin-bottom: 18px; }
.market-card h3{ font-size: 22px; margin-bottom: 12px; letter-spacing: -.01em; }
.market-card ul{ margin: 22px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 11px; }
.market-card li{ font-size: 13.5px; color: var(--text-mid); display: flex; gap: 10px; align-items: flex-start; line-height: 1.55; }
.market-card li::before{ content:"—"; color: var(--accent); flex: none; }

/* ---------- preços ---------- */
.pricing-grid{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; align-items: start; }
.plan{
  border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 34px;
  background: var(--bg-1); display: flex; flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}
.plan:hover{ transform: translateY(-3px); box-shadow: 0 16px 40px rgba(16,24,40,.10); }
.plan.featured{
  border-color: var(--accent); box-shadow: var(--shadow-accent); position: relative;
}
.plan.featured::before{
  content: "MAIS ESCOLHIDO"; position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  background: var(--accent); color: #FFFFFF; font-size: 10px; font-weight: 700;
  letter-spacing: .08em; padding: 5px 14px; border-radius: 999px; white-space: nowrap;
}
.plan h3{
  font-size: 13px; color: var(--text-low); font-family: var(--font-body); font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em; margin-bottom: 16px;
}
.plan .price{ font-family: var(--font-mono); font-size: 40px; color: var(--text-hi); margin-bottom: 4px; letter-spacing: -.03em; }
.plan .price span{ font-size: 14px; color: var(--text-low); letter-spacing: 0; }
.plan .desc{ font-size: 13px; color: var(--text-low); margin-bottom: 26px; line-height: 1.55; }
.plan ul{ list-style: none; margin: 0 0 28px; padding: 0; display: flex; flex-direction: column; gap: 13px; flex: 1; }
.plan li{ font-size: 13.5px; color: var(--text-mid); display: flex; gap: 10px; align-items: flex-start; }
.plan li::before{ content: "✓"; color: var(--gain); font-weight: 700; flex: none; }

/* ---------- cta final ---------- */
.cta-final{
  text-align: center; border-radius: var(--radius-lg); padding: 78px 40px;
  background: linear-gradient(160deg, var(--dark-surface), var(--dark-surface-2));
  position: relative; overflow: hidden;
}
.cta-final::before{
  content: ""; position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 26px 26px;
}
.cta-final > *{ position: relative; }
.cta-final h2{ font-size: clamp(28px,3.4vw,42px); margin-bottom: 16px; color: #FFFFFF; letter-spacing: -.02em; }
.cta-final p{ color: var(--dark-text-mid); margin-bottom: 32px; font-size: 16px; }
.cta-final .hero-cta{ justify-content: center; margin-bottom: 0; }
.cta-final .btn-ghost{ color: #FFFFFF; border-color: rgba(255,255,255,.32); }
.cta-final .btn-ghost:hover{ background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.55); color: #FFFFFF; }

/* O rodapé mudou-se para base.css: agora é o mesmo em todas as
   páginas, inclusive nas que não carregam este arquivo. */

/* ---------- reveal on scroll ---------- */
.reveal{ opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.3,1); }
.reveal.visible{ opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity: 1; transform: none; }
}

@media (max-width: 980px){
  .hero-grid, .integration, .feature-grid, .markets, .pricing-grid{ grid-template-columns: minmax(0,1fr); }
  .integration{ padding: 34px 24px; }
  .hero{ padding: 64px 0 48px; }
  section.lp-section{ padding: 68px 0; }
  .plan.featured{ margin-top: 12px; }
}
@media (max-width: 560px){
  .hero-stats div + div{ padding-left: 0; border-left: none; }
  .hero-stats{ gap: 20px; }
  .hero-stats div{ min-width: 45%; }
  .cta-final{ padding: 52px 22px; }

  /* Ledger em telas estreitas: esconde a coluna de detalhe (que quebrava
     em muitas linhas) e reduz o padding, para o valor caber sem cortar. */
  .ledger-line{ grid-template-columns: 1fr 62px 100px; gap: 10px; padding: 9px 16px; }
  .l-detalhe, .l-precos{ display: none; }
  .foot-metricas{ gap: 16px; }
  .ledger-card-head, .ledger-card-foot{ padding-inline: 16px; }
}

/* O menu de perfil também está em base.css, pelo mesmo motivo. */
