A new custom property for embedded apps running inside the Shopify mobile app that returns the height, in CSS pixels, of the overlay at the bottom of the screen (such as the floating bottom navigation bar). App Bridge sets it automatically, so you can lift fixed-position FABs and sticky footers above the bar. Applies from April 15, 2026.
A bottom-fixed FAB or sticky footer overlaps the native floating bar, so it can't be tapped or seen.
App Bridge sets the bar's height into the variable. In CSS, just calc() add it and your fixed elements sit above the bar.
This variable <body> automatically adds bottom padding to. Apps with content that normally scrolls, for the most part, even without any changes, work correctly without being hidden behind the floating bar.
Such as sticky footers and floating action buttons (FABs),position:fixed/sticky your own elements placed at the bottom need you to incorporate the variable into your CSS yourself.
var(--shopify-safe-area-inset-bottom, 0px) add it.| Situation | Value of var(--shopify-safe-area-inset-bottom) |
|---|---|
| When there is no overlay | 0px Default value |
| Mobile floating bottom bar is showing | The bar's heightautomatically adjusted to (in CSS pixels) |
| Who sets it | App Bridge sets it automatically (no extra JS implementation needed) |
, 0px .For custom bottom-fixed elements, just add the variable to the existing bottom value. The implementation example shown in the article is as follows.
16px still holds safely.Apps that run on Shopify mobile and use fixed / sticky elements at the bottom of the viewport All embedded apps.
Applies to all affected apps starting April 15, 2026 onward.
Most apps need no changes. Only if you have a custom bottom-fixed UI do you need to add the variable to your CSS.
Because App Bridge sets the value automatically, all you do on the developer side is write var() in your CSS. No listener registration or height-measurement code is required.
It toggles between 0px and the bar height depending on whether the overlay is present, so you don't need your own branching with media queries or device detection.
Normal-flow content is <body> covered by the automatic padding applied to it.Only fixed / sticky elements need attention— that's how cleanly it can be isolated.
So nothing breaks in environments without the variable, passing 0px as the second argument is the safe choice.calc(16px + var(--..., 0px)) Stick to this form consistently.
This change applies uniformly to all affected apps on April 15, 2026, and is treated as Action Required on the changelog.Apps with a bottom-fixed UI must check for overlap on a real device (Shopify mobile) before the deadline. For details, see the Environment API documentation in App Home.
bottom to calc(16px + var(--shopify-safe-area-inset-bottom, 0px)) to move it above the bar.<body> saved by the automatic padding, so the fix can be limited to fixed elements only.bottom(or padding-bottom), add the variable so it always sits above the bar.var(--shopify-safe-area-inset-bottom, 0px) and roll it out to every app at once.calc(... + var(--shopify-safe-area-inset-bottom, 0px)) need it added so they aren't hidden behind the floating bar."