/* ══════════════════════════════════════
   BD2FS PAGE SPECIFIC STYLES
   (reutiliza portal.css e signer.css)
══════════════════════════════════════ */

.bd2fs-hero{min-height:85vh;}

/* Mockup da árvore de pastas (shell .code-preview) */
.fs-tree{
  list-style:none;margin:0;padding:0;
  font-family:var(--fn-mono);font-size:.78rem;
}
.fs-tree li{
  display:flex;align-items:center;gap:.55rem;
  padding:.32rem .5rem;border-radius:5px;
  color:var(--text);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
  transition:background .3s,color .3s;
}
.fs-tree .fs-l1{padding-left:1.6rem;}
.fs-tree .fs-l2{padding-left:2.7rem;}
.fs-tree .fs-l3{padding-left:3.8rem;color:var(--muted);}
.fs-tree li.active{
  background:rgba(14,165,233,.12);
  color:var(--cyan);
}
.fs-ico{
  width:15px;height:15px;flex-shrink:0;
  background-color:currentColor;
  -webkit-mask:var(--ico) center/contain no-repeat;
          mask:var(--ico) center/contain no-repeat;
}
.fs-folder .fs-ico{
  color:var(--blue);
  --ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z'/%3E%3C/svg%3E");
}
.fs-file .fs-ico{
  --ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6'/%3E%3C/svg%3E");
}
.fs-status{
  margin-top:1.2rem;padding-top:1rem;
  border-top:1px solid var(--border);
  display:flex;align-items:center;gap:.5rem;
  font-family:var(--fn-mono);
  font-size:.68rem;color:var(--muted);
  letter-spacing:.08em;text-transform:uppercase;
}
.fs-note{
  margin-top:.8rem;
  font-family:var(--fn-mono);font-size:.72rem;color:var(--muted);
}

/* Antes e depois */
.ba-list{
  list-style:none;margin:.4rem 0 0;padding:0;
}
.ba-list li{
  position:relative;padding:.35rem 0 .35rem 1.6rem;
  color:var(--muted);font-size:.88rem;line-height:1.6;
}
.ba-list li::before{
  position:absolute;left:0;top:.35rem;
  font-family:var(--fn-mono);font-weight:700;
}
.ba-before .ba-list li::before{content:'✕';color:#64748b;}
.ba-after .ba-list li::before{content:'✓';color:var(--cyan);}
.ba-after .ba-list li{color:var(--text);}

/* Vídeo */
.video-frame{margin-top:2.5rem;max-width:900px;}
.video-frame video{
  display:block;width:100%;aspect-ratio:16/9;
  background:#000;
}

/* Ícone pequeno nos cartões de funcionalidades */
.feat-ico{
  width:36px;height:36px;margin-bottom:1rem;
  display:flex;align-items:center;justify-content:center;
  background:rgba(14,165,233,.1);
  border:1px solid rgba(14,165,233,.25);
  border-radius:8px;color:var(--blue);
}
.feat-ico svg{width:18px;height:18px;}

/* Tabela de requisitos (TI) */
.req-table{
  margin-top:2.5rem;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--surface);
  overflow:hidden;
}
.req-row{
  display:grid;grid-template-columns:260px 1fr;
  border-bottom:1px solid var(--border);
}
.req-row:last-child{border-bottom:none;}
.req-key{
  padding:1rem 1.4rem;
  font-family:var(--fn-mono);font-size:.72rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;color:var(--blue);
  border-right:1px solid var(--border);
}
.req-val{
  padding:1rem 1.4rem;
  color:var(--text);font-size:.9rem;line-height:1.6;
}

@media(max-width:768px){
  .req-row{grid-template-columns:1fr;}
  .req-key{border-right:none;padding-bottom:.2rem;}
  .req-val{padding-top:.2rem;}
}
