.archive-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 48px;
}

/* Featured */
.featured-artigo {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 32px;
  margin-bottom: 56px;
  align-items: center;
}
.featured-artigo__media { display: block; aspect-ratio: 16/10; overflow: hidden; border-radius: var(--radius-md); }
.featured-artigo__media img { width: 100%; height: 100%; object-fit: cover; }
.featured-artigo__body .badge-categoria { position: static; display: inline-block; margin-bottom: 8px; }
.featured-artigo__date { font-size: var(--small-size); color: var(--color-gray-muted); margin-left: 8px; }
.featured-artigo__body h2 { margin: 10px 0 12px; }
.featured-artigo__body p { margin-bottom: 20px; }

@media (max-width: 900px) {
  .featured-artigo { grid-template-columns: 1fr; }
}

/* Grid */
.archive-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

@media (max-width: 1100px) {
  .archive-layout { grid-template-columns: 1fr; }
  .archive-sidebar { display: none; }
}
@media (max-width: 700px) {
  .archive-grid { grid-template-columns: 1fr; }
}

/* Sidebar */
.archive-sidebar { position: sticky; top: 96px; align-self: start; }
.sidebar-block { margin-bottom: 32px; }
.sidebar-block h4 { margin-bottom: 14px; }
.sidebar-search { display: flex; border: 1px solid var(--color-gray-light); border-radius: var(--radius-sm); overflow: hidden; }
.sidebar-search input { flex: 1; padding: 10px 14px; }
.sidebar-search button { padding: 10px 14px; }
.sidebar-categories li { margin-bottom: 10px; display: flex; justify-content: space-between; }
.sidebar-categories a { display: flex; justify-content: space-between; width: 100%; font-size: 14px; }
.sidebar-categories span { color: var(--color-gray-muted); }
.sidebar-recent li { display: flex; gap: 12px; margin-bottom: 14px; }
.sidebar-recent a { display: flex; gap: 12px; align-items: center; }
.sidebar-recent img { width: 56px; height: 56px; object-fit: cover; border-radius: var(--radius-sm); flex-shrink: 0; }
.sidebar-recent span { font-size: 14px; font-weight: 500; color: var(--color-navy); }

/* Pagination */
.pagination, .navigation.pagination { margin-top: 48px; display: flex; gap: 12px; justify-content: center; }
.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  border: 1px solid var(--color-gray-light);
  border-radius: var(--radius-sm);
  padding: 0 12px;
}
.pagination .page-numbers.current { background: var(--color-navy); color: var(--color-white); border-color: var(--color-navy); }
