/* Blog Revitalize: complementos ao CSS do site principal */
body.blog-body { background: var(--cinza-bg); }
.admin-bar header { top: 32px; }
@media (max-width: 782px) { .admin-bar header { top: 46px; } }

.blog-hero {
  padding: 10.5rem 0 5rem;
  background:
    linear-gradient(180deg, rgba(8,14,10,0.80) 0%, rgba(8,14,10,0.62) 55%, rgba(8,14,10,0.85) 100%),
    url('../img/blog-hero.jpg') center 40% / cover no-repeat;
  text-align: center;
}
.blog-hero h1 { color: var(--branco); font-size: 2.1rem; margin: 1rem 0 0.8rem; text-shadow: 0 2px 18px rgba(0,0,0,.4); }
.blog-hero p { color: rgba(255,255,255,0.86); max-width: 640px; margin: 0 auto; font-size: 1.05rem; }

.blog-wrap { padding: 4.5rem 0 5.5rem; }

/* Post em destaque */
.post-featured {
  display: grid; grid-template-columns: 1.15fr 1fr; gap: 0;
  background: var(--branco); border: 1px solid var(--cinza-borda);
  border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 2.2rem;
  box-shadow: 0 6px 20px rgba(0,0,0,0.04);
  transition: transform 420ms cubic-bezier(0.16,1,0.3,1), box-shadow 420ms cubic-bezier(0.16,1,0.3,1);
}
.post-featured:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(0,0,0,0.09); }
.post-featured .post-thumb { aspect-ratio: auto; min-height: 340px; height: 100%; }
.post-featured .post-body { padding: 2.4rem; display: flex; flex-direction: column; justify-content: center; }
.post-featured h2 { font-size: 1.5rem; margin: 0.9rem 0 0.8rem; }

