diff --git a/scss/_modal.scss b/scss/_modal.scss
index 494db94e7eb9..ce5da482c32c 100644
--- a/scss/_modal.scss
+++ b/scss/_modal.scss
@@ -132,7 +132,12 @@
 
   .btn-close {
     padding: calc(var(--#{$prefix}modal-header-padding-y) * .5) calc(var(--#{$prefix}modal-header-padding-x) * .5);
-    margin: calc(-.5 * var(--#{$prefix}modal-header-padding-y)) calc(-.5 * var(--#{$prefix}modal-header-padding-x)) calc(-.5 * var(--#{$prefix}modal-header-padding-y)) auto;
+
+    // An equivalent `margin` shorthand is not used to ensure that the `auto` left margin is applied correctly
+    margin-top: calc(-.5 * var(--#{$prefix}modal-header-padding-y));
+    margin-right: calc(-.5 * var(--#{$prefix}modal-header-padding-x));
+    margin-bottom: calc(-.5 * var(--#{$prefix}modal-header-padding-y));
+    margin-left: auto;
   }
 }
 
diff --git a/scss/_offcanvas.scss b/scss/_offcanvas.scss
index eb2c97ab77a3..1769f73d8653 100644
--- a/scss/_offcanvas.scss
+++ b/scss/_offcanvas.scss
@@ -127,7 +127,12 @@
 
   .btn-close {
     padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5);
-    margin: calc(-.5 * var(--#{$prefix}offcanvas-padding-y)) calc(-.5 * var(--#{$prefix}offcanvas-padding-x)) calc(-.5 * var(--#{$prefix}offcanvas-padding-y)) auto;
+
+    // An equivalent `margin` shorthand is not used to ensure that the `auto` left margin is applied correctly
+    margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
+    margin-right: calc(-.5 * var(--#{$prefix}offcanvas-padding-x));
+    margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
+    margin-left: auto;
   }
 }