The reference wraps these two widgets in a middle .theme-box layer
(widget-container > .theme-box > title + card), which is what supplies the
20px bottom margin. Our outer .jio-widget-box-wrap is only a transparent
layout container, so dropping .theme-box left the quote card flush against
the following module.
- search/quote: emit the reference .theme-box middle layer; the card itself
stays margin-free like the reference, so the gap is exactly 20px
- keep the generic .widget-content branch for user_card/author_card and the
other reference widgets untouched (the string is contract-tested)
- contract test now pins the .theme-box layer and asserts the quote card
carries no margin class of its own
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>