/* =====================================================================
   Docs Editor — estilos próprios da unidade.
   Tokens (cores, tipografia, .tofy-bar, .tofy-btn, .tofy-tag, dark mode)
   vêm de https://www.tofy.com.br/shared/brand.css
   ===================================================================== */

/* Sotaque próprio da unidade: o azul TOFY continua na barra da holding,
   mas a ferramenta usa um acento quente para se distinguir das demais. */
:root{
  --tofy-accent:#C7442A;
  --tofy-accent-rgb:199,68,42;
  --tofy-accent-tint:rgba(199,68,42,.08);
  --tofy-accent-tint-2:rgba(199,68,42,.12);
  --tofy-accent-line:rgba(199,68,42,.40);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --tofy-accent:#FF8C6B;
    --tofy-accent-rgb:255,140,107;
    --tofy-accent-tint:rgba(255,140,107,.10);
    --tofy-accent-tint-2:rgba(255,140,107,.16);
    --tofy-accent-line:rgba(255,140,107,.45);
  }
}
:root[data-theme="dark"]{
  --tofy-accent:#FF8C6B;
  --tofy-accent-rgb:255,140,107;
  --tofy-accent-tint:rgba(255,140,107,.10);
  --tofy-accent-tint-2:rgba(255,140,107,.16);
  --tofy-accent-line:rgba(255,140,107,.45);
}

/* ---------- Acesso rápido ---------- */
.pular{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--tofy-ink);color:var(--tofy-paper);
  padding:12px 18px;border-radius:0 0 var(--tofy-radius-sm) 0;font-size:14px;
}
.pular:focus{left:0;color:var(--tofy-paper)}

/* ---------- Cabeçalho da unidade ---------- */
.topo{
  position:sticky;top:0;z-index:50;
  background:var(--tofy-header-bg,rgba(255,255,255,.82));
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border-bottom:1px solid var(--tofy-line);
}
.topo .tofy-container{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px 24px;min-height:62px;flex-wrap:wrap;
}
.marca{display:inline-flex;align-items:baseline;gap:9px;font-weight:600;letter-spacing:-.02em;font-size:16px}
.marca__sufixo{
  font-family:var(--tofy-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--tofy-muted);
}
.topo nav{display:flex;align-items:center;gap:18px;font-size:14px;min-width:0;flex-wrap:wrap}
/* padding vertical garante alvo de toque confortável no celular */
.topo nav a{color:var(--tofy-text-2);transition:color .2s;padding:6px 0;display:inline-block}
.topo nav a:hover{color:var(--tofy-ink)}
.topo nav .tofy-btn{padding:9px 18px;font-size:14px}
@media (max-width:640px){
  .topo{position:static}
  .topo .tofy-container{padding-top:12px;padding-bottom:12px}
  .topo nav{gap:14px;font-size:13.5px}
}

/* ---------- Capa ---------- */
.capa{padding:64px 0 40px;position:relative;overflow:hidden}
.capa__malha{
  position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--tofy-grid) 1px,transparent 1px),
                   linear-gradient(90deg,var(--tofy-grid) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(90% 78% at 50% 0%,#000 10%,transparent 72%);
  mask-image:radial-gradient(90% 78% at 50% 0%,#000 10%,transparent 72%);
}
.capa .tofy-container{position:relative;text-align:center}
.capa h1{
  font-size:clamp(2.1rem,5.2vw,3.4rem);line-height:1.03;letter-spacing:-.04em;
  font-weight:600;margin:16px auto 0;max-width:20ch;text-wrap:balance;
}
.capa__lede{
  margin:20px auto 0;color:var(--tofy-ink-soft);font-size:1.08rem;
  max-width:60ch;line-height:1.6;
}
.selo{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--tofy-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tofy-accent);border:1px solid var(--tofy-accent-line);background:var(--tofy-accent-tint);
  padding:5px 11px;border-radius:999px;
}
.selo::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--tofy-accent)}

/* ---------- Busca de ferramentas ---------- */
.busca{margin:34px auto 0;position:relative;max-width:620px}
.busca input{
  width:100%;padding:17px 22px 17px 52px;border-radius:999px;
  border:1px solid var(--tofy-line-strong);background:var(--tofy-surface);
  color:var(--tofy-ink);font-family:inherit;font-size:16.5px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition:border-color .2s,box-shadow .2s;
}
.busca input:focus{outline:none;border-color:var(--tofy-accent);box-shadow:0 0 0 3px var(--tofy-accent-tint-2)}
.busca__icone{
  position:absolute;left:21px;top:50%;transform:translateY(-50%);
  color:var(--tofy-muted);pointer-events:none;width:18px;height:18px;
}

