# elementor/4.3.0/modules/mcp/abilities/utils/element-default-styles-builder.php

Elementor Website Builder – more than just a page builder, version 4.3.0. 60 lines.

- Page: https://pluginprobe.com/plugins/elementor/4.3.0/code/modules/mcp/abilities/utils/element-default-styles-builder.php
- Raw: https://pluginprobe.com/plugins/elementor/4.3.0/raw/modules/mcp/abilities/utils/element-default-styles-builder.php
- Modified: 2026-09-01T11:47:36+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/elementor/4.3.0/code/modules/mcp/abilities/utils/element-default-styles-builder.php#L10-L20`.

```php
<?php

namespace Elementor\Modules\Mcp\Abilities\Utils;

use Elementor\Modules\AtomicWidgets\Styles\Styles_Renderer;
use Elementor\Modules\DefaultStyles\Default_Styles_Repository;
use Elementor\Plugin;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Renders the effective default-style CSS that the browser would apply to a V4 atomic
 * element before any inline/global class overrides.
 *
 * Each layer is rendered via Styles_Renderer (same pipeline as frontend enqueue), then
 * concatenated in cascade order: widget base_styles first, kit site-wide default for the
 * element's rendered tag second.
 */
class Element_Default_Styles_Builder {

	public static function render(
		array $widget_base_style_defs,
		?string $tag,
		?Default_Styles_Repository $repository,
		?Styles_Renderer $renderer = null
	): string {
		$renderer = $renderer ?? Styles_Renderer::make( Plugin::$instance->breakpoints->get_breakpoints_config() );

		$base_css = ! empty( $widget_base_style_defs )
			? $renderer->render( array_values( $widget_base_style_defs ) )
			: '';

		$default_css = self::render_kit_default( $tag, $repository, $renderer );

		return trim( $base_css . "\n" . $default_css );
	}

	public static function render_kit_default(
		?string $tag,
		?Default_Styles_Repository $repository,
		?Styles_Renderer $renderer = null
	): string {
		if ( null === $tag || null === $repository ) {
			return '';
		}

		$item = $repository->get( $tag );

		if ( ! is_array( $item ) ) {
			return '';
		}

		$renderer = $renderer ?? Styles_Renderer::make( Plugin::$instance->breakpoints->get_breakpoints_config() );

		return $renderer->render( [ $item ] );
	}
}

```
