Browser: Chrome 152
OS: macOS
Hi guys! Hope you’re all doing well.
First, thank you for the fixes to HTML/CSS import puts every responsive override into _cssCustom and HTML/CSS import sends box-shadow, gradients and logical properties to custom CSS. On 2.4.3 .box{padding:32px} @media (max-width:767px){.box{padding:16px}} gives _padding + _padding:mobile_landscape, the same works for font-size, grid-template-columns and flex-direction, and box-shadow and linear gradients map to _boxShadow / _gradient.
I found one remaining case that is easy to hit by accident.
Environment: Bricks 2.4.3, WordPress 7.1.3, through the Abilities API, bricks/commit-html-css-page-import onto an empty page (bricks/convert-html-css-to-bricks-data gives the same result).
If the base rule of a class contains even one declaration that keeps its custom CSS fallback, the media-query override for that class goes to _cssCustom:<breakpoint> as a whole — including properties that map natively on their own:
.a{font-size:20px} @media (max-width:767px){.a{font-size:14px}}
-> _typography, _typography:mobile_landscape native
.a{font-size:20px;object-fit:cover} @media (max-width:767px){.a{font-size:14px}}
-> _typography, _cssCustom, _cssCustom:mobile_landscape override is custom CSS
.a{padding:32px;padding-block:20px} @media (max-width:767px){.a{padding:16px}}
-> _padding, _cssCustom, _cssCustom:mobile_landscape override is custom CSS
So the trigger is the base rule’s own fallback, not the property being overridden. I understand from the 2.4.3 note that logical spacing keeps its fallback by design — this is only about that fallback dragging the rest of the media block with it. Nothing in the response flags it (diagnostics.warnings is empty); the customCssGlobalClassCount / customCssBytes counts under responseFormat: "detailed" help, but can’t distinguish one leftover declaration from a whole responsive block. (A per-declaration report is what I asked for in Report which CSS declarations mapped to native settings.)
One small related observation: the background: shorthand with a gradient now maps natively but leaves background-origin: padding-box; background-clip: border-box; behind in _cssCustom — the shorthand’s implicit defaults, which don’t need to be written at all.
Suggested direction: map the override independently of whether the base rule had a fallback, so only the declarations without a native control end up in _cssCustom:<breakpoint>.