Commit f2f1c6a8bc9 for woocommerce

commit f2f1c6a8bc982ddcbdc8d1694872781f695b5a71
Author: Benito Alba Molina <albamolina.benito@gmail.com>
Date:   Fri Oct 16 07:47:16 2026 +0200

    Restore mobile zoom in the Core Profiler (#68171)

    * Restore mobile zoom in the Core Profiler

    * Add changelog entry for Core Profiler mobile zoom fix

    * Cover both mobile onboarding paths and use WordPress font sizing

diff --git a/plugins/woocommerce/changelog/fix-67834-core-profiler-mobile-zoom b/plugins/woocommerce/changelog/fix-67834-core-profiler-mobile-zoom
new file mode 100644
index 00000000000..09cf97da506
--- /dev/null
+++ b/plugins/woocommerce/changelog/fix-67834-core-profiler-mobile-zoom
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fix
+
+Allow mobile zoom in the Core Profiler without triggering automatic input zoom.
diff --git a/plugins/woocommerce/client/admin/client/core-profiler/style.scss b/plugins/woocommerce/client/admin/client/core-profiler/style.scss
index c84c966cebe..b274bf26603 100644
--- a/plugins/woocommerce/client/admin/client/core-profiler/style.scss
+++ b/plugins/woocommerce/client/admin/client/core-profiler/style.scss
@@ -751,3 +751,20 @@
 		padding-top: 32px !important;
 	}
 }
+
+@include breakpoint("<782px") {
+	.woocommerce-profile-wizard__body #woocommerce-layout__primary {
+		input:not([type]),
+		input[type="email"],
+		input[type="number"],
+		input[type="password"],
+		input[type="search"],
+		input[type="tel"],
+		input[type="text"],
+		input[type="url"],
+		select,
+		textarea {
+			font-size: $mobile-text-min-font-size;
+		}
+	}
+}
diff --git a/plugins/woocommerce/src/Internal/Admin/Onboarding/OnboardingSetupWizard.php b/plugins/woocommerce/src/Internal/Admin/Onboarding/OnboardingSetupWizard.php
index 50dcdda4ba3..d94e4484ef9 100644
--- a/plugins/woocommerce/src/Internal/Admin/Onboarding/OnboardingSetupWizard.php
+++ b/plugins/woocommerce/src/Internal/Admin/Onboarding/OnboardingSetupWizard.php
@@ -397,7 +397,7 @@ class OnboardingSetupWizard {
 			return $viewport_meta;
 		}

-		return 'width=device-width, initial-scale=1.0, maximum-scale=1.0';
+		return 'width=device-width, initial-scale=1.0';
 	}

 	/**
diff --git a/plugins/woocommerce/tests/e2e/tests/onboarding/onboarding-wizard.spec.ts b/plugins/woocommerce/tests/e2e/tests/onboarding/onboarding-wizard.spec.ts
index 0a260d347b3..a2d3a7fedbc 100644
--- a/plugins/woocommerce/tests/e2e/tests/onboarding/onboarding-wizard.spec.ts
+++ b/plugins/woocommerce/tests/e2e/tests/onboarding/onboarding-wizard.spec.ts
@@ -18,6 +18,46 @@ const getPluginLocator = ( page: Page, slug: string ) => {
 	);
 };

+const selectMobileBusinessProfile = async (
+	page: Page,
+	businessChoice: string
+) => {
+	await page
+		.getByRole( 'radio' )
+		.filter( { hasText: businessChoice } )
+		.click();
+
+	if ( businessChoice === 'already selling' ) {
+		await page
+			.locator(
+				'.woocommerce-profiler-select-control__selling-online-question input'
+			)
+			.press( 'ArrowDown' );
+		await page
+			.getByRole( 'option', { name: 'Yes, I’m selling online' } )
+			.click();
+		const selectedPlatforms = page
+			.locator( '.woocommerce-profiler-platform-selector' )
+			.getByRole( 'button', { name: /^Remove / } );
+		while ( await selectedPlatforms.count() ) {
+			await selectedPlatforms.first().click();
+		}
+		const platformsInput = page.locator(
+			'.woocommerce-profiler-platform-selector .woocommerce-experimental-select-control__input'
+		);
+		await expect( platformsInput ).toHaveCSS( 'font-size', '16px' );
+		await platformsInput.click();
+		await page
+			.getByRole( 'option', { name: 'Shopify', exact: true } )
+			.click();
+		await page
+			.getByRole( 'heading', {
+				name: 'Which one of these best describes you?',
+			} )
+			.click();
+	}
+};
+
 test.use( { storageState: ADMIN_STATE_PATH } );

 test.afterAll( async ( { baseURL } ) => {
@@ -41,6 +81,58 @@ test.describe(
 			}
 		} );

+		for ( const businessChoice of [
+			'just starting my business',
+			'already selling',
+		] ) {
+			test( `Allows mobile zoom without automatic input focus zoom (${ businessChoice })`, async ( {
+				page,
+			} ) => {
+				test.skip(
+					!! process.env.IS_MULTISITE,
+					'Test not working on a multisite setup, see https://github.com/woocommerce/woocommerce/issues/55066'
+				);
+				await page.setViewportSize( { width: 390, height: 844 } );
+				await page.goto(
+					'wp-admin/admin.php?page=wc-admin&path=%2Fsetup-wizard'
+				);
+
+				await expect(
+					page.locator( 'meta[name="viewport"]' )
+				).toHaveAttribute(
+					'content',
+					'width=device-width, initial-scale=1.0'
+				);
+				await page
+					.getByRole( 'button', { name: 'Set up my store' } )
+					.click();
+				await selectMobileBusinessProfile( page, businessChoice );
+				await page.getByRole( 'button', { name: 'Continue' } ).click();
+
+				await expect(
+					page.getByRole( 'heading', {
+						name: 'Tell us a bit about your store',
+					} )
+				).toBeVisible();
+				await expect(
+					page.getByPlaceholder( 'Ex. My awesome store' )
+				).toHaveCSS( 'font-size', '16px' );
+				await expect(
+					page.getByPlaceholder( 'wordpress@example.com' )
+				).toHaveCSS( 'font-size', '16px' );
+				await expect(
+					page.locator(
+						'.woocommerce-profiler-select-control__industry .woocommerce-select-control__control-input'
+					)
+				).toHaveCSS( 'font-size', '16px' );
+				await expect(
+					page.locator(
+						'.woocommerce-profiler-select-control__country .woocommerce-select-control__control-input'
+					)
+				).toHaveCSS( 'font-size', '16px' );
+			} );
+		}
+
 		test( 'Can complete the core profiler skipping extension install', async ( {
 			page,
 		} ) => {