/* ==========================================================================
   Fichas públicas de empresa e investidor (/empresas, /investidores)
   14/10/2026. A página é montada pelo backend (routes/paginasEmpresas.js)
   dentro de fichas-molde.html; este arquivo só acrescenta o que a ficha
   tem e o site não tinha. Tokens, botões, barra e rodapé são de site.css.
   Prefixo `fp-` em tudo, para não colidir com o resto do site.
   ========================================================================== */

.fp-corpo{background:var(--paper)}
.fp{padding-top:calc(var(--nav-h) + 22px);padding-bottom:56px}
.fp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fp-btn--ink{background:var(--ink);color:#fff}
.fp-btn--ink:hover{background:var(--navy)}
.fp .wf-btn svg{width:15px;height:15px}

/* trilha e busca da barra */
.fp-trilha{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.85rem;color:var(--txt-3)}
.fp-trilha nav{display:flex;flex-wrap:wrap;align-items:center;min-width:0}
.fp-trilha a:hover{color:var(--txt)}
.fp-trilha i{font-style:normal;margin:0 8px;color:var(--line-3)}
.fp-trilha [aria-current]{color:var(--txt-2)}
.fp-minibusca{position:relative;display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);
  border-radius:999px;padding:7px 14px;width:280px;color:var(--txt-3)}
.fp-minibusca input{border:0;outline:0;background:transparent;font:400 .875rem var(--sans);color:var(--txt);width:100%;min-width:0}
.fp-minibusca:focus-within{border-color:var(--navy)}

/* cabeçalho */
.fp-cab{display:flex;align-items:center;gap:24px;padding:26px 0 30px;border-bottom:1px solid var(--line)}
.fp-cab__logo{width:84px;height:84px;border-radius:18px;border:1px solid var(--line);background:#fff;object-fit:contain;flex:none}
.fp-cab__logo--vazio,.fp-par__logo--vazio,.fp-wl__logo--vazio{display:grid;place-items:center;background:var(--line-2);color:var(--txt-2);font-weight:600}
.fp-cab__logo--vazio{font-size:1.6rem}
.fp-cab__id{min-width:0}
.fp-cab h1{font-size:clamp(2rem,4vw,2.6rem);font-weight:600;letter-spacing:-.02em;line-height:1.05}
.fp-cab__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.fp-tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 12px;font-size:.84rem;color:var(--txt)}
.fp-tag b{font-weight:500;color:var(--txt-3)}
.fp-cab__acoes{margin-left:auto;display:flex;gap:10px;align-self:center}

