diff --git a/.loki/reference/chrome_laptop_viz_PivotTable_Default.png b/.loki/reference/chrome_laptop_viz_PivotTable_Default.png
index 4d387384b1705d46ba61b729a250a4ecdfe778ad..22a7f356ff14f218e25d5a0a79a42bc21bf1e966 100644
Binary files a/.loki/reference/chrome_laptop_viz_PivotTable_Default.png and b/.loki/reference/chrome_laptop_viz_PivotTable_Default.png differ
diff --git a/.loki/reference/chrome_laptop_viz_PivotTable_Embedding_Theme.png b/.loki/reference/chrome_laptop_viz_PivotTable_Embedding_Theme.png
index e9f1ddd9d78a75c6ec7c257a68485a2b6b93be08..23cb3364b2381a763a721e6d60d09e25a11f264b 100644
Binary files a/.loki/reference/chrome_laptop_viz_PivotTable_Embedding_Theme.png and b/.loki/reference/chrome_laptop_viz_PivotTable_Embedding_Theme.png differ
diff --git a/.loki/reference/chrome_laptop_viz_SmartScalar_Embedding_Template.png b/.loki/reference/chrome_laptop_viz_SmartScalar_Embedding_Template.png
deleted file mode 100644
index ed6f90e76855d4a6d5d36ac8a571dd30cc8f37a8..0000000000000000000000000000000000000000
Binary files a/.loki/reference/chrome_laptop_viz_SmartScalar_Embedding_Template.png and /dev/null differ
diff --git a/.loki/reference/chrome_laptop_viz_SmartScalar_Embedding_Theme.png b/.loki/reference/chrome_laptop_viz_SmartScalar_Embedding_Theme.png
new file mode 100644
index 0000000000000000000000000000000000000000..05fdbf4f19ab97e48f064c6f4c48dc3449a18cb6
Binary files /dev/null and b/.loki/reference/chrome_laptop_viz_SmartScalar_Embedding_Theme.png differ
diff --git a/.loki/reference/chrome_laptop_viz_TableSimple_Embedding_Theme.png b/.loki/reference/chrome_laptop_viz_TableSimple_Embedding_Theme.png
index d95b073c090c18ff07c43f711bb75e6976a25a65..4d09c3fe4de189f38b18eca788eb8d02186a9687 100644
Binary files a/.loki/reference/chrome_laptop_viz_TableSimple_Embedding_Theme.png and b/.loki/reference/chrome_laptop_viz_TableSimple_Embedding_Theme.png differ
diff --git a/enterprise/frontend/src/embedding-sdk/README.md b/enterprise/frontend/src/embedding-sdk/README.md
index 3b2f1ecea9b33d0e1053be1669a80e6f5013cd04..c05ae5af272a1901319eb2e6920c2b1f9c1a7c4a 100644
--- a/enterprise/frontend/src/embedding-sdk/README.md
+++ b/enterprise/frontend/src/embedding-sdk/README.md
@@ -466,6 +466,9 @@ const theme = {
 
         // Default background color of cells, defaults to `background`
         backgroundColor: "#FFFFFF",
+
+        // Font size of cell values, defaults to ~12.5px
+        fontSize: "12.5px",
       },
 
       idColumn: {
@@ -486,8 +489,20 @@ const theme = {
       },
     },
 
