/* ===================================================================
   Blog — estilos próprios (depende de styles.css carregado antes,
   reaproveita tokens :root, header, footer, botões e tipografia)
   =================================================================== */

/* fundo sóbrio para as páginas internas do blog */
body.blog-page{ background:var(--navy-deep); }

/* afasta o conteúdo do header fixo */
.blog-main{ padding-top:96px; position:relative; z-index:2; }

/* ---------- Cabeçalho da seção (listagem e artigo) ---------- */
.blog-banner{
  padding:64px 0 28px;
  border-bottom:1px solid var(--glass-border);
  background:
    radial-gradient(120% 140% at 80% -10%, rgba(184,146,83,.10), transparent 60%),
    var(--navy);
}
.blog-banner .eyebrow{ margin-bottom:16px; }
.blog-title{ font-size:clamp(2.2rem,5vw,3.4rem); letter-spacing:-.01em; }
.blog-lead{
  margin-top:16px; max-width:620px;
  color:rgba(244,241,234,.78); font-size:1.05rem;
}
.breadcrumb{
  font-size:.82rem; letter-spacing:.04em; color:var(--muted);
  margin-bottom:20px; display:flex; gap:8px; align-items:center; flex-wrap:wrap;
}
.breadcrumb a{ color:var(--gold-light); }
.breadcrumb a:hover{ color:var(--gold); }
.breadcrumb span{ opacity:.5; }

/* ---------- Listagem de posts ---------- */
.blog-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:30px;
  padding:56px 0 40px;
}
.post-card{
  display:flex; flex-direction:column; overflow:hidden;
  background:var(--glass-bg); border:1px solid var(--glass-border);
  border-radius:20px; backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), var(--shadow);
  transition:transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
}
.post-card:hover{
  transform:translateY(-6px); border-color:var(--gold);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 30px 60px -24px rgba(0,20,24,.7);
}
.post-card a{ display:flex; flex-direction:column; height:100%; }
.post-thumb{
  aspect-ratio:16/10; width:100%; object-fit:cover;
  background:var(--navy-soft);
  transition:transform .6s var(--ease);
}
.post-card:hover .post-thumb{ transform:scale(1.05); }
.post-thumb-wrap{ overflow:hidden; }
.post-body{ padding:24px 24px 26px; display:flex; flex-direction:column; gap:12px; flex:1; }
.post-tag{
  align-self:flex-start; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--navy-deep); font-weight:600;
  background:linear-gradient(135deg,var(--gold-light),var(--gold-deep));
  padding:5px 12px; border-radius:30px;
}
.post-card h2{
  font-size:1.45rem; line-height:1.18; color:var(--cream);
  transition:color .25s;
}
.post-card:hover h2{ color:var(--gold-light); }
.post-excerpt{ color:rgba(244,241,234,.66); font-size:.94rem; flex:1; }
.post-meta{
  font-size:.78rem; letter-spacing:.03em; color:var(--muted);
  display:flex; gap:8px; align-items:center; margin-top:4px;
}
.post-meta span{ opacity:.5; }

/* aviso de "ainda não há posts" / placeholder */
.blog-empty{
  text-align:center; color:var(--muted); padding:60px 0; font-size:1rem;
}

/* ---------- Artigo ---------- */
.article-wrap{ max-width:760px; margin:0 auto; padding:0 24px; }
.article-head{ padding:48px 0 8px; }
.article-head .post-tag{ margin-bottom:18px; }
.article-title{ font-size:clamp(2rem,4.6vw,3.1rem); line-height:1.08; letter-spacing:-.01em; }
.article-meta{
  margin-top:18px; font-size:.86rem; color:var(--muted);
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
}
.article-meta span{ opacity:.5; }
.article-cover{
  width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:18px;
  margin:34px 0 8px; box-shadow:var(--shadow);
}