/* ---------- Atalhos de categoria ---------- */
.atalhos{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;
  margin:26px auto 0;padding:0;list-style:none;
}
.atalhos a{
  display:inline-block;padding:7px 15px;border-radius:999px;
  border:1px solid var(--tofy-line-strong);background:var(--tofy-surface);
  font-size:13.5px;color:var(--tofy-text-2);
  transition:border-color .2s,color .2s,background .2s;
}
.atalhos a:hover{border-color:var(--tofy-accent);color:var(--tofy-ink);background:var(--tofy-accent-tint)}

/* ---------- Categorias e cartões de ferramenta ---------- */
.categoria{padding:44px 0 0;scroll-margin-top:80px}
.categoria[hidden]{display:none}
.categoria__cabeca{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.categoria h2{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;margin:0}
.categoria__conta{font-family:var(--tofy-mono);font-size:11px;color:var(--tofy-faint);letter-spacing:.08em}
.categoria__desc{margin:0 0 18px;font-size:.92rem;color:var(--tofy-muted);max-width:56ch}

.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px}

.ferramenta{
  display:flex;flex-direction:column;gap:8px;padding:20px;
  border:1px solid var(--tofy-line);border-radius:var(--tofy-radius);
  background:var(--tofy-surface);position:relative;
  transition:border-color .2s,transform .2s var(--tofy-ease),box-shadow .25s var(--tofy-ease);
}
/* Par explícito de [hidden]: display:flex é regra de autor e venceria o
   [hidden]{display:none} da folha do navegador, deixando a busca sem efeito. */
.ferramenta[hidden]{display:none}
a.ferramenta:hover{border-color:var(--tofy-accent);transform:translateY(-2px);box-shadow:var(--tofy-shadow)}
.ferramenta__icone{
  width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
  background:var(--tofy-accent-tint);color:var(--tofy-accent);margin-bottom:2px;
}
.ferramenta__icone svg{width:20px;height:20px}
.ferramenta h3{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.015em}
.ferramenta p{margin:0;font-size:.88rem;color:var(--tofy-muted);line-height:1.55}
.ferramenta__marcador{
  margin-top:4px;align-self:flex-start;
  font-family:var(--tofy-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tofy-faint);border:1px dashed var(--tofy-line-strong);
  padding:3px 9px;border-radius:999px;
}
.ferramenta--breve{background:var(--tofy-surface-2)}
.ferramenta--breve .ferramenta__icone{background:var(--tofy-surface);color:var(--tofy-muted)}

/* Estado vazio da busca */
.vazio{
  margin:40px 0 0;padding:40px 24px;text-align:center;
  border:1px dashed var(--tofy-line-strong);border-radius:var(--tofy-radius);
  color:var(--tofy-muted);
}
.vazio[hidden]{display:none}
.vazio strong{color:var(--tofy-ink);font-weight:600}

/* ---------- Como funciona ---------- */
.comofunciona{padding:72px 0 0}
.comofunciona__grade{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1px;background:var(--tofy-line);border:1px solid var(--tofy-line);
  border-radius:var(--tofy-radius);overflow:hidden;margin-top:20px;
}
.passo{background:var(--tofy-surface);padding:26px}
.passo__num{
  font-family:var(--tofy-mono);font-size:11px;letter-spacing:.16em;
  color:var(--tofy-accent);margin:0 0 10px;
}
.passo h3{margin:0 0 8px;font-size:1rem;font-weight:600;letter-spacing:-.015em}
.passo p{margin:0;font-size:.9rem;color:var(--tofy-muted);line-height:1.6}

/* ---------- Rodapé ---------- */
.rodape{
  margin-top:84px;border-top:1px solid var(--tofy-line);
  background:var(--tofy-surface);padding:40px 0 28px;
}
.rodape__grade{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}
.rodape p{margin:0;font-size:.9rem;color:var(--tofy-muted);max-width:46ch;line-height:1.6}
.rodape__links{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;font-size:.9rem}
.rodape__links a{color:var(--tofy-text-2);padding:6px 0;display:inline-block}
.rodape__links a:hover{color:var(--tofy-accent)}
.rodape__mono{
  font-family:var(--tofy-mono);font-size:11px;letter-spacing:.06em;
  color:var(--tofy-faint);margin-top:24px;padding-top:18px;
  border-top:1px solid var(--tofy-line-soft);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