+    // Cartesian chart
+    cartesian: {
+      // Padding around the cartesian charts.
+      // Uses CSS's `padding` property format.
+      padding: "4px 8px",
+    },
+
     // Pivot table
     pivotTable: {
+      cell: {
+        // Font size of cell values, defaults to ~12px
+        fontSize: "12px",
+      },
+
       // Pivot row toggle to expand or collapse row
       rowToggle: {
         textColor: "#FFFFFF",
@@ -498,13 +513,13 @@ const theme = {
     collectionBrowser: {
        breadcrumbs: {
          expandButton: {
-           textColor: "#8118F4";
-           backgroundColor: "#767D7C";
-           hoverTextColor: "#CE8C8C";
-           hoverBackgroundColor: "#69264B";
-         };
-       };
-     };
+           textColor: "#8118F4",
+           backgroundColor: "#767D7C",
+           hoverTextColor: "#CE8C8C",
+           hoverBackgroundColor: "#69264B",
+         },
+       },
+     },
   },
 };
 ```
diff --git a/enterprise/frontend/src/embedding-sdk/lib/theme/default-component-theme.ts b/enterprise/frontend/src/embedding-sdk/lib/theme/default-component-theme.ts
index 872b32cda27cee3d370ab8b90b26dc2c4e544adf..1516576e4f207a37b5bf076c6980f696fe3a98ea 100644
--- a/enterprise/frontend/src/embedding-sdk/lib/theme/default-component-theme.ts
+++ b/enterprise/frontend/src/embedding-sdk/lib/theme/default-component-theme.ts
@@ -14,8 +14,9 @@ const units = (px: number) => ({
   em: `${px / DEFAULT_SDK_FONT_SIZE}em`,
 });
 
-export const FONT_SIZES = {
+const FONT_SIZES = {
   tableCell: units(12.5),
+  pivotTableCell: units(12),
   label: units(12),
   goalLabel: units(14),
 };
@@ -70,6 +71,9 @@ export const DEFAULT_METABASE_COMPONENT_THEME: MetabaseComponentTheme = {
     },
   },
   pivotTable: {
+    cell: {
+      fontSize: FONT_SIZES.pivotTableCell.px,
+    },
     rowToggle: {
       textColor: "text-white",
       backgroundColor: "text-light", // TODO: should it be "bg-dark" ?
@@ -97,7 +101,13 @@ export const DEFAULT_EMBEDDED_COMPONENT_THEME: MetabaseComponentTheme = merge<
       backgroundColor: "bg-white",
     },
   },
+  pivotTable: {
+    cell: {
+      fontSize: FONT_SIZES.pivotTableCell.em,
+    },
+  },
   cartesian: {
+    padding: "0.5rem 1rem",
     label: { fontSize: FONT_SIZES.label.em },
     goalLine: {
       label: { fontSize: FONT_SIZES.goalLabel.em },
diff --git a/enterprise/frontend/src/embedding-sdk/types/theme/index.ts b/enterprise/frontend/src/embedding-sdk/types/theme/index.ts
index 6bc9f74fff5fe42ea7baedf5ebbbf226d8c3014c..d63f2afea8fc46bf8881e70944c3a93b5d55cc21 100644
--- a/enterprise/frontend/src/embedding-sdk/types/theme/index.ts
+++ b/enterprise/frontend/src/embedding-sdk/types/theme/index.ts
@@ -126,6 +126,11 @@ export type MetabaseComponentTheme = {
 
   /** Pivot table **/
   pivotTable: {
+    cell: {
+      /** Font size of cell values, defaults to ~12px */
+      fontSize: string;
+    };
+
     /** Button to toggle pivot table rows */
     rowToggle: {
       textColor: string;
@@ -144,6 +149,9 @@ export type MetabaseComponentTheme = {
 
   /** Cartesian charts */
   cartesian: {
+    /** Padding around the chart. */
+    padding?: string;
+
     label: {
       /** Labels used in cartesian charts, such as axis ticks and series. */
       fontSize: string;
diff --git a/frontend/src/metabase/visualizations/components/FunnelNormal.styled.tsx b/frontend/src/metabase/visualizations/components/FunnelNormal.styled.tsx
index 7b5bcdc5985ea1b9362a21efbd8fd20614404b20..50726c8f1b01c6b9db9d9c6018972cc0690ea263 100644
--- a/frontend/src/metabase/visualizations/components/FunnelNormal.styled.tsx
+++ b/frontend/src/metabase/visualizations/components/FunnelNormal.styled.tsx
@@ -37,7 +37,7 @@ export const Head = styled.div<SharedProps>`
   ${props =>
     props.isNarrow
       ? css`
-          font-size: 12px;
+          font-size: 0.85em;
         `
       : null}
 `;
@@ -45,7 +45,7 @@ export const Head = styled.div<SharedProps>`
 export const Info = styled.div<SharedProps>`
   text-align: right;
   padding: 0.5em 0.5em 0 0.5em;
-  font-size: ${props => (props.isNarrow ? "12px" : "16px")};
+  font-size: ${props => (props.isNarrow ? "0.85em" : "1.15em")};
 
   ${Subtitle} {
     font-size: ${props => (props.isNarrow ? "0.875em" : "0.6875em")};
@@ -61,11 +61,11 @@ export const FunnelStart = styled.div<SharedProps>`
   flex-grow: 1;
 
   padding-right: 0.5em;
