diff --git a/projects/packages/forms/changelog/fix-jetpack-counter b/projects/packages/forms/changelog/fix-jetpack-counter
new file mode 100644
index 000000000000..2991ba611db3
--- /dev/null
+++ b/projects/packages/forms/changelog/fix-jetpack-counter
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fixed
+
+Add the awaiting-mod CSS class to the Jetpack menu feedback unread counter badge so it renders with the standard WordPress menu bubble styling.
diff --git a/projects/packages/forms/src/contact-form/class-contact-form-plugin.php b/projects/packages/forms/src/contact-form/class-contact-form-plugin.php
index 80951c1299a5..032f1b507b56 100644
--- a/projects/packages/forms/src/contact-form/class-contact-form-plugin.php
+++ b/projects/packages/forms/src/contact-form/class-contact-form-plugin.php
@@ -1556,7 +1556,8 @@ public function unread_count() {
if ( $unread > 0 ) {
$jetpack_unread_tag = $this->get_unread_count_badge_markup(
$jetpack_badge_count,
- $jetpack_badge_count - $unread
+ $jetpack_badge_count - $unread,
+ 'awaiting-mod'
);
// phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
@@ -1591,16 +1592,24 @@ public function unread_count() {
*
* @param int $count Badge count to display.
* @param int|null $unread_diff Optional diff for combined Jetpack menu badges.
+ * @param string $extra_classes Optional additional CSS classes for the badge.
* @return string Badge HTML.
*/
- private function get_unread_count_badge_markup( $count, $unread_diff = null ) {
- $attributes = "class='menu-counter jp-feedback-unread-counter count-" . (int) $count . "'";
+ private function get_unread_count_badge_markup( $count, $unread_diff = null, $extra_classes = '' ) {
+ $classes = trim(
+ $extra_classes . ' menu-counter jp-feedback-unread-counter count-' . (int) $count
+ );
- if ( null !== $unread_diff ) {
- $attributes = "data-unread-diff='" . (int) $unread_diff . "' " . $attributes;
- }
+ $data_attr = null !== $unread_diff
+ ? sprintf( " data-unread-diff='%d'", (int) $unread_diff )
+ : '';
- return " " . number_format_i18n( $count ) . '';
+ return sprintf(
+ " %s",
+ $data_attr,
+ esc_attr( $classes ),
+ number_format_i18n( $count )
+ );
}
/**