/* Grid de posts */
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; }
.post-card {
  display: flex; flex-direction: column; background: var(--branco);
  border: 1px solid var(--cinza-borda); border-radius: var(--radius-lg); overflow: hidden;
  box-shadow: 0 6px 20px rgba(0,0,0,0.04);
  transition: transform 420ms cubic-bezier(0.16,1,0.3,1), box-shadow 420ms cubic-bezier(0.16,1,0.3,1);
}
.post-card:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(0,0,0,0.09); }
.post-thumb { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--verde-deep); }
.post-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 600ms cubic-bezier(0.16,1,0.3,1); }
.post-card:hover .post-thumb img, .post-featured:hover .post-thumb img { transform: scale(1.05); }
.post-thumb-fallback {
  width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 30% 20%, rgba(139,197,63,.35), transparent 55%), var(--verde-deep);
}
.post-thumb-fallback img { width: 120px; height: auto; filter: brightness(0) invert(1); opacity: .9; }
.post-body { padding: 1.5rem 1.5rem 1.7rem; display: flex; flex-direction: column; flex: 1; }
.post-card h2 { font-size: 1rem; margin: 0.7rem 0 0.6rem; line-height: 1.4; }
.post-card h2 a:hover, .post-featured h2 a:hover { color: var(--verde-medio); }
.post-excerpt { font-size: 0.95rem; margin-bottom: 1.1rem; }
.post-meta { font-size: 0.78rem; color: #64748B; margin-top: auto; display: flex; gap: 0.6rem; flex-wrap: wrap; align-items: center; }
.post-meta .dot { opacity: .5; }
.read-more { font-weight: 700; font-size: 0.8rem; letter-spacing: .05em; text-transform: uppercase; color: var(--verde-medio); margin-top: .9rem; }

/* Paginação */
.pagination { display: flex; justify-content: center; gap: .5rem; margin-top: 3rem; flex-wrap: wrap; }
.pagination .page-numbers {
  min-width: 42px; height: 42px; padding: 0 .9rem; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; border: 1px solid var(--cinza-borda); background: var(--branco); font-weight: 600; font-size: .9rem;
}
.pagination .page-numbers.current, .pagination .page-numbers:hover { background: var(--verde-revitalize); border-color: var(--verde-revitalize); color: var(--branco); }

/* Busca e categorias */
.blog-tools { display: flex; justify-content: space-between; gap: 1.2rem; flex-wrap: wrap; align-items: center; margin-bottom: 2.4rem; }
.cat-list { display: flex; gap: .5rem; flex-wrap: wrap; }
.cat-list a { padding: .45rem 1rem; border-radius: 999px; border: 1px solid var(--cinza-borda); background: var(--branco); font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.cat-list a:hover, .cat-list a.active { background: var(--verde-deep); color: var(--branco); border-color: var(--verde-deep); }
.search-form { display: flex; gap: .5rem; }
.search-form input[type="search"] { padding: .7rem 1rem; border: 1px solid var(--cinza-borda); border-radius: 999px; font: inherit; min-width: 220px; background: var(--branco); }
.search-form input[type="search"]:focus { outline: 2px solid var(--verde-revitalize); outline-offset: 1px; }
.search-form button { cursor: pointer; border: 0; border-radius: 999px; padding: .7rem 1.3rem; background: var(--verde-revitalize); color: var(--branco); font-weight: 700; font: inherit; font-weight: 700; }

/* Post individual */
.single-hero {
  padding: 10rem 0 4rem;
  background:
    linear-gradient(180deg, rgba(8,14,10,0.82) 0%, rgba(8,14,10,0.7) 100%),
    var(--hero-img, none) center / cover no-repeat, var(--verde-deep);
  text-align: center;
}
.single-hero h1 { color: var(--branco); font-size: 2rem; max-width: 880px; margin: 1rem auto 1.2rem; text-shadow: 0 2px 18px rgba(0,0,0,.4); }
.single-hero .post-meta { justify-content: center; color: rgba(255,255,255,.8); margin-top: 0; }
.article { max-width: 760px; margin: 0 auto; padding: 3.5rem 1.5rem 2rem; }
.article-cover { max-width: 980px; margin: -2.5rem auto 0; padding: 0 1.5rem; position: relative; z-index: 2; }
.article-cover img { width: 100%; height: auto; display: block; border-radius: var(--radius-lg); box-shadow: 0 24px 60px rgba(0,0,0,.18); }
.entry-content { font-size: 1.12rem; line-height: 1.9; color: #1f2937; }
.entry-content > * + * { margin-top: 1.3rem; }
.entry-content p { color: #1f2937; font-size: inherit; }
.entry-content h2 { font-size: 1.35rem; margin-top: 3rem; padding-top: 1.4rem; border-top: 1px solid var(--cinza-borda); }
.entry-content h3 { font-size: 1.1rem; margin-top: 2.2rem; color: var(--verde-medio); }
.entry-content a { color: var(--verde-medio); text-decoration: underline; text-underline-offset: 3px; }
.entry-content ul, .entry-content ol { padding-left: 1.4rem; }
.entry-content li { margin: .45rem 0; color: #1f2937; }
.entry-content blockquote {
  margin: 2rem 0; padding: 1.4rem 1.6rem; border-left: 4px solid var(--verde-revitalize);
  background: var(--verde-card); border-radius: 0 var(--radius) var(--radius) 0; font-style: italic;
}
.entry-content blockquote p { margin: 0; }
.entry-content img, .entry-content figure { max-width: 100%; height: auto; border-radius: var(--radius); }
.entry-content figcaption { font-size: .85rem; color: #64748B; text-align: center; margin-top: .5rem; }
.entry-content .wp-block-image img { border-radius: var(--radius); }
.entry-content iframe, .entry-content video { max-width: 100%; border-radius: var(--radius); }

.article-footer { max-width: 760px; margin: 0 auto; padding: 0 1.5rem 4rem; }
.share-row { display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; padding: 1.6rem 0; border-top: 1px solid var(--cinza-borda); border-bottom: 1px solid var(--cinza-borda); }
.share-row span { font-weight: 700; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; margin-right: .4rem; }
.share-row a { padding: .5rem 1.1rem; border-radius: 999px; border: 1px solid var(--cinza-borda); font-size: .85rem; font-weight: 600; background: var(--branco); }
.share-row a:hover { background: var(--verde-revitalize); color: var(--branco); border-color: var(--verde-revitalize); }

.cta-box { margin-top: 2.6rem; padding: 2.4rem; border-radius: var(--radius-lg); background: var(--verde-deep); text-align: center; }
.cta-box h3 { color: var(--branco); font-size: 1.15rem; margin-bottom: .7rem; }
.cta-box p { color: rgba(255,255,255,.82); margin-bottom: 1.4rem; }

.related { padding: 4rem 0 5rem; background: var(--branco); border-top: 1px solid var(--cinza-borda); }
.related h2 { text-align: center; font-size: 1.2rem; margin-bottom: 2rem; }

.empty-state { text-align: center; padding: 4rem 0; }
.page-simple { max-width: 760px; margin: 0 auto; padding: 3.5rem 1.5rem 5rem; }
.nav-current { color: var(--branco); }

@media (max-width: 992px) {
  .post-grid { grid-template-columns: repeat(2, 1fr); }
  .post-featured { grid-template-columns: 1fr; }
  .post-featured .post-thumb { min-height: 240px; aspect-ratio: 16 / 10; }
}
@media (max-width: 640px) {
  .post-grid { grid-template-columns: 1fr; }
  .blog-hero { padding: 8rem 0 3.5rem; }
  .blog-hero h1, .single-hero h1 { font-size: 1.45rem; }
  .single-hero { padding: 8rem 0 3.5rem; }
  .post-featured .post-body { padding: 1.6rem; }
  .entry-content { font-size: 1.05rem; }
  .search-form input[type="search"] { min-width: 0; flex: 1; }
  .search-form { width: 100%; }
}
