SwiftUI Card List Swipe Action Buttons - Height and Width Issue on iPhone

My app is iOS 17 targeted and uses a card-based list view with Delete and Duplicate trailing and leading swipe actions. The Delete and Duplicate buttons display appropriately on iPad with rounded corners, height equal to card height and width expanding to fill the leading or trailing space created by the swipe action (with padding between the edge of the button and the edge of the card). See screenshot:

However, on iPhone (a) the button heights extend from the top of the first card to the bottom of the last card in the scrolled list, (b) the width expands to completely fill the space without padding between the button and the cards, and (c) only the leading (or trailing) top and bottom corners are rounded (respectively). See screenshots:

The swipe action modifiers are standard and applied on a CardView in the following view chain (NavigationSplitView -> ZStack -> Group -> ZStack -> List -> ForEach -> ZStack -> CardView | NavigationLink with empty view as workaround for a toolbar bug.

Here are the swipe actions :

.swipeActions(edge: .trailing, allowsFullSwipe: false) {
           Button(role: .destructive, action: {
            // Perform "Delete" action
                                            
            }) {
                    Label("Delete", systemImage: "trash")
            }
 }
 .swipeActions(edge: .leading, allowsFullSwipe: false) {
            Button(action: {
             // Perform "Duplicate" action
                                           
             }) {
                     Label("Duplicate", systemImage: "doc.on.doc")
             }
}

I’ve tried embedding the buttons within a Geometry reader to explicitly contain the height and width but this results in a compiler error and I suspect that the solution might be a lot simpler. Any thoughts on a fix or an explanation of why the buttons display properly on iPad device and simulator but not on iPhone device or simulator is appreciated. Thanks in advance!