/* corpo do texto: leitura confortável */
.article-body{ padding:24px 0 8px; font-size:1.08rem; line-height:1.78; color:rgba(244,241,234,.86); }
.article-body > * + *{ margin-top:1.25em; }
.article-body h2{
  font-size:1.85rem; color:var(--cream); margin-top:1.8em; line-height:1.2;
  padding-top:.3em;
}
.article-body h3{ font-size:1.4rem; color:var(--gold-light); margin-top:1.6em; }
.article-body p{ }
.article-body a{ color:var(--gold-light); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(214,183,128,.4); }
.article-body a:hover{ text-decoration-color:var(--gold); }
.article-body strong{ color:var(--cream); font-weight:600; }
.article-body ul,.article-body ol{ padding-left:1.4em; }
.article-body li{ margin-top:.5em; }
.article-body li::marker{ color:var(--gold); }
.article-body blockquote{
  border-left:3px solid var(--gold); padding:6px 0 6px 22px; margin-left:0;
  font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.35rem;
  color:var(--gold-light); line-height:1.4;
}
.article-body figure{ margin:1.6em 0; }
.article-body figure img{ width:100%; border-radius:14px; box-shadow:var(--shadow); }
.article-body figcaption{ font-size:.82rem; color:var(--muted); text-align:center; margin-top:10px; }
.article-body hr{ border:none; border-top:1px solid var(--glass-border); margin:2.4em 0; }

/* nota de rodapé / aviso OAB */
.article-disclaimer{
  margin:40px auto 0; max-width:760px; padding:18px 22px;
  border:1px solid var(--glass-border); border-radius:14px;
  font-size:.82rem; color:var(--muted); line-height:1.6;
  background:rgba(255,255,255,.03);
}

/* CTA ao final do artigo */
.article-cta{
  max-width:760px; margin:44px auto 0; padding:38px 36px; text-align:center;
  border-radius:20px; border:1px solid var(--glass-border);
  background:
    radial-gradient(120% 140% at 50% -20%, rgba(184,146,83,.16), transparent 60%),
    var(--navy);
}
.article-cta h3{ font-size:1.7rem; color:var(--cream); }
.article-cta p{ margin:12px auto 24px; max-width:480px; color:rgba(244,241,234,.74); }

/* navegação entre posts */
.article-nav{
  max-width:760px; margin:44px auto 0; display:flex; justify-content:space-between; gap:16px;
  padding-bottom:8px;
}
.article-nav a{ color:var(--gold-light); font-size:.92rem; letter-spacing:.02em; }
.article-nav a:hover{ color:var(--gold); }

/* ===================================================================
   Destaque do Blog na página inicial (usa .post-card já definido acima)
   =================================================================== */
.blog-teaser-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:46px;
}
.blog-teaser-actions{ text-align:center; margin-top:42px; }

/* card em destaque: ocupa a largura e fica na horizontal (1 artigo) */
.post-card--featured{ grid-column:1 / -1; }
.post-card--featured > a{ flex-direction:row; align-items:stretch; }
.post-card--featured .post-thumb-wrap{ flex:0 0 46%; }
.post-card--featured .post-thumb{ height:100%; aspect-ratio:auto; min-height:320px; }
.post-card--featured .post-body{ justify-content:center; padding:38px 44px; gap:14px; }
.post-card--featured h2{ font-size:2rem; }
.post-card--featured .post-excerpt{ font-size:1rem; flex:initial; }

@media (max-width:760px){
  .post-card--featured > a{ flex-direction:column; }
  .post-card--featured .post-thumb-wrap{ flex:none; }
  .post-card--featured .post-thumb{ min-height:0; aspect-ratio:16/10; }
  .post-card--featured .post-body{ padding:26px 24px; }
  .post-card--featured h2{ font-size:1.5rem; }
}

/* ---------- Responsivo ---------- */
@media (max-width:900px){
  .blog-grid{ grid-template-columns:repeat(2,1fr); gap:24px; padding:44px 0 32px; }
}
@media (max-width:600px){
  .blog-main{ padding-top:80px; }
  .blog-banner{ padding:44px 0 22px; }
  .blog-grid{ grid-template-columns:1fr; gap:22px; }
  .article-body{ font-size:1.02rem; }
  .article-cta{ padding:30px 22px; }
}