/* grade */
.fp-grade{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;padding:34px 0 10px}
.fp-bloco{margin-bottom:34px}
.fp-bloco h2{font-size:1.15rem;font-weight:600;margin-bottom:12px;letter-spacing:-.01em}
.fp-sobre{font-size:1.06rem;color:#2A2E36;max-width:62ch;line-height:1.6}
.fp-tab-rolo{border:1px solid var(--line);border-radius:var(--raio);overflow:hidden;background:#fff}
.fp-tab{width:100%;border-collapse:collapse;font-size:.92rem}
.fp-tab th{text-align:left;font-weight:500;color:var(--txt-3);font-size:.8rem;padding:11px 16px;border-bottom:1px solid var(--line);background:#FBFAF7}
.fp-tab td{padding:12px 16px;border-bottom:1px solid var(--line-2);vertical-align:top}
.fp-tab tr:last-child td{border-bottom:0}
.fp-tab__pais{color:var(--txt-3);font-size:.85rem;white-space:nowrap}
.fp-num{font-family:var(--mono);font-size:.82rem;color:var(--txt-3);white-space:nowrap}

.fp-cartao{background:#fff;border:1px solid var(--line);border-radius:var(--raio);padding:20px 22px;margin-bottom:18px}
.fp-cartao--lista{padding:8px 22px}
.fp-lado h3{font-size:.95rem;font-weight:600;margin-bottom:12px}
.fp-fatos{display:grid;grid-template-columns:auto 1fr;gap:9px 18px;font-size:.9rem}
.fp-fatos dt{color:var(--txt-3)}
.fp-fatos dd{text-align:right}
.fp-par{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line-2)}
.fp-cartao h3 + .fp-par,.fp-cartao--lista .fp-par:first-child{border-top:0}
.fp-par:hover b{color:var(--navy)}
.fp-par__logo{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);object-fit:contain;background:#fff;flex:none;font-size:.75rem}
.fp-par b{display:block;font-weight:500;font-size:.93rem}
.fp-par span span{font-size:.8rem;color:var(--txt-3)}

/* banner da conta paga */
.fp-banner{position:relative;overflow:hidden;background:var(--ink);color:var(--on-dark);border-radius:20px;padding:40px 44px;
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;margin:14px 0 44px}
.fp-banner::before{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark) 1px,transparent 1px);
  background-size:56px 56px;opacity:.35;-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 75%);mask-image:linear-gradient(90deg,transparent 30%,#000 75%)}
.fp-banner>*{position:relative}
.fp-banner__selo{font-size:.82rem;color:var(--green);font-weight:500;letter-spacing:.02em}
.fp-banner h2{font-size:1.85rem;line-height:1.15;font-weight:600;letter-spacing:-.015em;margin:8px 0 20px;color:#fff;max-width:20ch}
.fp-banner ul{list-style:none;display:grid;gap:11px;margin:0 0 26px;padding:0}
.fp-banner li{display:flex;gap:12px;align-items:flex-start;font-size:1rem;color:rgba(237,241,247,.9)}
.fp-banner li svg{flex:none;margin-top:4px}
.fp-banner__acoes{display:flex;gap:10px;flex-wrap:wrap}
.fp-banner__vitrine{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:center}
.fp-amostra{background:#fff;color:var(--txt);border-radius:14px;padding:16px 18px;box-shadow:0 20px 40px -24px rgba(0,0,0,.6);min-width:0}
.fp-amostra__tt{font-size:.75rem;font-weight:500;color:var(--txt-3);margin-bottom:10px;display:flex;justify-content:space-between}
.fp-amostra--larga{grid-column:1/-1}
.fp-anel{display:flex;align-items:center;gap:14px}
.fp-anel__c{width:58px;height:58px;border-radius:50%;background:conic-gradient(var(--navy) 0 82%,var(--line-2) 82% 100%);display:grid;place-items:center;flex:none}
.fp-anel__c i{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;font:500 .95rem var(--mono);font-style:normal}
.fp-anel__c--g{width:80px;height:80px}
.fp-anel__c--g i{width:62px;height:62px;font-size:1.2rem}
.fp-borra{filter:blur(5px);user-select:none}
.fp-dims{display:grid;gap:6px;flex:1;min-width:0}
.fp-dim{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:8px;font-size:.72rem;color:var(--txt-3)}
.fp-dim span{height:6px;border-radius:4px;background:var(--line-2);position:relative;overflow:hidden}
.fp-dim span::after{content:'';position:absolute;inset:0 auto 0 0;width:var(--v);background:var(--blue);border-radius:4px}
.fp-wl{display:flex;align-items:center;gap:8px;font-size:.82rem;padding:5px 0;min-width:0}
.fp-wl__logo{width:22px;height:22px;border-radius:6px;border:1px solid var(--line);object-fit:contain;flex:none;font-size:.6rem}
.fp-wl__n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fp-wl i{margin-left:auto;font-style:normal;font-size:.7rem;color:var(--txt-3);white-space:nowrap}
.fp-evento{display:flex;gap:10px;align-items:flex-start;font-size:.83rem;padding:7px 0;border-top:1px solid var(--line-2)}
.fp-amostra__tt + .fp-evento{border-top:0;padding-top:0}
.fp-evento em{font-style:normal;font-size:.7rem;font-weight:500;padding:2px 8px;border-radius:999px;background:#E6F4FE;color:#075E91;white-space:nowrap}
.fp-evento em.v{background:#DFFBEB;color:#0B6B3A}

/* blocos trancados */
.fp-trancas{display:grid;grid-template-columns:1fr 1fr;gap:18px}
/* número ímpar de blocos (3 numa empresa com Score, captações e notícias):
   o último ocupa a linha inteira em vez de deixar um buraco ao lado */
.fp-trancas>.fp-tranca:last-child:nth-child(odd){grid-column:1/-1}
.fp-tranca{background:#fff;border:1px solid var(--line);border-radius:var(--raio);padding:20px 22px;position:relative;overflow:hidden;min-height:250px}
.fp-tranca__tt{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.fp-tranca__tt h3{font-size:1rem;font-weight:600}
.fp-cadeado{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--txt-3);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.fp-cab__acoes .wf-btn svg,.fp-cadeado svg{width:12px;height:12px}
.fp-tranca__fundo{filter:blur(6px);opacity:.7;user-select:none;pointer-events:none}
.fp-tranca__vel{position:absolute;inset:56px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 28px;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.88) 38%,#fff 70%)}
.fp-tranca__vel p{font-size:.92rem;color:#2A2E36;max-width:34ch;margin-bottom:14px}
.fp-linha{display:grid;grid-template-columns:90px 1fr 90px;gap:12px;padding:10px 0;border-top:1px solid var(--line-2);font-size:.86rem}
.fp-linha:first-child{border-top:0}
.fp-manchete{padding:10px 0;border-top:1px solid var(--line-2)}
.fp-manchete:first-child{border-top:0}
.fp-manchete b{display:block;font-weight:500;font-size:.92rem}
.fp-manchete span{font-size:.78rem;color:var(--txt-3)}
.fp-numeros{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:8px}
.fp-numeros b{display:block;font:500 1.4rem var(--mono)}
.fp-numeros span{font-size:.8rem;color:var(--txt-3)}

/* listas */
.fp-lista__cab{padding:18px 0 22px}
.fp-lista__cab h1{font-size:clamp(2rem,4vw,2.6rem);font-weight:600;letter-spacing:-.02em;line-height:1.08}
.fp-lista__cab p{margin-top:10px;color:var(--txt-2);max-width:60ch;font-size:1.05rem}
.fp-filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:24px}
.fp-filtros__busca{display:flex;align-items:center;gap:8px;flex:1 1 260px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px;color:var(--txt-3)}
.fp-filtros__busca input{border:0;outline:0;background:transparent;font:400 .95rem var(--sans);color:var(--txt);width:100%;min-width:0}
.fp-grade-lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fp-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:0}
.fp-item:hover{border-color:var(--line-3)}
.fp-item b{display:block;font-weight:500;font-size:.95rem}
.fp-item span{min-width:0}
.fp-item span span{display:block;font-size:.8rem;color:var(--txt-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fp-nada{padding:10px 0 30px;color:var(--txt-2)}
.fp-lista__tt{font-size:1.05rem;font-weight:600;margin:6px 0 14px;color:var(--txt)}
.fp-lista__nota{margin-top:16px;font-size:.88rem;color:var(--txt-3)}
.fp-vazio{min-height:50vh}
.fp-vazio h1{font-size:1.8rem;font-weight:600;margin:20px 0}

/* sugestões da busca (barra da ficha e home) */
.fp-sug{position:fixed;max-height:min(440px,70vh);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px 0;
  box-shadow:0 24px 50px -20px rgba(10,23,41,.45);z-index:60;font-family:var(--sans);text-align:left;color:var(--txt)}
.fp-sug[hidden]{display:none}
.fp-sug__tt{font-size:.72rem;font-weight:500;color:var(--txt-3);padding:8px 16px 4px}
.fp-sug a{display:flex;align-items:center;gap:12px;padding:8px 16px;color:var(--txt)}
.fp-sug a.ativo,.fp-sug a:hover{background:#F1F4F8}
.fp-sug .fp-par__logo{width:30px;height:30px;border-radius:8px}
.fp-sug b{display:block;font-weight:500;font-size:.95rem}
.fp-sug a span span{display:block;font-size:.8rem;color:var(--txt-3)}
.fp-sug .fp-sug__todas{display:block;border-top:1px solid var(--line-2);margin-top:4px;padding:10px 16px 6px;color:var(--navy);font-weight:500;font-size:.88rem}

/* busca da home, em cima dos botões do hero */
.wf-busca-hero{position:relative;max-width:640px;margin:34px 0 22px}
.wf-busca-hero[hidden]{display:none}
.wf-busca-hero__caixa{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:8px 8px 8px 20px;
  box-shadow:0 18px 50px -18px rgba(0,0,0,.6);color:#6b7280}
.wf-busca-hero__caixa:focus-within{box-shadow:0 18px 50px -18px rgba(0,0,0,.6),0 0 0 3px rgba(47,240,138,.45)}
.wf-busca-hero__caixa input{flex:1;border:0;outline:0;font:400 1.0625rem var(--sans);color:var(--ink);background:transparent;min-width:0}
.wf-busca-hero__caixa input::placeholder{color:#8a8f98}
.wf-busca-hero__caixa button{flex:none;border:0;border-radius:999px;background:var(--green);color:var(--ink);font:600 1rem var(--sans);padding:13px 26px;cursor:pointer}
.wf-busca-hero__caixa button:hover{background:#4df6a0}
.wf-hero__acoes{position:relative;z-index:1}
.wf-busca-hero{z-index:5}

@media (max-width:900px){
  .fp-grade{grid-template-columns:minmax(0,1fr);gap:10px}
  .fp-banner{grid-template-columns:minmax(0,1fr);padding:30px 22px;gap:28px}
  .fp-banner h2{font-size:1.5rem}
  .fp-banner li{font-size:.95rem}
  .fp-banner__vitrine{grid-template-columns:minmax(0,1fr)}
  .fp-amostra--watch{display:none}
  .fp-trancas{grid-template-columns:minmax(0,1fr)}
  .fp-grade-lista{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fp-minibusca{display:none}
  .fp-cab{flex-wrap:wrap;gap:16px}
  .fp-cab__logo{width:64px;height:64px}
  .fp-cab__acoes{margin-left:0;width:100%}
  .fp-cab__acoes .wf-btn{flex:1;justify-content:center}
}
@media (max-width:600px){
  .fp-grade-lista{grid-template-columns:minmax(0,1fr)}
  .fp-tab th:nth-child(3),.fp-tab td:nth-child(3){display:none}
  .wf-busca-hero{margin:26px 0 18px}
  /* a frase inteira ("Busque qualquer fintech ou investidor") tem de caber
     sem corte no telefone: lupa, folgas e botão encolhem um pouco */
  .wf-busca-hero__caixa{padding:6px 6px 6px 12px;gap:6px}
  .wf-busca-hero__caixa svg{width:18px;height:18px}
  /* a letra acompanha a largura: o que sobra para o campo é ~ a tela menos
     172px (margens, lupa e botão), e a frase mede ~16,6 vezes a letra; o
     divisor tem folga porque o campo de busca reserva espaço por dentro */
  .wf-busca-hero__caixa input{font-size:clamp(11px,calc((100vw - 172px) / 18.2),.875rem)}
  .wf-busca-hero__caixa input::-webkit-search-decoration{-webkit-appearance:none}
  .wf-busca-hero__caixa button{padding:10px 14px;font-size:.92rem}
}
@media (max-width:370px){
  .wf-busca-hero__caixa button{padding:9px 11px;font-size:.875rem}
}
