Commit 722e204793a for woocommerce

commit 722e204793a587f853837a5d7d9580d08d2a0b43
Author: Tony Arcangelini <33258733+arcangelini@users.noreply.github.com>
Date:   Mon Feb 23 15:58:39 2026 +0100

    Email Editor: refine order notification email styling (#63306)

    * Refine order notification email styling

    - Reduce default site logo width from 120px to 44px
    - Remove trailing comma from admin new order heading
    - Add "Woo!" prefix to new order body text
    - Hide order table thead when email improvements enabled
    - Use vertical-align: top for order items and product images
    - Add line-height: 120% to address text
    - Consistent 40px margin-bottom on address section
    - Fix order link underline in heading via inline style
    - Add CSS rule for heading order link text-decoration: none

    * Fix missing semicolon in order item thumbnail inline style

    * Add translators comment and fix missing semicolon

    * Bump template versions to 10.6.0

    * Fix e2e test assertions for trailing comma removal in order heading

    * Fix e2e test selector for updated admin email body text

    * Address PR review feedback: revert logo width, Woo! text, and margin changes

    * Address PR review feedback

    * Fix smart quote in admin-new-order template and update changelog

    * Bump template versions to 10.7.0

    * Address feedback

diff --git a/plugins/woocommerce/changelog/stomail-7817-refine-order-notification-email-styling b/plugins/woocommerce/changelog/stomail-7817-refine-order-notification-email-styling
new file mode 100644
index 00000000000..ee13282e35b
--- /dev/null
+++ b/plugins/woocommerce/changelog/stomail-7817-refine-order-notification-email-styling
@@ -0,0 +1,4 @@
+Significance: patch
+Type: tweak
+
+Refine order notification email styling: adjust order summary layout and item alignment
diff --git a/plugins/woocommerce/templates/emails/block/admin-new-order.php b/plugins/woocommerce/templates/emails/block/admin-new-order.php
index 1d5197ae89f..49bd2dd7856 100644
--- a/plugins/woocommerce/templates/emails/block/admin-new-order.php
+++ b/plugins/woocommerce/templates/emails/block/admin-new-order.php
@@ -12,7 +12,7 @@
  *
  * @see https://woocommerce.com/document/template-structure/
  * @package WooCommerce\Templates\Emails\Block
- * @version 10.2.0
+ * @version 10.7.0
  */

 use Automattic\WooCommerce\Internal\EmailEditor\BlockEmailRenderer;
@@ -26,14 +26,14 @@ defined( 'ABSPATH' ) || exit;
 <!-- wp:heading -->
 <h2 class="wp-block-heading"><?php
 /* translators: %s: order number */
-printf( esc_html__( 'New order: #%s,', 'woocommerce' ), '<!--[woocommerce/order-number]-->' );
+printf( esc_html__( 'New order: #%s', 'woocommerce' ), '<!--[woocommerce/order-number]-->' );
 ?></h2>
 <!-- /wp:heading -->

 <!-- wp:paragraph -->
 <p><?php
 /* translators: %s: Customer full name */
-printf( esc_html__( 'You’ve received a new order from %s', 'woocommerce' ), '<!--[woocommerce/customer-full-name]-->' );
+printf( esc_html__( 'You’ve received a new order from %s:', 'woocommerce' ), '<!--[woocommerce/customer-full-name]-->' );
 ?></p>
 <!-- /wp:paragraph -->

diff --git a/plugins/woocommerce/templates/emails/email-order-details.php b/plugins/woocommerce/templates/emails/email-order-details.php
index 1b2969ee28d..127199fad62 100644
--- a/plugins/woocommerce/templates/emails/email-order-details.php
+++ b/plugins/woocommerce/templates/emails/email-order-details.php
@@ -12,7 +12,7 @@
  *
  * @see https://woocommerce.com/document/template-structure/
  * @package WooCommerce\Templates\Emails
- * @version 10.6.0
+ * @version 10.7.0
  */

 use Automattic\WooCommerce\Utilities\FeaturesUtil;
@@ -22,7 +22,7 @@ defined( 'ABSPATH' ) || exit;
 $text_align = is_rtl() ? 'right' : 'left';

 $email_improvements_enabled = FeaturesUtil::feature_is_enabled( 'email_improvements' );
-
+$block_email_editor_enabled = FeaturesUtil::feature_is_enabled( 'block_email_editor' );
 /**
  * Filter whether to display the section divider in the email body.
  *
@@ -56,7 +56,7 @@ do_action( 'woocommerce_email_before_order_table', $order, $sent_to_admin, $plai
 		echo wp_kses_post( __( 'Order summary', 'woocommerce' ) );
 	}
 	if ( $sent_to_admin ) {
-		$before = '<a class="link" href="' . esc_url( $order->get_edit_order_url() ) . '">';
+		$before = '<a class="link" href="' . esc_url( $order->get_edit_order_url() ) . '"' . ( $block_email_editor_enabled ? ' style="text-decoration: none;"' : '' ) . '>';
 		$after  = '</a>';
 	} else {
 		$before = '';
@@ -80,6 +80,7 @@ do_action( 'woocommerce_email_before_order_table', $order, $sent_to_admin, $plai

 <div style="margin-bottom: <?php echo $email_improvements_enabled ? '24px' : '40px'; ?>;">
 	<table class="td font-family <?php echo esc_attr( $order_table_class ); ?>" cellspacing="0" cellpadding="6" style="width: 100%;" border="1">
+		<?php if ( ! $block_email_editor_enabled ) : ?>
 		<thead>
 			<tr>
 				<th class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;"><?php esc_html_e( 'Product', 'woocommerce' ); ?></th>
@@ -87,6 +88,7 @@ do_action( 'woocommerce_email_before_order_table', $order, $sent_to_admin, $plai
 				<th class="td" scope="col" style="text-align:<?php echo esc_attr( $order_total_text_align ); ?>;"><?php esc_html_e( 'Price', 'woocommerce' ); ?></th>
 			</tr>
 		</thead>
+		<?php endif; ?>
 		<tbody>
 			<?php
 			$image_size = $email_improvements_enabled ? 48 : 32;
diff --git a/plugins/woocommerce/templates/emails/email-order-items.php b/plugins/woocommerce/templates/emails/email-order-items.php
index 95a59a19713..1f44a1613e2 100644
--- a/plugins/woocommerce/templates/emails/email-order-items.php
+++ b/plugins/woocommerce/templates/emails/email-order-items.php
@@ -12,7 +12,7 @@
  *
  * @see     https://woocommerce.com/document/template-structure/
  * @package WooCommerce\Templates\Emails
- * @version 10.4.0
+ * @version 10.7.0
  */

 use Automattic\WooCommerce\Utilities\FeaturesUtil;
@@ -23,6 +23,7 @@ $margin_side = is_rtl() ? 'left' : 'right';

 $email_improvements_enabled = FeaturesUtil::feature_is_enabled( 'email_improvements' );
 $price_text_align           = $email_improvements_enabled ? 'right' : 'left';
+$block_email_editor_enabled = FeaturesUtil::feature_is_enabled( 'block_email_editor' );

 foreach ( $items as $item_id => $item ) :
 	$product       = $item->get_product();
@@ -42,7 +43,7 @@ foreach ( $items as $item_id => $item ) :

 	?>
 	<tr class="<?php echo esc_attr( apply_filters( 'woocommerce_order_item_class', 'order_item', $item, $order ) ); ?>">
-		<td class="td font-family text-align-left" style="vertical-align: middle; word-wrap:break-word;">
+		<td class="td font-family text-align-left" style="vertical-align: <?php echo $block_email_editor_enabled ? 'top' : 'middle'; ?>; word-wrap:break-word;">
 			<?php if ( $email_improvements_enabled ) { ?>
 				<table class="order-item-data" role="presentation">
 					<tr>
@@ -56,7 +57,7 @@ foreach ( $items as $item_id => $item ) :
 							 * @param WC_Order_Item_Product $item  The item being displayed.
 							 * @since 2.1.0
 							 */
-							echo '<td>' . wp_kses_post( apply_filters( 'woocommerce_order_item_thumbnail', $image, $item ) ) . '</td>';
+							echo '<td style="vertical-align: top;">' . wp_kses_post( apply_filters( 'woocommerce_order_item_thumbnail', $image, $item ) ) . '</td>';
 						}
 						?>
 						<td>
diff --git a/plugins/woocommerce/templates/emails/email-styles.php b/plugins/woocommerce/templates/emails/email-styles.php
index f6c357a30b6..5b91470c7ba 100644
--- a/plugins/woocommerce/templates/emails/email-styles.php
+++ b/plugins/woocommerce/templates/emails/email-styles.php
@@ -12,7 +12,7 @@
  *
  * @see     https://woocommerce.com/document/template-structure/
  * @package WooCommerce\Templates\Emails
- * @version 10.5.0
+ * @version 10.7.0
  */

 use Automattic\WooCommerce\Internal\Email\EmailFont;
@@ -23,6 +23,7 @@ if ( ! defined( 'ABSPATH' ) ) {
 }

 $email_improvements_enabled = FeaturesUtil::feature_is_enabled( 'email_improvements' );
+$block_email_editor_enabled = FeaturesUtil::feature_is_enabled( 'block_email_editor' );

 // Load colors.
 $bg               = get_option( 'woocommerce_email_background_color' );
@@ -272,7 +273,7 @@ body {
 #body_content .order-item-data td {
 	border: 0 !important;
 	padding: 0 !important;
-	vertical-align: middle;
+	vertical-align: top;
 }

 #body_content .email-order-details .order-totals td,
@@ -352,6 +353,7 @@ body {
 	<?php if ( $email_improvements_enabled ) { ?>
 		color: <?php echo esc_attr( $text ); ?>;
 		font-style: normal;
+		line-height: 120%;
 		padding: 8px 0;
 	<?php } else { ?>
 		padding: 12px;
@@ -458,7 +460,7 @@ img {
 	outline: none;
 	text-decoration: none;
 	text-transform: capitalize;
-	vertical-align: middle;
+	vertical-align: <?php echo $block_email_editor_enabled ? 'top' : 'middle'; ?>;
 	margin-<?php echo is_rtl() ? 'left' : 'right'; ?>: <?php echo $email_improvements_enabled ? '24px' : '10px'; ?>;
 	max-width: 100%;
 }
@@ -470,6 +472,10 @@ h2.email-order-detail-heading span {
 	font-weight: normal;
 }

+h2.email-order-detail-heading span a {
+	text-decoration: none;
+}
+
 .font-family {
 	font-family: <?php echo $safe_font_family; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>;
 }
diff --git a/plugins/woocommerce/tests/e2e-pw/tests/email-editor/email-editor-loads.spec.ts b/plugins/woocommerce/tests/e2e-pw/tests/email-editor/email-editor-loads.spec.ts
index 3fa13ead6b1..d12b869d984 100644
--- a/plugins/woocommerce/tests/e2e-pw/tests/email-editor/email-editor-loads.spec.ts
+++ b/plugins/woocommerce/tests/e2e-pw/tests/email-editor/email-editor-loads.spec.ts
@@ -44,7 +44,7 @@ test.describe( 'WooCommerce Email Editor Core', () => {
 				.locator( 'iframe[name="editor-canvas"]' )
 				.contentFrame()
 				.getByLabel( 'Block: Heading' )
-		).toContainText( `New order: #[woocommerce/order-number],` );
+		).toContainText( `New order: #[woocommerce/order-number]` );
 	} );

 	test( 'Can preview in new tab', async ( { page } ) => {
@@ -64,7 +64,7 @@ test.describe( 'WooCommerce Email Editor Core', () => {
 		await page.close(); // close the original tab.
 		await expect( newPage.url() ).toContain( 'preview=true' );
 		await expect( newPage.locator( 'body' ) ).toContainText(
-			'New order: #12345,'
+			'New order: #12345'
 		);
 	} );