/*
Theme Name: Toolzy
Theme URI: https://toolzy.com.br/
Author: Marcio Cristian
Author URI: https://toolzy.com.br/sobre/
Description: Tema do blog do Toolzy. Usa a mesma folha de estilo do site estatico e acrescenta o layout de artigo com coluna de ferramenta a direita.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: toolzy
*/

/* ==========================================================================
   Toolzy, blog. As variaveis e os blocos base vem de /assets/site.css.
   Aqui fica so o que e especifico do blog.
   ========================================================================== */

.dentro.largo{max-width:1240px}

/* ---------- topo do artigo ---------- */
.topo-artigo{padding-block:26px 34px}
.topo-artigo .script{display:block;margin-bottom:10px;color:var(--amarelo)}
.topo-artigo h1{color:#fff;max-width:26ch;font-size:clamp(1.9rem,4.4vw,3rem)}
.topo-artigo p.chamada{color:rgba(255,255,255,.9);max-width:66ch;margin-top:14px;font-size:1.06rem}
.linha-meta{
  display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin-top:18px;
  font-size:.88rem;color:rgba(255,255,255,.78)
}
.linha-meta a{color:#fff}
.linha-meta .ponto{color:rgba(255,255,255,.4)}

/* ---------- grade artigo mais lateral ---------- */
.artigo-grade{
  display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:40px;
  align-items:start;padding-block:34px 56px
}
@media (max-width:980px){
  /* minmax(0,1fr) e nao 1fr: com 1fr a coluna cresce ate o min-content do
     conteudo, e uma tabela larga empurrava a pagina toda para fora da tela */
  .artigo-grade{grid-template-columns:minmax(0,1fr);gap:30px;padding-block:28px 44px}
}

/* ---------- corpo do artigo ---------- */
.capa{
  display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:16px;
  margin-bottom:28px;box-shadow:var(--sombra-card)
}
.artigo-corpo{max-width:none}
.artigo-corpo p,.artigo-corpo li{font-size:1.06rem;line-height:1.68;max-width:72ch}

/* ---------- ritmo vertical do corpo do artigo ----------
   Os zeramentos ficam dentro de :where(), que nao soma especificidade, para que
   as regras de irmao adjacente abaixo sempre vencam. Antes os zeramentos eram
   .artigo-corpo p{margin:0} e similares, com especificidade maior que a regra
   de ritmo, e o resultado era paragrafo, lista e tabela todos colados. */
.artigo-corpo :where(p,ul,ol,dl,dd,table,figure,blockquote,pre,address){margin:0}
.artigo-corpo>*+*{margin-top:18px}
.artigo-corpo>*+h2{margin-top:20px}
.artigo-corpo>*+h3{margin-top:15px}
.artigo-corpo>*+h4{margin-top:12px}
.artigo-corpo>h2+*,.artigo-corpo>h3+*,.artigo-corpo>h4+*{margin-top:12px}
.artigo-corpo h2{font-size:clamp(1.5rem,2.8vw,1.95rem);scroll-margin-top:28px}
body.admin-bar .artigo-corpo h2{scroll-margin-top:60px}
.artigo-corpo h3{font-size:1.3rem}
.artigo-corpo ul,.artigo-corpo ol{padding-left:24px;display:flex;flex-direction:column;gap:10px}

.artigo-corpo img{height:auto;border-radius:12px;border:1px solid var(--line)}
.artigo-corpo figcaption{margin-top:8px;font-size:.88rem;color:var(--muted)}
.artigo-corpo blockquote{
  padding:4px 0 4px 20px;border-left:4px solid var(--amarelo);
  font-size:1.08rem;color:var(--ink)
}
.artigo-corpo code{
  font-size:.92em;background:var(--creme);border:1px solid var(--line);
  border-radius:5px;padding:1px 5px
}
.artigo-corpo pre{
  overflow-x:auto;background:var(--creme);border:1px solid var(--line);
  border-radius:12px;padding:16px
}
.artigo-corpo pre code{background:none;border:0;padding:0}
.artigo-corpo hr{border:0;border-top:1px solid var(--line);margin-block:32px}
.artigo-corpo a{text-decoration:underline;text-underline-offset:2px}

.rodape-artigo{
  margin-top:36px;padding-top:20px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;
  font-size:.9rem;color:var(--muted)
}
.etiquetas{display:flex;flex-wrap:wrap;gap:8px}
.etiquetas a{
  font-size:.82rem;font-weight:600;text-decoration:none;color:var(--muted);
  border:1px solid var(--line-2);border-radius:999px;padding:4px 11px
}
.etiquetas a:hover{color:var(--indigo);border-color:var(--indigo)}

/* ---------- coluna da direita ---------- */
.lateral{display:flex;flex-direction:column;gap:16px;position:sticky;top:28px}
/* a barra de admin do WordPress fica fixa no topo e cobriria o card */
body.admin-bar .lateral{top:60px}
@media (max-width:980px){.lateral,body.admin-bar .lateral{position:static}}

.cta-ferramenta{
  position:relative;overflow:hidden;background:var(--surface);
  border:1.5px solid var(--ink);border-radius:16px;padding:24px 20px 20px;
  box-shadow:var(--sombra)
}
.cta-ferramenta::after{
  content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--amarelo)
}
.cta-ferramenta .rotulo{
  display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:#191B29;background:var(--amarelo);
  border-radius:5px;padding:3px 8px;margin-bottom:12px
}
.cta-ferramenta h2{font-size:1.32rem;font-weight:600;line-height:1.2;text-transform:none}
.cta-ferramenta p{margin-top:10px;font-size:.95rem;line-height:1.5;color:var(--muted)}
.cta-ferramenta .bt{width:100%;text-align:center;margin-top:16px}
.cta-ferramenta .selo-mini{
  display:flex;gap:8px;align-items:flex-start;margin-top:14px;
  font-size:.82rem;color:var(--muted);line-height:1.4
}
.cta-ferramenta .selo-mini svg{flex:none;margin-top:2px;color:var(--indigo)}

.caixa-lateral{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:18px;box-shadow:var(--sombra-card)
}
.caixa-lateral h2{font-size:.95rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.caixa-lateral ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:11px}
.caixa-lateral a{font-size:.95rem;font-weight:600;color:var(--ink);text-decoration:none;line-height:1.35;display:block}
.caixa-lateral a:hover{color:var(--indigo)}
.caixa-lateral .sumario a{font-weight:500;color:var(--muted)}
.caixa-lateral .sumario a:hover{color:var(--indigo)}
.caixa-lateral .sumario li.n2{padding-left:14px;font-size:.9rem}

/* ---------- listagem ---------- */
/* listagem: o mesmo respiro em cima e embaixo dos cartoes, com ou sem paginacao.
   Antes o espaco de baixo vinha da margem da paginacao, que so existe quando ha
   mais de uma pagina, e por isso os cartoes colavam no rodape. */
/* 34px em cima e 24px embaixo, que somados aos 10px de padding-bottom do main
   dao os mesmos 34px de distancia visual ate o rodape */
.lista-blog{padding-block:34px 24px}
.grade-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.post-card{
  display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);
  border-radius:16px;overflow:hidden;box-shadow:var(--sombra-card);text-decoration:none;color:var(--ink)
}
.post-card:hover{border-color:var(--indigo);transform:translateY(-2px)}
.post-card .miniatura{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line)}
.post-card .corpo{padding:18px;display:flex;flex-direction:column;gap:8px}
.post-card .cat{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--indigo)}
.post-card strong{font-family:var(--display);font-size:1.25rem;font-weight:600;line-height:1.2}
.post-card span.resumo{font-size:.94rem;color:var(--muted);line-height:1.45}
.post-card time{font-size:.82rem;color:var(--muted);margin-top:2px}

.paginacao{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.paginacao .page-numbers{
  display:inline-block;padding:9px 14px;border:1.5px solid var(--line-2);border-radius:10px;
  text-decoration:none;color:var(--ink);font-weight:600;font-size:.93rem
}
.paginacao .page-numbers:hover{border-color:var(--indigo);color:var(--indigo)}
.paginacao .page-numbers.current{background:var(--amarelo);border-color:var(--ink);color:#191B29}

.vazio-lista{margin-top:20px;margin-bottom:50px}
