/* =========================================================
   ZZ FABRIC — Blog (post + listagem)
   ========================================================= */
.blog-hero{background:var(--bg-soft);border-bottom:1px solid var(--line);padding:54px 0 40px;text-align:center}
.blog-hero .crumb{font-size:13px;color:var(--text-3);margin-bottom:14px}
.blog-hero .crumb a{color:var(--zz-accent)}
.blog-hero h1{font-size:38px;font-weight:720;letter-spacing:-.02em;max-width:22ch;margin:0 auto;line-height:1.12}
.blog-hero .bp-meta{margin-top:16px;font-size:13.5px;color:var(--text-3)}

.bp-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;max-width:1100px;margin:0 auto;padding:48px 22px 80px}
.bp-content{min-width:0}
.bp-content .feat{width:100%;border-radius:16px;margin:0 0 28px;display:block}
.bp-resumo{background:var(--zz-accent-soft);border-left:3px solid var(--zz-accent);
  border-radius:12px;padding:16px 18px;font-size:15px;line-height:1.65;color:var(--text);margin:0 0 26px}
.bp-content h2{font-size:25px;font-weight:680;letter-spacing:-.01em;margin:34px 0 12px}
.bp-content h3{font-size:19px;font-weight:650;margin:24px 0 8px}
.bp-content p{font-size:16px;line-height:1.72;color:var(--text-2);margin:0 0 16px}
.bp-content a{color:var(--zz-accent);text-decoration:underline;text-underline-offset:2px}
.bp-content ul,.bp-content ol{margin:0 0 18px;padding-left:22px}
.bp-content li{font-size:16px;line-height:1.7;color:var(--text-2);margin:0 0 8px}
.bp-content img{max-width:100%;height:auto;border-radius:12px;margin:18px 0}
.bp-content strong,.bp-content b{color:var(--text);font-weight:650}
.bp-content table{width:100%;border-collapse:collapse;margin:22px 0;font-size:14.5px}
.bp-content th,.bp-content td{padding:11px 12px;border:1px solid var(--line);text-align:left}
.bp-content thead th,.bp-content tr:first-child th{background:var(--zz-ink);color:#fff;font-weight:600}
.bp-content tbody tr:nth-child(even),.bp-content table tr:nth-child(even){background:var(--bg-soft)}
.bp-cta{display:inline-block;margin:6px 0;background:var(--zz-accent);color:#fff !important;font-weight:600;
  padding:11px 20px;border-radius:980px;text-decoration:none !important}

/* Sidebar */
.bp-side{align-self:start;position:sticky;top:80px;display:flex;flex-direction:column;gap:22px}
.side-card{border:1px solid var(--line);border-radius:16px;padding:18px}
.side-card>h3{font-size:15px;font-weight:680;margin:0 0 14px}
.side-posts{display:flex;flex-direction:column;gap:14px}
.side-post{display:flex;gap:11px;align-items:center}
.side-post img{width:56px;height:56px;border-radius:9px;object-fit:cover;flex:0 0 auto;background:var(--bg-soft)}
.side-post a{font-size:13px;line-height:1.35;color:var(--text);font-weight:550;text-decoration:none}
.side-post a:hover{color:var(--zz-accent)}
.side-news{background:var(--zz-ink);color:#fff;border-color:transparent}
.side-news>h3{color:#fff}
.side-news p{font-size:12.5px;color:rgba(255,255,255,.72);margin:0 0 12px;line-height:1.5}
.side-news input{width:100%;height:40px;border-radius:9px;border:0;padding:0 12px;margin-bottom:8px;font-size:13px;font-family:inherit}
.side-news button{width:100%;height:40px;border-radius:9px;border:0;background:var(--zz-accent);color:#fff;font-weight:600;cursor:pointer;font-family:inherit}
.side-social{display:flex;gap:10px}
.side-social a{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:var(--text-2)}
.side-social a:hover{color:var(--zz-accent);border-color:var(--zz-accent)}
.side-social svg{width:18px;height:18px}

/* Listagem */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1100px;margin:0 auto;padding:48px 22px 80px}
.bcard{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;text-decoration:none}
.bcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-l)}
.bcard img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--bg-soft)}
.bcard-body{padding:16px 16px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.bcard-body h2{font-size:16px;font-weight:640;line-height:1.3;color:var(--text)}
.bcard-body p{font-size:13px;color:var(--text-3);line-height:1.5;flex:1}
.bcard-body span{color:var(--zz-accent);font-size:13px;font-weight:600}

@media(max-width:900px){
  .bp-layout{grid-template-columns:1fr;gap:0}
  .bp-side{position:static;margin-top:40px}
  .blog-grid{grid-template-columns:1fr 1fr;padding:32px 16px 60px;gap:16px}
  .blog-hero h1{font-size:29px}
}
@media(max-width:560px){ .blog-grid{grid-template-columns:1fr} }