-  font-size: 24px;
+  font-size: 1.72em;
 
   ${Title} {
     font-weight: bold;
-    color: black;
+    color: var(--mb-color-text-dark);
     ${props =>
       props.isNarrow
         ? css`
diff --git a/frontend/src/metabase/visualizations/components/ObjectDetail/ObjectDetailBody.styled.tsx b/frontend/src/metabase/visualizations/components/ObjectDetail/ObjectDetailBody.styled.tsx
index 666880b86d2bc6afc341a5aeba33b018b3867393..a700b460d650d0d96a9dea64c8fb4b25c5a43461 100644
--- a/frontend/src/metabase/visualizations/components/ObjectDetail/ObjectDetailBody.styled.tsx
+++ b/frontend/src/metabase/visualizations/components/ObjectDetail/ObjectDetailBody.styled.tsx
@@ -1,7 +1,7 @@
 import styled from "@emotion/styled";
 
 export const ObjectDetailBodyWrapper = styled.div`
-  font-size: 1rem;
+  font-size: 1.15em;
   flex: 1;
   overflow-y: auto;
 `;
diff --git a/frontend/src/metabase/visualizations/components/legend/LegendItem.styled.tsx b/frontend/src/metabase/visualizations/components/legend/LegendItem.styled.tsx
index 75e78df7739351356f63d18391f68639369b3172..056f78640fa8c9b61c942107d2061bd5cca53f51 100644
--- a/frontend/src/metabase/visualizations/components/legend/LegendItem.styled.tsx
+++ b/frontend/src/metabase/visualizations/components/legend/LegendItem.styled.tsx
@@ -39,7 +39,7 @@ export const LegendItemDot = styled.div`
 export const LegendItemTitle = styled.div`
   color: var(--mb-color-text-dark);
   font-weight: bold;
-  font-size: 12px;
+  font-size: 0.85em;
   margin-left: 4px;
   overflow: hidden;
 `;
diff --git a/frontend/src/metabase/visualizations/visualizations/BarChart/BarChart.stories.tsx b/frontend/src/metabase/visualizations/visualizations/BarChart/BarChart.stories.tsx
index 53755d658a972810ed9a8e10fd57cbf46c4d73dc..1a41df9bd01c4fbf0fb3570532dab4bc5cc82015 100644
--- a/frontend/src/metabase/visualizations/visualizations/BarChart/BarChart.stories.tsx
+++ b/frontend/src/metabase/visualizations/visualizations/BarChart/BarChart.stories.tsx
@@ -47,7 +47,10 @@ export const Default: Story = () => (
 
 // Example of how themes can be applied in the SDK.
 export const EmbeddingHugeFont: Story = () => {
-  const theme: MetabaseTheme = { fontSize: "20px" };
+  const theme: MetabaseTheme = {
+    fontSize: "20px",
+    components: { cartesian: { padding: "0.5rem 1rem" } },
+  };
 
   return (
     <SdkVisualizationWrapper theme={theme}>
diff --git a/frontend/src/metabase/visualizations/visualizations/CartesianChart/CartesianChart.styled.tsx b/frontend/src/metabase/visualizations/visualizations/CartesianChart/CartesianChart.styled.tsx
index f61bf5c58c65b475d245e37de666561750a21094..1345b61b0f861a60dd612fbbbb18287609a9add4 100644
--- a/frontend/src/metabase/visualizations/visualizations/CartesianChart/CartesianChart.styled.tsx
+++ b/frontend/src/metabase/visualizations/visualizations/CartesianChart/CartesianChart.styled.tsx
@@ -3,23 +3,10 @@ import styled from "@emotion/styled";
 import { ResponsiveEChartsRenderer } from "metabase/visualizations/components/EChartsRenderer";
 import LegendLayout from "metabase/visualizations/components/legend/LegendLayout";
 
+import { getChartPadding } from "./padding";
+
 type CartesianChartRootProps = {
   isQueryBuilder?: boolean;
-  isEmbeddingSdk?: boolean;
-};
-
-const getChartPadding = ({
-  isEmbeddingSdk,
-  isQueryBuilder,
-}: CartesianChartRootProps) => {
-  if (isEmbeddingSdk) {
-    return "0rem";
-  }
-  if (isQueryBuilder) {
-    return "1rem 1rem 1rem 2rem";
-  }
-
-  return "0.5rem 1rem";
 };
 
 export const CartesianChartRoot = styled.div<CartesianChartRootProps>`
diff --git a/frontend/src/metabase/visualizations/visualizations/CartesianChart/CartesianChart.tsx b/frontend/src/metabase/visualizations/visualizations/CartesianChart/CartesianChart.tsx
index a9a18e20791e8c7cececf1b0e0ada0edf170d9e5..a04b7ff524d2dfabbc19a158c05a597a85e1f27e 100644
--- a/frontend/src/metabase/visualizations/visualizations/CartesianChart/CartesianChart.tsx
+++ b/frontend/src/metabase/visualizations/visualizations/CartesianChart/CartesianChart.tsx
@@ -33,7 +33,6 @@ function _CartesianChart(props: VisualizationProps) {
     headerIcon,
     actionButtons,
     isQueryBuilder,
-    isEmbeddingSdk,
     isFullscreen,
     hovered,
     onChangeCardAndRun,
@@ -90,10 +89,7 @@ function _CartesianChart(props: VisualizationProps) {
   const canSelectTitle = !!onChangeCardAndRun;
 
   return (
-    <CartesianChartRoot
-      isQueryBuilder={isQueryBuilder}
-      isEmbeddingSdk={isEmbeddingSdk}
-    >
+    <CartesianChartRoot isQueryBuilder={isQueryBuilder}>
       {hasTitle && (
         <LegendCaption
           title={title}
diff --git a/frontend/src/metabase/visualizations/visualizations/CartesianChart/padding.ts b/frontend/src/metabase/visualizations/visualizations/CartesianChart/padding.ts
new file mode 100644
index 0000000000000000000000000000000000000000..212cdff0feb089dd86880fa57dc54989fdea35d9
--- /dev/null
+++ b/frontend/src/metabase/visualizations/visualizations/CartesianChart/padding.ts
@@ -0,0 +1,23 @@
+import type { MantineTheme } from "metabase/ui";
+
+export const getChartPadding = ({
+  theme,
+  isQueryBuilder,
+}: {
+  isQueryBuilder?: boolean;
+  theme: MantineTheme;
+}) => {
+  const { padding } = theme.other.cartesian;
+
+  if (padding) {
+    return padding;
+  }
+
+  // Extra spacing is required on question pages.
+  // Refer to https://github.com/metabase/metabase/pull/17552#issuecomment-904945088
+  if (isQueryBuilder) {
+    return "1rem 1rem 1rem 2rem";
+  }
+
+  return "0.5rem 1rem";
+};
diff --git a/frontend/src/metabase/visualizations/visualizations/Gauge/Gauge.jsx b/frontend/src/metabase/visualizations/visualizations/Gauge/Gauge.jsx
index b6fed3496678b68611c9228a5f30a9f735a6636b..9a751928a3a03e2aabe81bb79bf06a59384e1b1d 100644
--- a/frontend/src/metabase/visualizations/visualizations/Gauge/Gauge.jsx
+++ b/frontend/src/metabase/visualizations/visualizations/Gauge/Gauge.jsx
@@ -41,7 +41,7 @@ const getArrowFillColor = () => color("text-medium");
 const getArrowStrokeColor = () => color("bg-white");
 
 // in ems, but within the scaled 100px SVG element
-const FONT_SIZE_SEGMENT_LABEL = 0.25;
+const FONT_SIZE_SEGMENT_LABEL = 0.285;
 const FONT_SIZE_CENTER_LABEL_MIN = 0.5;
 const FONT_SIZE_CENTER_LABEL_MAX = 0.7;
 
@@ -420,8 +420,8 @@ const GaugeSegmentLabel = ({ position: [x, y], style = {}, children }) => (
     x={x}
     y={y}
     style={{
-      fill: color("text-medium"),
-      fontSize: `${FONT_SIZE_SEGMENT_LABEL}rem`,
+      fill: "var(--mb-color-text-medium)",
+      fontSize: `${FONT_SIZE_SEGMENT_LABEL}em`,
       textAnchor: Math.abs(x) < 5 ? "middle" : x > 0 ? "start" : "end",
       // shift text in the lower half down a bit
       transform:
diff --git a/frontend/src/metabase/visualizations/visualizations/LineChart/LineChart.stories.tsx b/frontend/src/metabase/visualizations/visualizations/LineChart/LineChart.stories.tsx
index a2988784d011a87a0966518002ce5eeb76a0032c..68b0e4a12efd43e6147e849156b223cd0ad70bb9 100644
--- a/frontend/src/metabase/visualizations/visualizations/LineChart/LineChart.stories.tsx
+++ b/frontend/src/metabase/visualizations/visualizations/LineChart/LineChart.stories.tsx
@@ -54,7 +54,10 @@ export const Default: Story = () => (
 );
 
 export const EmbeddingHugeFont: Story = () => {
-  const theme: MetabaseTheme = { fontSize: "20px" };
+  const theme: MetabaseTheme = {
+    fontSize: "20px",
+    components: { cartesian: { padding: "0.5rem 1rem" } },
+  };
 
   return (
     <SdkVisualizationWrapper theme={theme}>
diff --git a/frontend/src/metabase/visualizations/visualizations/PivotTable/PivotTable.styled.tsx b/frontend/src/metabase/visualizations/visualizations/PivotTable/PivotTable.styled.tsx
index 80a56ad2cf35c70e3ad3e24138707feaa772c134..094900f506af1b2b28c2b44862ba97e114276e4a 100644
--- a/frontend/src/metabase/visualizations/visualizations/PivotTable/PivotTable.styled.tsx
+++ b/frontend/src/metabase/visualizations/visualizations/PivotTable/PivotTable.styled.tsx
@@ -4,11 +4,7 @@ import styled from "@emotion/styled";
 import { color, alpha, adjustBrightness } from "metabase/lib/colors";
 import type { MantineTheme } from "metabase/ui";
 
-import {
-  CELL_HEIGHT,
-  PIVOT_TABLE_FONT_SIZE,
-  RESIZE_HANDLE_WIDTH,
-} from "./constants";
+import { CELL_HEIGHT, RESIZE_HANDLE_WIDTH } from "./constants";
 
 export const RowToggleIconRoot = styled.div`
   display: flex;
@@ -158,7 +154,7 @@ interface PivotTableRootProps {
 
 export const PivotTableRoot = styled.div<PivotTableRootProps>`
   height: 100%;
-  font-size: ${PIVOT_TABLE_FONT_SIZE};
+  font-size: ${({ theme }) => theme.other.pivotTable.cell.fontSize};
 
   ${props =>
     props.isDashboard
diff --git a/frontend/src/metabase/visualizations/visualizations/PivotTable/PivotTable.tsx b/frontend/src/metabase/visualizations/visualizations/PivotTable/PivotTable.tsx
index 8a57f817d8fff258178a7be61b1ece2b8f8e6e68..d01e01da2c0b50bbbbd4b818688420bce80e700b 100644
--- a/frontend/src/metabase/visualizations/visualizations/PivotTable/PivotTable.tsx
+++ b/frontend/src/metabase/visualizations/visualizations/PivotTable/PivotTable.tsx
@@ -18,6 +18,7 @@ import {
 } from "metabase/lib/data_grid";
 import { getScrollBarSize } from "metabase/lib/dom";
 import { getSetting } from "metabase/selectors/settings";
+import { useMantineTheme } from "metabase/ui";
 import {
   getDefaultSize,
   getMinSize,
@@ -85,6 +86,8 @@ function PivotTable({
   const [gridElement, setGridElement] = useState<HTMLElement | null>(null);
   const columnWidthSettings = settings["pivot_table.column_widths"];
 
+  const theme = useMantineTheme();
+
   const [
     { leftHeaderWidths, totalLeftHeaderWidths, valueHeaderWidths },
     setHeaderWidths,
@@ -198,6 +201,8 @@ function PivotTable({
     }
   }
 
+  const { fontSize } = theme.other.pivotTable.cell;
+
   useEffect(() => {
     if (!pivoted?.rowIndexes) {
       setHeaderWidths({
@@ -213,7 +218,7 @@ function PivotTable({
         rowIndexes: pivoted?.rowIndexes,
         getColumnTitle: idx => getColumnTitle(idx),
         leftHeaderItems: pivoted?.leftHeaderItems,
-        fontFamily: fontFamily,
+        font: { fontFamily, fontSize },
       });
 
       setHeaderWidths({ ...newLeftHeaderWidths, valueHeaderWidths });
@@ -230,6 +235,7 @@ function PivotTable({
     valueHeaderWidths,
     pivoted,
     fontFamily,
+    fontSize,
     getColumnTitle,
     columnsChanged,
     setHeaderWidths,
diff --git a/frontend/src/metabase/visualizations/visualizations/PivotTable/constants.ts b/frontend/src/metabase/visualizations/visualizations/PivotTable/constants.ts
index 2c6289c43d2d7c7c6efaaae3a77e3bfc91b44b3d..a5bcbf34cfb2f3259c862d26edbf916637337527 100644
--- a/frontend/src/metabase/visualizations/visualizations/PivotTable/constants.ts
+++ b/frontend/src/metabase/visualizations/visualizations/PivotTable/constants.ts
@@ -2,9 +2,6 @@
 export const DEFAULT_CELL_WIDTH = 100;
 export const CELL_HEIGHT = 30;
 
-// styling and cell text measurement depend on this font size
-export const PIVOT_TABLE_FONT_SIZE = "0.75rem";
-
 // values for computing header width
 export const ROW_TOGGLE_ICON_WIDTH = 24;
 export const CELL_PADDING = 16;
diff --git a/frontend/src/metabase/visualizations/visualizations/PivotTable/utils.ts b/frontend/src/metabase/visualizations/visualizations/PivotTable/utils.ts
index 81bcedd1a5f95df66367eb72cb241af201014aec..ccb414967a573596f4dcee42e5971ef5b29ccad3 100644
--- a/frontend/src/metabase/visualizations/visualizations/PivotTable/utils.ts
+++ b/frontend/src/metabase/visualizations/visualizations/PivotTable/utils.ts
@@ -2,6 +2,7 @@ import { getIn } from "icepick";
 import { t } from "ttag";
 import _ from "underscore";
 
+import { DEFAULT_METABASE_COMPONENT_THEME } from "embedding-sdk/lib/theme";
 import { sumArray } from "metabase/lib/arrays";
 import { isPivotGroupColumn } from "metabase/lib/data_grid";
 import { measureText } from "metabase/lib/measure-text";
@@ -19,7 +20,6 @@ import {
   CELL_PADDING,
   MIN_HEADER_CELL_WIDTH,
   MAX_HEADER_CELL_WIDTH,
-  PIVOT_TABLE_FONT_SIZE,
   MAX_ROWS_TO_MEASURE,
   LEFT_HEADER_LEFT_SPACING,
   CELL_HEIGHT,
@@ -96,15 +96,20 @@ interface GetLeftHeaderWidthsProps {
   rowIndexes: number[];
   getColumnTitle: (columnIndex: number) => string;
   leftHeaderItems?: HeaderItem[];
-  fontFamily?: string;
+  font: { fontFamily?: string; fontSize?: string };
 }
 
 export function getLeftHeaderWidths({
   rowIndexes,
   getColumnTitle,
   leftHeaderItems = [],
-  fontFamily = "Lato",
+  font,
 }: GetLeftHeaderWidthsProps) {
+  const {
+    fontFamily = "var(--mb-default-font-family)",
+    fontSize = DEFAULT_METABASE_COMPONENT_THEME.pivotTable.cell.fontSize,
+  } = font ?? {};
+
   const cellValues = getColumnValues(leftHeaderItems);
 
   const widths = rowIndexes.map((rowIndex, depthIndex) => {
@@ -112,7 +117,7 @@ export function getLeftHeaderWidths({
       measureText(getColumnTitle(rowIndex), {
         weight: "bold",
         family: fontFamily,
-        size: PIVOT_TABLE_FONT_SIZE,
+        size: fontSize,
       }).width + ROW_TOGGLE_ICON_WIDTH,
     );
 
@@ -124,7 +129,7 @@ export function getLeftHeaderWidths({
             measureText(value, {
               weight: "normal",
               family: fontFamily,
-              size: PIVOT_TABLE_FONT_SIZE,
+              size: fontSize,
             }).width +
             (cellValues[rowIndex]?.hasSubtotal ? ROW_TOGGLE_ICON_WIDTH : 0),
         ) ?? [0]),
diff --git a/frontend/src/metabase/visualizations/visualizations/PivotTable/utils.unit.spec.ts b/frontend/src/metabase/visualizations/visualizations/PivotTable/utils.unit.spec.ts
index e96d2bd8c7adaec55d5ad0a77e3b032bdfc26ca7..b72093b9be71dd11da1112aae8c21bf1a7bba593 100644
--- a/frontend/src/metabase/visualizations/visualizations/PivotTable/utils.unit.spec.ts
+++ b/frontend/src/metabase/visualizations/visualizations/PivotTable/utils.unit.spec.ts
@@ -242,6 +242,7 @@ describe("Visualizations > Visualizations > PivotTable > utils", () => {
       const { leftHeaderWidths } = getLeftHeaderWidths({
         rowIndexes: [0, 1, 2],
         getColumnTitle: () => "test-123",
+        font: {},
       });
       // jest-dom thinks all characters are 1px wide, so we get the minimum
       expect(leftHeaderWidths).toEqual([
@@ -255,6 +256,7 @@ describe("Visualizations > Visualizations > PivotTable > utils", () => {
       const { totalLeftHeaderWidths } = getLeftHeaderWidths({
         rowIndexes: [0, 1, 2],
         getColumnTitle: () => "test-123",
+        font: {},
       });
       expect(totalLeftHeaderWidths).toEqual(MIN_HEADER_CELL_WIDTH * 3);
     });
@@ -264,6 +266,7 @@ describe("Visualizations > Visualizations > PivotTable > utils", () => {
         rowIndexes: [0, 1, 2],
         // jest-dom thinks characters are 1px wide
         getColumnTitle: () => "x".repeat(MAX_HEADER_CELL_WIDTH),
+        font: {},
       });
 
       expect(leftHeaderWidths).toEqual([
@@ -287,6 +290,7 @@ describe("Visualizations > Visualizations > PivotTable > utils", () => {
         rowIndexes: [0, 1, 2, 3, 4],
         leftHeaderItems: data,
         getColumnTitle: () => "x".repeat(70),
+        font: {},
       });
 
       expect(leftHeaderWidths).toEqual([
@@ -312,6 +316,7 @@ describe("Visualizations > Visualizations > PivotTable > utils", () => {
         rowIndexes: [0, 1, 2, 3, 4],
         leftHeaderItems: data,
         getColumnTitle: () => "test-123",
+        font: {},
       });
 
       expect(leftHeaderWidths).toEqual([
diff --git a/frontend/src/metabase/visualizations/visualizations/RowChart/RowChart.styled.tsx b/frontend/src/metabase/visualizations/visualizations/RowChart/RowChart.styled.tsx
index 141df1cc15feddbdd9b19c4aa8c6d23973af111d..faec5e7e3141edcba1ccf5ec4e932287365696d1 100644
--- a/frontend/src/metabase/visualizations/visualizations/RowChart/RowChart.styled.tsx
+++ b/frontend/src/metabase/visualizations/visualizations/RowChart/RowChart.styled.tsx
@@ -2,6 +2,7 @@ import styled from "@emotion/styled";
 
 import LegendCaption from "metabase/visualizations/components/legend/LegendCaption";
 import LegendLayout from "metabase/visualizations/components/legend/LegendLayout";
+import { getChartPadding } from "metabase/visualizations/visualizations/CartesianChart/padding";
 
 interface RowVisualizationRootProps {
   isQueryBuilder: boolean;
@@ -10,8 +11,7 @@ interface RowVisualizationRootProps {
 export const RowVisualizationRoot = styled.div<RowVisualizationRootProps>`
   display: flex;
   flex-direction: column;
-  padding: ${({ isQueryBuilder }) =>
-    isQueryBuilder ? "1rem 1rem 1rem 2rem" : "0.5rem 1rem"};
+  padding: ${getChartPadding};
   overflow: hidden;
 `;
 
diff --git a/frontend/src/metabase/visualizations/visualizations/SmartScalar/SmartScalar.stories.tsx b/frontend/src/metabase/visualizations/visualizations/SmartScalar/SmartScalar.stories.tsx
index 8b8e80c5ef091d88a029c5379f73f2e6ff858b90..9dfd72e4602d3574094f3e0ed45642b6cf4c72d1 100644
--- a/frontend/src/metabase/visualizations/visualizations/SmartScalar/SmartScalar.stories.tsx
+++ b/frontend/src/metabase/visualizations/visualizations/SmartScalar/SmartScalar.stories.tsx
@@ -36,7 +36,7 @@ export const Default: Story = () => (
 );
 
 // Example of how themes can be applied in the SDK.
-export const EmbeddingTemplate: Story = () => {
+export const EmbeddingTheme: Story = () => {
   const theme: MetabaseTheme = {
     colors: {
       positive: "#4834d4",
diff --git a/frontend/test/__support__/storybook.tsx b/frontend/test/__support__/storybook.tsx
index ca526fb014922c390661b428f7a6a4e8b6167995..a678d5f1677018f75401012603cdc2abd8d98c2b 100644
--- a/frontend/test/__support__/storybook.tsx
+++ b/frontend/test/__support__/storybook.tsx
@@ -5,6 +5,7 @@ import type { MetabaseTheme } from "embedding-sdk";
 import { SdkThemeProvider } from "embedding-sdk/components/private/SdkThemeProvider";
 import { mainReducers } from "metabase/reducers-main";
 import type { MantineThemeOverride } from "metabase/ui";
+import { Box } from "metabase/ui";
 import { createMockSettingsState } from "metabase-types/store/mocks";
 
 import { getStore } from "./entities-store";
@@ -57,7 +58,9 @@ export const SdkVisualizationWrapper = ({
   children: React.ReactElement;
   theme?: MetabaseTheme;
 }) => (
-  <VisualizationWrapper>
-    <SdkThemeProvider theme={theme}>{children}</SdkThemeProvider>
-  </VisualizationWrapper>
+  <Box fz="0.875rem">
+    <VisualizationWrapper>
+      <SdkThemeProvider theme={theme}>{children}</SdkThemeProvider>
+    </VisualizationWrapper>
+  </Box>
 );