emcp_custom_101Built with the EMCP Widget Builder and registered under the EMCP Custom category of the Elementor panel. Search the panel for: stacked, cards, sticky, scroll, stack, parallax.
Card Layout = split
We start by understanding your goals, audience and constraints.

Wireframes become polished, on-brand interfaces.

Clean, fast code shipped with tests and documentation.


Card Layout = split-reverse
We start by understanding your goals, audience and constraints.

Wireframes become polished, on-brand interfaces.

Clean, fast code shipped with tests and documentation.


Card Layout = cover
We start by understanding your goals, audience and constraints.

Wireframes become polished, on-brand interfaces.

Clean, fast code shipped with tests and documentation.


Card Layout = text
We start by understanding your goals, audience and constraints.

Wireframes become polished, on-brand interfaces.

Clean, fast code shipped with tests and documentation.


Every control the widget exposes, grouped by panel section. Names in code are the setting keys used by the MCP tools (add-free-widget, update-widget).
Cards
| Option | Type | Choices / range | Default | Notes |
|---|---|---|---|---|
Card Layoutlayout | Dropdown | Split (text left, image right), Split reversed, Image cover with text overlay, Text only | split | |
Stacking Effectstack_effect | Dropdown | Scale down previous cards, Offset (peek) previous cards, Plain sticky stack | scale | |
Sticky Top Offsettop_offset | Slider | min 0, max 300, px | 80 | |
Peek Step (per card)card_step | Slider | min 0, max 80, px | 24 | |
Card Min Heightmin_height | Slider | min 200, max 900, px/vh | 420 | Responsive |
Cardscards | Repeater | 4 items | ||
↳ Kicker / Stepkicker | Text | 01 | ||
↳ Titletitle | Text | Discover | ||
↳ Texttext | Textarea | We start by understanding your goals,... | ||
↳ Imageimage | Image | |||
↳ Button Textcta_text | Text | |||
↳ Button Linklink | Link | |||
↳ Card Backgroundbg | Color | |||
↳ Card Text Colorcolor | Color | |||
Title Tagtitle_tag | Dropdown | H2, H3, H4 | h3 |
Card
| Option | Type | Choices / range | Default | Notes |
|---|---|---|---|---|
Radiusradius | Slider | min 0, max 80, px | 24 | |
Paddingpad | Dimensions | Responsive | ||
Borderborder | Border | |||
Box Shadowshadow | Box shadow | |||
Spacing Between Cards (scroll length)gap | Slider | min 0, max 200, px/vh | 40 | |
Default Card Backgrounddefault_bg | Color | #f2f4f7 | ||
Default Text Colordefault_color | Color | #101828 | ||
Cover Overlaycover_overlay | Color | rgba(16,24,40,.5) |
Typography
| Option | Type | Choices / range | Default | Notes |
|---|---|---|---|---|
Kicker Typographykicker_typo | Typography | |||
Kicker Colorkicker_color | Color | |||
Title Typographytitle_typo | Typography | |||
Text Typographytext_typo | Typography | |||
Text Spacingtext_gap | Slider | min 0, max 60, px | 14 | |
Button Typographybtn_typo | Typography | |||
Button Textbtn_color | Color | #ffffff | ||
Button Backgroundbtn_bg | Color | #6a11cb | ||
Button Hover Textbtn_color_h | Color | |||
Button Hover Backgroundbtn_bg_h | Color | |||
Button Radiusbtn_radius | Slider | min 0, max 60, px | 10 | |
Button Paddingbtn_pad | Dimensions |
Image
| Option | Type | Choices / range | Default | Notes |
|---|---|---|---|---|
Image Column Widthimg_w | Slider | min 20, max 70, % | 50 | Responsive |
Image Radius (split)img_radius | Slider | min 0, max 60, px | 16 | |
Image Inset (split)img_pad | Slider | min 0, max 80, px | 24 | |
Image Filtersimg_filter | Css_filter |
Any connected agent can place this widget: call add-free-widget with widget_type: "emcp_custom_101" and a settings object using the keys above. Run get-custom-widget with id 101 for the full JSON spec.