/* ============ CASES — estilos da página ============
   Hero: .page-hero (common.css)
   Cards: .blog-grid / .post (common.css) — mesmo formato da home
   Depoimentos: .d-marq / .dcard (common.css)
   ================================================== */

.cases-sec{background:var(--paper);padding:80px 0 96px;position:relative;overflow-x:clip}

/* Espaçamento entre linhas do grid (a home só tem uma linha) */
.cases-sec .blog-grid{row-gap:32px}

/* ---------- Paginação ---------- */
.cases-pag{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
  margin-top:56px;
}
.cases-pag .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 15px;border-radius:100px;
  font-family:var(--body);font-weight:600;font-size:14px;
  color:var(--ink-2);background:#fff;border:1px solid var(--line);
  transition:.22s;text-decoration:none;
}
.cases-pag .page-numbers:hover{border-color:var(--ignite);color:var(--ignite);transform:translateY(-2px)}
.cases-pag .page-numbers.current{background:var(--ignite);border-color:var(--ignite);color:#fff}
.cases-pag .page-numbers.dots{border-color:transparent;background:transparent}

/* ---------- Estado vazio ---------- */
.cases-vazio{
  text-align:center;max-width:560px;margin:0 auto;padding:40px 0 20px;
}
.cases-vazio h2{
  font-family:var(--display);font-weight:700;font-size:clamp(22px,2.6vw,32px);
  letter-spacing:-.025em;color:var(--navy);margin-bottom:14px;
}
.cases-vazio p{font-size:16px;color:var(--ink-2);line-height:1.65;margin-bottom:28px}

/* ---------- Depoimentos ---------- */
.cases-tst{background:var(--void);color:#fff;overflow:hidden;padding:88px 0 104px}
.cases-tst .head{max-width:760px;margin:0 auto 46px;text-align:center}
.cases-tst .head .tag{justify-content:center}
.cases-tst .head h2{
  font-family:var(--display);font-weight:700;
  font-size:clamp(26px,3.2vw,44px);line-height:1.06;letter-spacing:-.028em;
  color:#fff;margin:20px 0 0;
}
.cases-tst .head h2 em{font-style:normal;color:var(--ignite)}
.cases-tst .head p{font-size:16.5px;color:var(--ink-l);margin-top:18px;line-height:1.65}

/* ---------- CTA ---------- */
.cases-cta{background:linear-gradient(148deg,var(--ignite),var(--ignite-deep));color:#fff;padding:80px 0}
.cases-cta-in{max-width:720px;margin:0 auto;text-align:center}
.cases-cta-in .tag.lt{color:rgba(255,255,255,.9);justify-content:center}
.cases-cta-in .tag.lt::before{background:rgba(255,255,255,.9)}
.cases-cta h2{
  font-family:var(--display);font-weight:700;
  font-size:clamp(26px,3.1vw,42px);line-height:1.06;letter-spacing:-.03em;
  color:#fff;margin:20px 0 18px;
}
.cases-cta h2 em{font-style:normal;color:rgba(255,255,255,.72)}
.cases-cta p{font-size:16px;line-height:1.68;color:rgba(255,255,255,.9);margin-bottom:30px}

/* ---------- Responsivo ---------- */
@media(max-width:1024px){
  .cases-sec{padding:64px 0 80px}
  .cases-tst{padding:68px 0 84px}
  .cases-cta{padding:64px 0}
}
@media(max-width:680px){
  .cases-sec{padding:48px 0 64px}
  .cases-pag{margin-top:40px}
}

/* ---------- Filtros por categoria (/blog/) ---------- */
.blog-filtros{
  display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-bottom:44px;
}
.blog-filtro{
  display:inline-flex;align-items:center;height:38px;padding:0 18px;border-radius:100px;
  font-family:var(--body);font-weight:600;font-size:13.5px;
  color:var(--ink-2);background:#fff;border:1px solid var(--line);
  transition:.22s;text-decoration:none;white-space:nowrap;
}
.blog-filtro:hover{border-color:var(--ignite);color:var(--ignite);transform:translateY(-2px)}
.blog-filtro.is-on{background:var(--ignite);border-color:var(--ignite);color:#fff}
@media(max-width:680px){
  .blog-filtros{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
}

/* ---------- Busca no blog ---------- */
.blog-busca{max-width:620px;margin:0 auto 26px}
.blog-resultado{
  text-align:center;font-size:14.5px;color:var(--ink-2);margin-bottom:30px;
}
.blog-resultado b{color:var(--navy);font-weight:600}
.blog-resultado a{color:var(--ignite);margin-left:10px;text-decoration:underline;text-underline-offset:3px}
