GhostManSec
Server: LiteSpeed
System: Linux premium117.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: eblama1 (1214)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //home/eblama1/mintawon.farm/wp-content/plugins/elementskit-lite/widgets/mail-chimp/mail-chimp.php
<?php
namespace Elementor;

use \Elementor\ElementsKit_Widget_Mail_Chimp_Handler as Handler;
use \ElementsKit_Lite\Modules\Controls\Controls_Manager as ElementsKit_Controls_Manager;

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


class ElementsKit_Widget_Mail_Chimp extends Widget_Base {
	use \ElementsKit_Lite\Widgets\Widget_Notice;


	public $base;

	public function get_script_depends() {
		return ['ekit-mailchimp'];
	}

    public function get_name() {
        return Handler::get_name();
    }

    public function get_title() {
        return Handler::get_title();
    }

    public function get_icon() {
        return Handler::get_icon();
    }

    public function get_categories() {
        return Handler::get_categories();
    }

    public function get_keywords() {
        return Handler::get_keywords();
    }

    public function get_help_url() {
        return 'https://wpmet.com/doc/mailchimp-3/';
    }
    protected function is_dynamic_content(): bool {
        return false;
    }

	public function __get_lists() {
		$options = ['' => 'Select List'];
		$dataApi = Handler::get_data();
		$token = isset($dataApi['token']) ? $dataApi['token'] : '';

		$server = explode('-', $token);

		if (!isset($server[1])) {
			return $options;
		}

		$url = 'https://' . $server[1] . '.api.mailchimp.com/3.0/lists';

		$response = wp_remote_get($url, [
			'headers' => [
				'Authorization' => 'apikey ' . $token,
				'Content-Type' => 'application/json; charset=utf-8',
			],
		]);

		if (is_array($response) && !is_wp_error($response)) {
			$body = (array) json_decode($response['body']);
			$listed = isset($body['lists']) ? $body['lists'] : [];
			if (is_array($listed) && sizeof($listed) > 0) {
				foreach ($listed as $v) {
					$options[$v->id] = $v->name;
				}
			}
		}
		return $options;
	}

    protected function register_controls() {

        //start content Mail form design
        $this->start_controls_section(
            'ekit_mail_chimp_section_form', [
                'label' => esc_html__( 'Form ', 'elementskit-lite' ),
            ]
        );

		$this->add_control(
            'ekit_mail_chimp_select_check_api',
            [
                'raw' => '<strong>' . esc_html__( 'Please note!', 'elementskit-lite' ) . '</strong> ' . esc_html__( 'Please set API Key in ElementsKit_Lite Dashboard - User Data - MailChimp and Create Campaign..', 'elementskit-lite' ),
                'type' => Controls_Manager::RAW_HTML,
                'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning',
                'render_type' => 'ui',
                'condition' => [
                    'ekit_mail_chimp_select_listed_id' => '',
                ],
            ]
        );
		$this->add_control(
			'ekit_mail_chimp_select_listed_id',
			[
				'label' => esc_html__( 'Select List', 'elementskit-lite' ),
				'type' => Controls_Manager::SELECT,
				'default' => '',
				'options' => $this->__get_lists(),
				'description' => esc_html__('Create a campaign in mailchimp account <a href="https://mailchimp.com/help/create-a-regular-email-campaign/#Create_a_campaign" target="_blank"> Create Campaign</a>', 'elementskit-lite'),
			]
		);

		$this->add_control(
            'ekit_mail_chimp_double_opt_in',
            [
                'label' => esc_html__( 'Double Opt-in', 'elementskit-lite' ),
                'type' => Controls_Manager::SWITCHER,
                'default' => 'no',
                'description' => esc_html__('If you enable this feature , then you must need to enable it inside Mailchimp campaign settings. Otherwise please disable it.', 'elementskit-lite')
            ]
        );

        $this->add_control(
            'ekit_mail_chimp_opt_in_success_message',
            [
                'label' => esc_html__( 'Opt-in Success Message', 'elementskit-lite' ),
                'type' => Controls_Manager::TEXT,
                'dynamic' => [
                    'active' => true,
                ],
				'label_block' => true,
                'default' => esc_html__( 'Please check your mail and confirm subscribe', 'elementskit-lite' ),
                'placeholder' => esc_html__( 'Type your title here', 'elementskit-lite' ),
                'condition' => [
                    'ekit_mail_chimp_double_opt_in' => 'yes',
                ],
            ]
        );

		$repeater = new Repeater();

		$repeater->add_control(
			'ekit_mail_chimp_field_type',
			[
				'label' => esc_html__( 'Type', 'elementskit-lite' ),
				'type' => Controls_Manager::SELECT,
				'default' => 'text',
				'options' => [
					'text' => esc_html__( 'Text', 'elementskit-lite' ),
					'email' => esc_html__( 'Email', 'elementskit-lite' ),
					'tel' => esc_html__( 'Phone', 'elementskit-lite' ),
					'textarea' => esc_html__( 'Textarea', 'elementskit-lite' ),
				],
			]
		);

		$repeater->add_control(
			'ekit_mail_chimp_field_label',
			[
				'label' => esc_html__( 'Label', 'elementskit-lite' ),
				'type' => Controls_Manager::TEXT,
				'default' => esc_html__( 'Label', 'elementskit-lite' ),
				'dynamic' => [
					'active' => true,
				],
			]
		);

		$repeater->add_control(
			'ekit_mail_chimp_field_placeholder',
			[
				'label' => esc_html__( 'Placeholder', 'elementskit-lite' ),
				'type' => Controls_Manager::TEXT,
				'default' => esc_html__( 'Placeholder', 'elementskit-lite' ),
				'dynamic' => [
					'active' => true,
				],
			]
		);

		$repeater->add_control(
			'ekit_mail_chimp_field_name',
			[
				'label' => esc_html__( 'Name', 'elementskit-lite' ),
				'type' => Controls_Manager::TEXT,
				'description' => esc_html__( 'This name must match with your MailChimp MERGE tag.', 'elementskit-lite' ),
				'default' => '',
				'dynamic' => [
					'active' => true,
				],
			]
		);

		$repeater->add_control(
			'ekit_mail_chimp_field_required',
			[
				'label' => esc_html__( 'Required', 'elementskit-lite' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
				'label_off' => esc_html__( 'No', 'elementskit-lite' ),
				'return_value' => 'yes',
				'default' => 'no',
			]
		);

		$repeater->add_control(
			'ekit_mail_chimp_field_icon_show',
			[
				'label' => esc_html__( 'Show Icon', 'elementskit-lite' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
				'label_off' => esc_html__( 'No', 'elementskit-lite' ),
				'return_value' => 'yes',
				'default' => 'no',
			]
		);

		$repeater->add_control(
			'ekit_mail_chimp_field_icon',
			[
				'label' => esc_html__( 'Icon', 'elementskit-lite' ),
				'type' => Controls_Manager::ICONS,
				'default' => [
					'value' => 'fas fa-user',
					'library' => 'fa-solid',
				],
				'condition' => [
					'ekit_mail_chimp_field_icon_show' => 'yes',
				],
			]
		);

		$repeater->add_control(
			'ekit_mail_chimp_field_icon_position',
			[
				'label' => esc_html__( 'Icon Position', 'elementskit-lite' ),
				'type' => Controls_Manager::SELECT,
				'default' => 'before',
				'options' => [
					'before' => esc_html__( 'Before', 'elementskit-lite' ),
					'after' => esc_html__( 'After', 'elementskit-lite' ),
				],
				'condition' => [
					'ekit_mail_chimp_field_icon_show' => 'yes',
				],
			]
		);

		$this->add_control(
			'ekit_mail_chimp_fields_repeater',
			[
				'label' => esc_html__( 'Form Fields', 'elementskit-lite' ),
				'type' => Controls_Manager::REPEATER,
				'fields' => $repeater->get_controls(),
				'default' => [
					[
						'ekit_mail_chimp_field_type' => 'email',
						'ekit_mail_chimp_field_label' => 'Email Address',
						'ekit_mail_chimp_field_placeholder' => 'Email Address',
						'ekit_mail_chimp_field_name' => 'email',
						'ekit_mail_chimp_field_required' => 'yes',
						'ekit_mail_chimp_field_icon_show' => 'yes',
						'ekit_mail_chimp_field_icon' => [
							'value' => 'icon icon-envelope',
							'library' => 'ekiticons',
						],
						'ekit_mail_chimp_field_icon_position' => 'before',
					]
				],
				'title_field' => '{{{ ekit_mail_chimp_field_label }}}',
			]
		);

		// submit button text
		$this->add_control(
            'ekit_mail_chimp_submit',
            [
                'label' => esc_html__( 'Submit Button Text', 'elementskit-lite' ),
                'type' => Controls_Manager::TEXT,
                'dynamic' => [
                    'active' => true,
                ],
                'default' => esc_html__( 'Sign Up', 'elementskit-lite' ),
				'label_block'	 => false,
            ]
        );
		$this->add_control(
			'ekit_mail_chimp_submit_button_heading',
			[
				'label' => esc_html__( 'Submit Button:', 'elementskit-lite' ),
				'type' => Controls_Manager::HEADING,
			]
		);
		$this->add_control(
			'ekit_mail_chimp_submit_icon_show',
			[
				'label' => esc_html__( 'Show Icon', 'elementskit-lite' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => esc_html__( 'Show', 'elementskit-lite' ),
				'label_off' => esc_html__( 'Hide', 'elementskit-lite' ),
				'return_value' => 'yes',
				'default' => 'yes',
			]
		);
		$this->add_control(
			'ekit_mail_chimp_submit_icons',
			[
				'label' => esc_html__( 'Button Icons', 'elementskit-lite' ),
				'type' => Controls_Manager::ICONS,
				'fa4compatibility' => 'ekit_mail_chimp_submit_icon',
                'default' => [
                    'value' => 'icon icon-tick',
                    'library' => 'ekiticons',
                ],
				'condition' => [
					'ekit_mail_chimp_submit_icon_show' => 'yes'
				]
			]
		);
		$this->add_control(
			'ekit_mail_chimp_submit_icon_position',
			[
				'label' => esc_html__( 'Icon Position', 'elementskit-lite' ),
				'type' => Controls_Manager::SELECT,
				'default' => 'before',
				'options' => [
					'before'  => esc_html__( 'Before', 'elementskit-lite' ),
					'after' => esc_html__( 'After', 'elementskit-lite' ),
				],
				'condition' => [
					'ekit_mail_chimp_submit_icon_show' => 'yes',
					'ekit_mail_chimp_submit_icons!' => ''
				]
			]
		);

		$this->add_control(
            'ekit_mail_chimp_form_style_switcher',
            [
                'label' =>esc_html__( 'Form Style', 'elementskit-lite' ),
                'type' => Controls_Manager::SELECT,
                'default' => 'yes',
                'options' => [
                    'yes' =>esc_html__( 'Inline', 'elementskit-lite' ),
                    'no' =>esc_html__( 'Full Width', 'elementskit-lite' ),
                ],
            ]
		);

		$this->add_control(
			'ekit_mail_chimp_success_message',
			[
				'label' => __( 'Success Message', 'elementskit-lite' ),
				'type' => Controls_Manager::TEXT,
                'dynamic' => [
                    'active' => true,
                ],
				'default' => __( 'Successfully listed this email', 'elementskit-lite' ),
				'placeholder' => __( 'Type your title here', 'elementskit-lite' ),
			]
		);

		$this->end_controls_section();
		// end content form

		// label
		$this->start_controls_section(
			'ekit_mail_chimp_input_label_style',
			[
				'label' => esc_html__( 'Label', 'elementskit-lite' ),
				'tab' => Controls_Manager::TAB_STYLE,
			]
		);

		$this->add_group_control(
			Group_Control_Typography::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_label_typography',
				'label' => esc_html__( 'Typography', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .elementskit_input_label',
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_input_label_color',
			[
				'label' => esc_html__( 'Color', 'elementskit-lite' ),
				'type' => Controls_Manager::COLOR,
				'default' => '#000000',
				'selectors' => [
					'{{WRAPPER}} .elementskit_input_label' => 'color: {{VALUE}}',
				],
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_input_label_margin',
			[
				'label' => esc_html__( 'Margin', 'elementskit-lite' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em' ],
				'selectors' => [
					'{{WRAPPER}} .elementskit_input_label' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
			]
		);

		$this->end_controls_section();


		$this->start_controls_section(
			'ekit_mail_chimp_input_wrapper_style',
			[
				'label' => esc_html__( 'Input Wrapper', 'elementskit-lite' ),
				'tab' => Controls_Manager::TAB_STYLE,
			]
		);
		$this->add_responsive_control(
			'ekit_mail_chimp_input_column_gap',
			[
				'label' => esc_html__( 'Column Gap', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px', 'em' ],
				'default' => [
					'unit' => 'px',
					'size' => 0,
				],
				'selectors' => [
					'{{WRAPPER}} .elementskit_inline_form' => '--input-gap: 0px;',
					'{{WRAPPER}} .elementskit_inline_form' => '--input-gap: {{SIZE}}{{UNIT}};',
					'{{WRAPPER}} .elementskit_form_wraper' => 'column-gap: {{SIZE}}{{UNIT}};',
				],
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_input_row_gap',
			[
				'label' => esc_html__( 'Row Gap', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px', 'em' ],
				'default' => [
					'unit' => 'px',
					'size' => 0,
				],
				'selectors' => [
					'{{WRAPPER}} .elementskit_form_wraper' => 'row-gap: {{SIZE}}{{UNIT}};',
				],
			]
		);
		$this->add_responsive_control(
			'ekit_mail_chimp_input_space_between',
			[
				'label' => esc_html__( 'Icon Gap', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px', 'em' ],
				'default' => [
					'unit' => 'px',
					'size' => 0,
				],
				'selectors' => [
					'{{WRAPPER}} .elementskit_input_element_container' => 'gap: {{SIZE}}{{UNIT}};',
				],
				'separator' => 'after',
			]
		);

		// Input Wrapper Tabs
		$this->start_controls_tabs(
			'ekit_mail_chimp_input_wrapper_tabs'
		);

		// Normal Tab
		$this->start_controls_tab(
			'ekit_mail_chimp_input_wrapper_normal_tab',
			[
				'label' => esc_html__( 'Normal', 'elementskit-lite' ),
			]
		);

		$this->add_control(
			'ekit_mail_chimp_input_wrapper_color',
			[
				'label' => esc_html__( 'Color', 'elementskit-lite' ),
				'type' => Controls_Manager::COLOR,
				'selectors' => [
					'{{WRAPPER}} .elementskit_input_element_container .ekit_form_control' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Background::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_wrapper_background',
				'label' => esc_html__( 'Background', 'elementskit-lite' ),
				'types' => [ 'classic', 'gradient' ],
				'selector' => '{{WRAPPER}} .elementskit_input_element_container',
				'exclude' => ['image'] // PHPCS:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude
			]
		);

		$this->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_wrapper_border',
				'label' => esc_html__( 'Border', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .elementskit_input_element_container',
			]
		);

		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_wrapper_box_shadow',
				'label' => esc_html__( 'Box Shadow', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .elementskit_input_element_container',
			]
		);

		$this->end_controls_tab();

		// Hover Tab
		$this->start_controls_tab(
			'ekit_mail_chimp_input_wrapper_hover_tab',
			[
				'label' => esc_html__( 'Hover', 'elementskit-lite' ),
			]
		);

		$this->add_control(
			'ekit_mail_chimp_input_wrapper_hover_color',
			[
				'label' => esc_html__( 'Color', 'elementskit-lite' ),
				'type' => Controls_Manager::COLOR,
				'selectors' => [
					'{{WRAPPER}} .elementskit_input_element_container:has(.ekit_form_control:hover) .ekit_form_control' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Background::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_wrapper_hover_background',
				'label' => esc_html__( 'Background', 'elementskit-lite' ),
				'types' => [ 'classic', 'gradient' ],
				'selector' => '{{WRAPPER}} .elementskit_input_element_container:hover',
				'exclude' => ['image'] // PHPCS:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude
			]
		);

		$this->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_wrapper_hover_border',
				'label' => esc_html__( 'Border', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .elementskit_input_element_container:hover',
			]
		);

		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_wrapper_hover_box_shadow',
				'label' => esc_html__( 'Box Shadow', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .elementskit_input_element_container:hover',
			]
		);

		$this->end_controls_tab();

		// Focus Tab
		$this->start_controls_tab(
			'ekit_mail_chimp_input_wrapper_focus_tab',
			[
				'label' => esc_html__( 'Focus', 'elementskit-lite' ),
			]
		);

		$this->add_control(
			'ekit_mail_chimp_input_wrapper_focus_color',
			[
				'label' => esc_html__( 'Color', 'elementskit-lite' ),
				'type' => Controls_Manager::COLOR,
				'selectors' => [
					'{{WRAPPER}} .elementskit_input_element_container:focus-within .ekit_form_control' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Background::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_wrapper_focus_background',
				'label' => esc_html__( 'Background', 'elementskit-lite' ),
				'types' => [ 'classic', 'gradient' ],
				'selector' => '{{WRAPPER}} .elementskit_input_element_container:focus-within',
				'exclude' => ['image'] // PHPCS:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude
			]
		);

		$this->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_wrapper_focus_border',
				'label' => esc_html__( 'Border', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .elementskit_input_element_container:focus-within',
			]
		);

		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_wrapper_focus_box_shadow',
				'label' => esc_html__( 'Box Shadow', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .elementskit_input_element_container:focus-within',
			]
		);

		$this->end_controls_tab();
		$this->end_controls_tabs();

		// Border Radius (outside tabs)
		$this->add_responsive_control(
			'ekit_mail_chimp_input_wrapper_border_radius',
			[
				'label' => esc_html__( 'Border Radius', 'elementskit-lite' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%' ],
				'selectors' => [
					'{{WRAPPER}} .elementskit_input_element_container' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
				'separator' => 'before',
			]
		);

		// Padding (outside tabs)
		$this->add_responsive_control(
			'ekit_mail_chimp_input_wrapper_padding',
			[
				'label' => esc_html__( 'Padding', 'elementskit-lite' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em' ],
				'selectors' => [
					'{{WRAPPER}} .elementskit_input_element_container .ekit_form_control' =>
					'padding-top: {{TOP}}{{UNIT}}; padding-right: {{RIGHT}}{{UNIT}}; padding-bottom: {{BOTTOM}}{{UNIT}};',
					'{{WRAPPER}} .elementskit_input_element_container .elementskit_input_group_prepend' =>
					'padding-top: {{TOP}}{{UNIT}}; padding-left: {{LEFT}}{{UNIT}}; padding-bottom: {{BOTTOM}}{{UNIT}};',
				],
			]
		);

		$this->end_controls_section();
		// input style
		$this->start_controls_section(
			'ekit_mail_chimp_input_style',
			[
				'label' => esc_html__( 'Input', 'elementskit-lite' ),
				'tab' => Controls_Manager::TAB_STYLE,
			]
		);




		$this->add_control(
			'ekit_mail_chimp_input_style_width__switch',
			[
				'label' => esc_html__( 'Use Width', 'elementskit-lite' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => esc_html__( 'Show', 'elementskit-lite' ),
				'label_off' => esc_html__( 'Hide', 'elementskit-lite' ),
				'separator' => 'before',
				'return_value' => 'yes',
				'default' => 'no',
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_input_style_width',
			[
				'label' => esc_html__( 'Width', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px', '%' ],
				'default'	=> [
					'unit'	=> '%',
					'size'	=> 66
				],
				'range' => [
					'px' => [
						'min' => 0,
						'max' => 1000,
						'step' => 5,
					],
					'%' => [
						'min' => 0,
						'max' => 100,
					],
				],
				'selectors' => [
					'{{WRAPPER}} .elementskit_form_wraper .elementskit_input_container' => 'flex: 0 0 calc({{SIZE}}{{UNIT}} - var(--input-gap, 30px) / 2);',
				],
				'condition'	=> [
					'ekit_mail_chimp_input_style_width__switch' => 'yes'
				]
			]
		);

		$this->add_group_control(
			Group_Control_Typography::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_typography',
				'label' => esc_html__( 'Typography', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit_form_control',
			]
		);

		$this->start_controls_tabs(
			'mailchimp_input_tabs'
		);

		$this->start_controls_tab(
			'mailchimp_input_normal_tab',
			[
				'label' => esc_html__( 'Normal', 'elementskit-lite' ),
			]
		);

		$this->add_group_control(
			Group_Control_Background::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_style_background',
				'label' => esc_html__( 'Background', 'elementskit-lite' ),
				'types' => [ 'classic', 'gradient' ],
				'selector' => '{{WRAPPER}} .ekit_form_control',
				'exclude' => ['image'] // PHPCS:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude
			]
		);

		$this->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_style_border',
				'label' => esc_html__( 'Border', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit_form_control',
			]
		);

		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_style_box_shadow',
				'label' => esc_html__( 'Box Shadow', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit_form_control, {{WRAPPER}} .ekit_form_control:focus',
			]
		);

		$this->end_controls_tab();

		$this->start_controls_tab(
			'mailchimp_input_hover_tab',
			[
				'label' => esc_html__( 'Hover', 'elementskit-lite' ),
			]
		);

		$this->add_group_control(
			Group_Control_Background::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_style_hover_background',
				'label' => esc_html__( 'Background', 'elementskit-lite' ),
				'types' => [ 'classic', 'gradient' ],
				'selector' => '{{WRAPPER}} .ekit_form_control:hover',
				'exclude' => ['image'] // PHPCS:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude
			]
		);

		$this->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_style_hover_border',
				'label' => esc_html__( 'Border', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit_form_control:hover',
			]
		);

		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_style_hover_box_shadow',
				'label' => esc_html__( 'Box Shadow', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit_form_control:hover',
			]
		);

		$this->end_controls_tab();

		$this->start_controls_tab(
			'mailchimp_input_focus_tab',
			[
				'label' => esc_html__( 'Focus', 'elementskit-lite' ),
			]
		);

		$this->add_group_control(
			Group_Control_Background::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_focus_style_background',
				'label' => esc_html__( 'Background', 'elementskit-lite' ),
				'types' => [ 'classic', 'gradient' ],
				'selector' => '{{WRAPPER}} .ekit_form_control:focus',
				'exclude' => ['image'] // PHPCS:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude
			]
		);

		$this->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_focus_style_border',
				'label' => esc_html__( 'Border', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit_form_control:focus',
			]
		);

		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_focus_style_box_shadow',
				'label' => esc_html__( 'Box Shadow', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit_form_control:focus',
			]
		);

		$this->end_controls_tab();
		$this->end_controls_tabs();

		$this->add_responsive_control(
			'ekit_mail_chimp_input_style_radius',
			[
				'label' => esc_html__( 'Border Radius', 'elementskit-lite' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%' ],
				'selectors' => [
					'{{WRAPPER}} .ekit_form_control' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
				'separator' => 'before',
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_input_style_padding',
			[
				'label' => esc_html__( 'Padding', 'elementskit-lite' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em' ],
				'default'		=> [
					'top'		=> 0,
					'right'		=> 20,
					'bottom'	=> 0,
					'left'		=> 20
				],
				'selectors' => [
					'{{WRAPPER}} .ekit_form_control' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
			]
		);



		$this->add_responsive_control(
			'ekit_mail_chimp_input_style_margin_bottom',
			[
				'label' => esc_html__( 'Margin Bottom', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px' ],
				'range' => [
					'px' => [
						'min' => 0,
						'max' => 100,
						'step' => 1,
					],
				],
				'default' => [
					'unit' => 'px',
					'size' => 20,
				],
				'selectors' => [
					'{{WRAPPER}} .elementskit_input_wraper:not(:last-child)' => 'margin-bottom: {{SIZE}}{{UNIT}};',
				],
				'condition' => [
					'ekit_mail_chimp_form_style_switcher!' => 'yes'
				]
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_input_style_margin_right',
			[
				'label' => esc_html__( 'Margin Right', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px', ],
				'range' => [
					'px' => [
						'min' => 0,
						'max' => 100,
						'step' => 1,
					],
				],
				'default' => [
					'unit' => 'px',
					'size' => 30,
				],
				'selectors' => [
					'{{WRAPPER}} .elementskit_inline_form .elementskit_input_wraper:not(:last-child)' => 'margin-right: {{SIZE}}{{UNIT}};',
				],
				'condition' => [
					'ekit_mail_chimp_form_style_switcher' => 'yes'
				]
			]
		);

		$this->add_responsive_control(
			'inline_margin_bottom',
			[
				'label'		=> esc_html__( 'Margin Bottom', 'elementskit-lite' ),
				'type'		=> Controls_Manager::SLIDER,
				'devices'	=> ['desktop', 'mobile'],
				'selectors' => [
					'{{WRAPPER}} .has-extra-fields > .elementskit_input_wraper:not(:last-child)' => 'margin-bottom: {{SIZE}}{{UNIT}};',
				],
				'condition' => [
					'ekit_mail_chimp_form_style_switcher' => 'yes', // Inline Style
					'ekit_mail_chimp_section_form_name_show' => 'yes', // Show Names
				]
			]
		);

		$this->add_control(
			'ekit_mail_chimp_input_style_placeholder_heading',
			[
				'label' => esc_html__( 'Placeholder', 'elementskit-lite' ),
				'type' => Controls_Manager::HEADING,
				'separator' => 'before',
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_input_style_placeholder_color',
			[
				'label' => esc_html__( 'Placeholder Color', 'elementskit-lite' ),
				'type' => Controls_Manager::COLOR,
				'default' => '#000000',
				'selectors' => [
					'{{WRAPPER}} .ekit_form_control::-webkit-input-placeholder' => 'color: {{VALUE}}',
					'{{WRAPPER}} .ekit_form_control::-moz-placeholder' => 'color: {{VALUE}}',
					'{{WRAPPER}} .ekit_form_control:-ms-input-placeholder' => 'color: {{VALUE}}',
					'{{WRAPPER}} .ekit_form_control:-moz-placeholder' => 'color: {{VALUE}}',
				],
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_input_style_placeholder_font_size',
			[
				'label' => esc_html__( 'Font Size', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px' ],
				'range' => [
					'px' => [
						'min' => 0,
						'max' => 100,
						'step' => 1,
					],
				],
				'default' => [
					'unit' => 'px',
					'size' => 14,
				],
				'selectors' => [
					'{{WRAPPER}} .ekit_form_control::-webkit-input-placeholder' => 'font-size: {{SIZE}}{{UNIT}};',
					'{{WRAPPER}} .ekit_form_control::-moz-placeholder' => 'font-size: {{SIZE}}{{UNIT}};',
					'{{WRAPPER}} .ekit_form_control:-ms-input-placeholder' => 'font-size: {{SIZE}}{{UNIT}};',
					'{{WRAPPER}} .ekit_form_control:-moz-placeholder' => 'font-size: {{SIZE}}{{UNIT}};',
				],
			]
		);

		$this->end_controls_section();

		$this->start_controls_section(
			'ekit_mail_chimp_button_style_holder',
			[
				'label' => esc_html__( 'Button', 'elementskit-lite' ),
				'tab' => Controls_Manager::TAB_STYLE,
			]
		);

		$this->add_control(
			'ekit_mail_chimp_button_use_position',
			[
				'label' => esc_html__( 'Use Position', 'elementskit-lite' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
				'label_off' => esc_html__( 'No', 'elementskit-lite' ),
				'return_value' => 'absolute',
				'default' => 'no',
				'selectors' => [
					'{{WRAPPER}} .ekit_submit_input_holder' => 'position: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'ekit_mail_chimp_button_horizontal_position',
			[
				'label' => esc_html__( 'Horizontal Position', 'elementskit-lite' ),
				'type' => Controls_Manager::CHOOSE,
				'options' => [
					'left' => [
						'title' => esc_html__( 'Left', 'elementskit-lite' ),
						'icon' => 'eicon-h-align-left',
					],
					'right' => [
						'title' => esc_html__( 'Right', 'elementskit-lite' ),
						'icon' => 'eicon-h-align-right',
					],
				],
				'default' => 'right',
				'toggle' => false,
				'condition' => [
					'ekit_mail_chimp_button_use_position' => 'absolute',
				],
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_button_horizontal_offset',
			[
				'label' => esc_html__( 'Horizontal Offset', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px', '%' ],
				'range' => [
					'px' => [
						'min' => -1000,
						'max' => 1000,
						'step' => 1,
					],
					'%' => [
						'min' => -100,
						'max' => 100,
					],
				],
				'default' => [
					'unit' => 'px',
					'size' => 0,
				],
				'selectors' => [
					'{{WRAPPER}} .ekit_submit_input_holder' => '{{ekit_mail_chimp_button_horizontal_position.VALUE}}: {{SIZE}}{{UNIT}};',
				],
				'condition' => [
					'ekit_mail_chimp_button_use_position' => 'absolute',
				],
			]
		);

		$this->add_control(
			'ekit_mail_chimp_button_vertical_position',
			[
				'label' => esc_html__( 'Vertical Position', 'elementskit-lite' ),
				'type' => Controls_Manager::CHOOSE,
				'options' => [
					'top' => [
						'title' => esc_html__( 'Top', 'elementskit-lite' ),
						'icon' => 'eicon-v-align-top',
					],
					'bottom' => [
						'title' => esc_html__( 'Bottom', 'elementskit-lite' ),
						'icon' => 'eicon-v-align-bottom',
					],
				],
				'default' => 'top',
				'toggle' => false,
				'condition' => [
					'ekit_mail_chimp_button_use_position' => 'absolute',
				],
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_button_vertical_offset',
			[
				'label' => esc_html__( 'Vertical Offset', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px', '%' ],
				'range' => [
					'px' => [
						'min' => -1000,
						'max' => 1000,
						'step' => 1,
					],
					'%' => [
						'min' => -100,
						'max' => 100,
					],
				],
				'default' => [
					'unit' => 'px',
					'size' => 0,
				],
				'selectors' => [
					'{{WRAPPER}} .ekit_submit_input_holder' => '{{ekit_mail_chimp_button_vertical_position.VALUE}}: {{SIZE}}{{UNIT}};',
				],
				'condition' => [
					'ekit_mail_chimp_button_use_position' => 'absolute',
				],
				'separator' => 'after',
			]
		);


		$this->add_group_control(
			Group_Control_Typography::get_type(),
			[
				'name' => 'ekit_mail_chimp_button_typography',
				'label' => esc_html__( 'Typography', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit-mail-submit',
			]
		);





		$this->add_responsive_control(
			'ekit_mail_chimp_button_border_radius',
			[
				'label' => esc_html__( 'Border Radius', 'elementskit-lite' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em' ],
				'selectors' => [
					'{{WRAPPER}} .ekit-mail-submit' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_button_border_padding',
			[
				'label' => esc_html__( 'Padding', 'elementskit-lite' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em' ],
				'default'	=> [
					'top'		=> 8,
					'right'		=> 20,
					'bottom'	=> 8,
					'left'		=> 20
				],
				'selectors' => [
					'{{WRAPPER}} .ekit-mail-submit' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name' => 'ekit_mail_chimp_button_border',
				'label' => esc_html__( 'Border', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit-mail-submit',
			]
		);

		$this->add_group_control(
            Group_Control_Text_Shadow::get_type(),
            [
                'name' => 'ekit_mail_chimp_button_title_shadow',
                'selector' => '{{WRAPPER}} .ekit-mail-submit' ,
            ]
		);

		$this->add_control(
			'ekit_mail_chimp_button_style_use_width_height',
			[
				'label' => esc_html__( 'Use Width', 'elementskit-lite' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => esc_html__( 'Show', 'elementskit-lite' ),
				'label_off' => esc_html__( 'Hide', 'elementskit-lite' ),
				'return_value' => 'yes',
				'default' => 'no',
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_button_width',
			[
				'label' => esc_html__( 'Width', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px', '%' ],
				'range' => [
					'px' => [
						'min' => 50,
						'max' => 1000,
						'step' => 1,
					],
					'%' => [
						'min' => 10,
						'max' => 100,
					],
				],
				'default' => [
					'unit' => 'px',
					'size' => 50,
				],
				'selectors' => [
					'{{WRAPPER}} .ekit-mail-submit' => 'width: {{SIZE}}{{UNIT}};',
				],
				'condition' => [
					'ekit_mail_chimp_button_style_use_width_height' => 'yes'
				]
			]
		);


		$this->add_responsive_control(
			'ekit_mail_chimp_button_style_margin',
			[
				'label' => esc_html__( 'Margin', 'elementskit-lite' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em' ],
				'selectors' => [
					'{{WRAPPER}} .ekit-mail-submit' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
			]
		);

		$this->start_controls_tabs(
            'ekit_mail_chimp_button_normal_and_hover_tabs'
        );
        $this->start_controls_tab(
            'ekit_mail_chimp_button_normal_tab',
            [
                'label' => esc_html__( 'Normal', 'elementskit-lite' ),
            ]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_button_color',
			[
				'label' => esc_html__( 'Color', 'elementskit-lite' ),
				'type' => Controls_Manager::COLOR,
				'default' => '#fff',
				'selectors' => [
					'{{WRAPPER}} .ekit-mail-submit' => 'color: {{VALUE}};',
					'{{WRAPPER}} .ekit-mail-submit svg path'	=> 'stroke: {{VALUE}}; fill: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Background::get_type(),
			[
				'name' => 'ekit_mail_chimp_button_background',
				'label' => esc_html__( 'Background', 'elementskit-lite' ),
				'types' => [ 'classic', 'gradient', ],
				'selector' => '{{WRAPPER}} .ekit-mail-submit',
				'exclude' => ['image'] // PHPCS:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude
			]
		);

		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			[
				'name' => 'ekit_mail_chimp_button_box_shadow',
				'label' => esc_html__( 'Box Shadow', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit-mail-submit',
			]
		);

		$this->end_controls_tab();
        $this->start_controls_tab(
            'ekit_mail_chimp_button_hover_tab',
            [
                'label' => esc_html__( 'Hover', 'elementskit-lite' ),
            ]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_button_color_hover',
			[
				'label' => esc_html__( 'Color', 'elementskit-lite' ),
				'type' => Controls_Manager::COLOR,
				'default' => '#fff',
				'selectors' => [
					'{{WRAPPER}} .ekit-mail-submit:hover' => 'color: {{VALUE}};',
					'{{WRAPPER}} .ekit-mail-submit:hover svg path'	=> 'stroke: {{VALUE}}; fill: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Background::get_type(),
			[
				'name' => 'ekit_mail_chimp_button_background_hover',
				'label' => esc_html__( 'Background', 'elementskit-lite' ),
				'types' => [ 'classic', 'gradient', ],
				'selector' => '{{WRAPPER}} .ekit-mail-submit:before',
				'exclude' => ['image'] // PHPCS:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude
			]
		);

		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			[
				'name' => 'ekit_mail_chimp_button_hover_box_shadow',
				'label' => esc_html__( 'Box Shadow', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit-mail-submit:hover',
			]
		);

		$this->end_controls_tab();

		$this->end_controls_tabs();

		$this->add_control(
			'ekit_mail_chimp_button_icon_heading',
			[
				'label' => esc_html__( 'Icon', 'elementskit-lite' ),
				'type' => Controls_Manager::HEADING,
				'separator' => 'before',
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_button_icon_padding_right',
			[
				'label' => esc_html__( 'Icon Spacing', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px' ],
				'range' => [
					'px' => [
						'min' => 0,
						'max' => 100,
						'step' => 1,
					],
				],
				'default' => [
					'unit' => 'px',
					'size' => 10,
				],
				'selectors' => [
					'{{WRAPPER}} .ekit-mail-submit > i, {{WRAPPER}} .ekit-mail-submit > svg' => 'margin-right: {{SIZE}}{{UNIT}};',
				],
				'condition' => [
					'ekit_mail_chimp_submit_icon_position' => 'before'
				]
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_button_icon_padding_left',
			[
				'label' => esc_html__( 'Icon Spacing', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px' ],
				'range' => [
					'px' => [
						'min' => 0,
						'max' => 100,
						'step' => 1,
					],
				],
				'default' => [
					'unit' => 'px',
					'size' => 10,
				],
				'selectors' => [
					'{{WRAPPER}} .ekit-mail-submit > i, {{WRAPPER}} .ekit-mail-submit > svg' => 'margin-left: {{SIZE}}{{UNIT}};',
				],
				'condition' => [
					'ekit_mail_chimp_submit_icon_position' => 'after'
				]
			]
		);

		$this->add_responsive_control(
            'ekit_simple_tab_title_icon_size',
            [
                'label' => esc_html__( 'Icon Size', 'elementskit-lite' ),
                'type' => Controls_Manager::SLIDER,
                'size_units' => [ 'px', '%' ],
                'range' => [
                    'px' => [
                        'min' => 1,
                        'max' => 100,
                        'step' => 5,
                    ],
                    '%' => [
                        'min' => 1,
                        'max' => 100,
                    ],
                ],
                'selectors' => [
                    '{{WRAPPER}} .ekit-mail-submit > i, {{WRAPPER}} .ekit-mail-submit > i' => 'font-size: {{SIZE}}{{UNIT}};',
                    '{{WRAPPER}} .ekit-mail-submit > i, {{WRAPPER}} .ekit-mail-submit > svg' => 'max-width: {{SIZE}}{{UNIT}}; height: auto',
                ],
            ]
        );

		$this->end_controls_section();

		$this->start_controls_section(
			'ekit_mail_chimp_input_icon_style_holder',
			[
				'label' => esc_html__( 'Input Icon', 'elementskit-lite' ),
				'tab' => Controls_Manager::TAB_STYLE,
			]
		);

		$this->add_group_control(
			Group_Control_Background::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_icon_background',
				'label' => esc_html__( 'Background', 'elementskit-lite' ),
				'types' => [ 'classic', 'gradient' ],
				'selector' => '{{WRAPPER}} .elementskit_input_group_text',
				'exclude' => ['image'] // PHPCS:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude
			]
		);

		$this->add_control(
			'ekit_mail_chimp_input_icon_color_hr',
			[
				'type' => Controls_Manager::DIVIDER,
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_input_icon_color',
			[
				'label' => esc_html__( 'Color', 'elementskit-lite' ),
				'type' => Controls_Manager::COLOR,
				'default' => '#000000',
				'selectors' => [
					'{{WRAPPER}} .elementskit_input_group_text i' => 'color: {{VALUE}};',
					'{{WRAPPER}} .elementskit_input_group_text svg path'	=> 'stroke: {{VALUE}}; fill: {{VALUE}};',
				],
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_input_icon_font_size',
			[
				'label' => esc_html__( 'Icon Size', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px' ],
				'range' => [
					'px' => [
						'min' => 0,
						'max' => 200,
						'step' => 1,
					],
				],
				'default' => [
					'unit' => 'px',
					'size' => 10,
				],
				'selectors' => [
					'{{WRAPPER}} .elementskit_input_group_text' => 'font-size: {{SIZE}}{{UNIT}};',
					'{{WRAPPER}} .elementskit_input_group_text svg'	=> 'max-width: {{SIZE}}{{UNIT}};',
				],
			]
		);


		$this->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name' => 'ekit_mail_chimp_input_icon_border',
				'label' => esc_html__( 'Border', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .elementskit_input_group_text',
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_input_icon_padding',
			[
				'label' => esc_html__( 'Padding', 'elementskit-lite' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em' ],
				'selectors' => [
					'{{WRAPPER}} .elementskit_input_group_text' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_input_icon_border_radius',
			[
				'label' => esc_html__( 'Border Radius', 'elementskit-lite' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em' ],
				'selectors' => [
					'{{WRAPPER}} .elementskit_input_group_text' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
			]
		);

		$this->end_controls_section();

		$this->start_controls_section(
			'ekit_mail_chimp_success_error',
			[
				'label' => esc_html__( 'Success & Error message', 'elementskit-lite' ),
				'tab' => Controls_Manager::TAB_STYLE,
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_message_width',
			[
				'label' => esc_html__( 'Width', 'elementskit-lite' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px', '%' ],
				'range' => [
					'px' => [
						'min' => 0,
						'max' => 1000,
						'step' => 1,
					],
					'%' => [
						'min' => 0,
						'max' => 100,
					],
				],
				'default' => [
					'unit' => '%',
					'size' => 100,
				],
				'selectors' => [
					'{{WRAPPER}} .ekit-mail-message' => 'width: {{SIZE}}{{UNIT}};',
				],
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_success_error_padding',
			[
				'label' => esc_html__( 'Padding', 'elementskit-lite' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%' ],
				'selectors' => [
					'{{WRAPPER}} .ekit-mail-message' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
			]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_success_error_margin',
			[
				'label' => esc_html__( 'Margin', 'elementskit-lite' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%' ],
				'selectors' => [
					'{{WRAPPER}} .ekit-mail-message' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
			]
		);

		$this->add_control(
			'ekit_mail_chimp_success_error_border_radius',
			[
				'label' => esc_html__( 'Border Radius', 'elementskit-lite' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em' ],
				'selectors' => [
					'{{WRAPPER}} .ekit-mail-message' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				]
			]
		);

		$this->add_group_control(
			Group_Control_Typography::get_type(), [
			'name'		 => 'ekit_mail_chimp_success_error_typography',
			'selector'	 => '{{WRAPPER}} .ekit-mail-message',
			]
		);

		$this->add_control(
            'ekit_mail_chimp_success_heading',
            [
                'label' => esc_html__( 'Success:', 'elementskit-lite' ),
                'type' => Controls_Manager::HEADING,
            ]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_success_color', [
				'label'		 =>esc_html__( 'Color', 'elementskit-lite' ),
				'type'		 => Controls_Manager::COLOR,
				'selectors'	 => [
					'{{WRAPPER}} .ekit-mail-message.success' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
            Group_Control_Background::get_type(),
            array(
				'name'     => 'ekit_mail_chimp_success_bg_color',
				'label'		 => esc_html__( 'Background Color', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit-mail-message.success',
            )
		);

		$this->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name' => 'ekit_mail_chimp_success_border',
				'label' => esc_html__( 'Border', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit-mail-message.success',
			]
		);

		$this->add_control(
            'ekit_mail_chimp_error_heading',
            [
                'label' => esc_html__( 'Error:', 'elementskit-lite' ),
                'type' => Controls_Manager::HEADING,
            ]
		);

		$this->add_responsive_control(
			'ekit_mail_chimp_error_color', [
				'label'		 =>esc_html__( 'Color', 'elementskit-lite' ),
				'type'		 => Controls_Manager::COLOR,
				'selectors'	 => [
					'{{WRAPPER}} .ekit-mail-message.error' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
            Group_Control_Background::get_type(),
            array(
				'name'     => 'ekit_mail_chimp_error_bg_color',
				'label'		 => esc_html__( 'Background Color', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit-mail-message.error',
            )
		);

		$this->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name' => 'ekit_mail_chimp_error_border',
				'label' => esc_html__( 'Border', 'elementskit-lite' ),
				'selector' => '{{WRAPPER}} .ekit-mail-message.error',
			]
		);


		$this->end_controls_section();

		$this->insert_pro_message();
	}

	protected function render_legacy_fields( $settings ) {
		extract($settings);
		if ( ! empty( $ekit_mail_chimp_fields_repeater ) ) {
			return;
		}

		?>
		<?php if(isset($ekit_mail_chimp_section_form_name_show) && $ekit_mail_chimp_section_form_name_show == 'yes'):?>
			<div class="ekit-mail-chimp-name elementskit_input_wraper elementskit_input_container">
				<div class="elementskit_form_group">
					<?php if($ekit_mail_chimp_first_name_label != ''): ?>
					<label class="elementskit_input_label"><?php echo esc_html( $ekit_mail_chimp_first_name_label );?> </label>
					<?php endif; ?>
					<div class="elementskit_input_element_container <?php if(($ekit_mail_chimp_first_name_icon_show == 'yes') && ($ekit_mail_chimp_first_name_icons != '')) : ?>elementskit_input_group<?php endif; ?>">
						<?php if(($ekit_mail_chimp_first_name_icon_show == 'yes') && ($ekit_mail_chimp_first_name_icons != '') && ($ekit_mail_chimp_first_name_icon_before_after == 'before')) : ?>
						<div class="elementskit_input_group_prepend">
							<div class="elementskit_input_group_text">
								<?php
									// new icon
									$migrated = isset( $settings['__fa4_migrated']['ekit_mail_chimp_first_name_icons'] );
									// Check if its a new widget without previously selected icon using the old Icon control
									$is_new = empty( $settings['ekit_mail_chimp_first_name_icon'] );
									if ( $is_new || $migrated ) {
										// new icon
										Icons_Manager::render_icon( $settings['ekit_mail_chimp_first_name_icons'], [ 'aria-hidden' => 'true' ] );
									} else {
										?>
										<i class="<?php echo esc_attr($settings['ekit_mail_chimp_first_name_icon']); ?>" aria-hidden="true"></i>
										<?php
									}
								?>
							</div>
						</div>
						<?php endif; ?>
						<input type="text" aria-label="firstname" class="ekit_user_first ekit_form_control <?php if(($ekit_mail_chimp_first_name_icon_show == 'yes') && ($ekit_mail_chimp_first_name_icons != '') && ($ekit_mail_chimp_first_name_icon_before_after == 'after')) : ?> ekit_append_input <?php endif; ?>"  name="firstname" placeholder="<?php echo esc_html( $ekit_mail_chimp_first_name_placeholder );?>" required />

						<?php if(($ekit_mail_chimp_first_name_icon_show == 'yes') && ($ekit_mail_chimp_first_name_icons != '') && ($ekit_mail_chimp_first_name_icon_before_after == 'after')) : ?>
						<div class="elementskit_input_group_append">
							<div class="elementskit_input_group_text">
								<?php
									// new icon
									$migrated = isset( $settings['__fa4_migrated']['ekit_mail_chimp_first_name_icons'] );
									// Check if its a new widget without previously selected icon using the old Icon control
									$is_new = empty( $settings['ekit_mail_chimp_first_name_icon'] );
									if ( $is_new || $migrated ) {
										// new icon
										Icons_Manager::render_icon( $settings['ekit_mail_chimp_first_name_icons'], [ 'aria-hidden' => 'true' ] );
									} else {
										?>
										<i class="<?php echo esc_attr($settings['ekit_mail_chimp_first_name_icon']); ?>" aria-hidden="true"></i>
										<?php
									}
								?>
							</div>
						</div>
						<?php endif; ?>
					</div>
				</div>
				<?php // endif; ?>
			</div>
		<?php endif; ?>
		<?php if(isset($ekit_mail_chimp_section_form_name_show) && $ekit_mail_chimp_section_form_name_show == 'yes'):?>
			<div class="ekit-mail-chimp-name elementskit_input_wraper elementskit_input_container">
				<div class="elementskit_form_group">

					<label class="elementskit_input_label"><?php echo esc_html( $ekit_mail_chimp_last_name_label ); ?> </label>
					<?php endif; ?>
					<div class="elementskit_input_element_container <?php if(($ekit_mail_chimp_last_name_icon_show == 'yes') && ($ekit_mail_chimp_last_name_icons != '')) : ?>elementskit_input_group<?php endif; ?>">
						<?php if(($ekit_mail_chimp_last_name_icon_show == 'yes') && ($ekit_mail_chimp_last_name_icons != '') && ($ekit_mail_chimp_last_name_icon_before_after == 'before')) : ?>
						<div class="elementskit_input_group_prepend">
							<div class="elementskit_input_group_text">
								<?php
									// new icon
									$migrated = isset( $settings['__fa4_migrated']['ekit_mail_chimp_last_name_icons'] );
									// Check if its a new widget without previously selected icon using the old Icon control
									$is_new = empty( $settings['ekit_mail_chimp_last_name_icon'] );
									if ( $is_new || $migrated ) {
										// new icon
										Icons_Manager::render_icon( $settings['ekit_mail_chimp_last_name_icons'], [ 'aria-hidden' => 'true' ] );
									} else {
										?>
										<i class="<?php echo esc_attr($settings['ekit_mail_chimp_last_name_icon']); ?>" aria-hidden="true"></i>
										<?php
									}
								?>
							</div>
						</div>
						<?php endif; ?>
						<input type="text" aria-label="lastname" class="ekit_user_last ekit_form_control <?php if(($ekit_mail_chimp_last_name_icon_show == 'yes') && ($ekit_mail_chimp_last_name_icons != '') && ($ekit_mail_chimp_last_name_icon_before_after == 'after')) : ?> ekit_append_input <?php endif; ?>" name="lastname" placeholder="<?php echo esc_html( $ekit_mail_chimp_last_name_placeholder );?>" required />

						<?php if(($ekit_mail_chimp_last_name_icon_show == 'yes') && ($ekit_mail_chimp_last_name_icons != '') && ($ekit_mail_chimp_last_name_icon_before_after == 'after')) : ?>
						<div class="elementskit_input_group_append">
							<div class="elementskit_input_group_text">
								<?php
									// new icon
									$migrated = isset( $settings['__fa4_migrated']['ekit_mail_chimp_last_name_icons'] );
									// Check if its a new widget without previously selected icon using the old Icon control
									$is_new = empty( $settings['ekit_mail_chimp_last_name_icon'] );
									if ( $is_new || $migrated ) {
										// new icon
										Icons_Manager::render_icon( $settings['ekit_mail_chimp_last_name_icons'], [ 'aria-hidden' => 'true' ] );
									} else {
										?>
										<i class="<?php echo esc_attr($settings['ekit_mail_chimp_last_name_icon']); ?>" aria-hidden="true"></i>
										<?php
									}
								?>
							</div>
						</div>
						<?php endif; ?>
					</div>
				</div>
				<?php //endif; ?>
			</div>
		<?php
		if(isset($ekit_mail_chimp_section_form_phone_show) && $ekit_mail_chimp_section_form_phone_show == 'yes'):?>
			<div class="ekit-mail-chimp-phone elementskit_input_wraper elementskit_input_container">
				<div class="elementskit_form_group">
					<?php if($ekit_mail_chimp_phone_label != ''): ?>
					<label class="elementskit_input_label"><?php echo esc_html( $ekit_mail_chimp_phone_label );?> </label>
					<?php endif; ?>
					<div class="elementskit_input_element_container <?php if(($ekit_mail_chimp_phone_icon_show == 'yes') && ($ekit_mail_chimp_phone_icons != '')) : ?>elementskit_input_group<?php endif; ?>">
						<?php if(($ekit_mail_chimp_phone_icon_show == 'yes') && ($ekit_mail_chimp_phone_icons != '') && ($ekit_mail_chimp_phone_icon_before_after == 'before')) : ?>
						<div class="elementskit_input_group_prepend">
							<div class="elementskit_input_group_text">
								<?php
									// new icon
									$migrated = isset( $settings['__fa4_migrated']['ekit_mail_chimp_phone_icons'] );
									// Check if its a new widget without previously selected icon using the old Icon control
									$is_new = empty( $settings['ekit_mail_chimp_phone_icon'] );
									if ( $is_new || $migrated ) {
										// new icon
										Icons_Manager::render_icon( $settings['ekit_mail_chimp_phone_icons'], [ 'aria-hidden' => 'true' ] );
									} else {
										?>
										<i class="<?php echo esc_attr($settings['ekit_mail_chimp_phone_icon']); ?>" aria-hidden="true"></i>
										<?php
									}
								?>
							</div>
						</div>
						<?php endif; ?>
						<input type="tel" aria-label="phone" class="ekit_mail_phone ekit_form_control <?php if(($ekit_mail_chimp_phone_icon_show == 'yes') && ($ekit_mail_chimp_phone_icons != '') && ($ekit_mail_chimp_phone_icon_before_after == 'after')) : ?> ekit_append_input <?php endif; ?>" name="phone" placeholder="<?php echo esc_html( $ekit_mail_chimp_phone_placeholder ); ?>" required />

						<?php if(($ekit_mail_chimp_phone_icon_show == 'yes') && ($ekit_mail_chimp_phone_icons != '') && ($ekit_mail_chimp_phone_icon_before_after == 'after')) : ?>
						<div class="elementskit_input_group_append">
							<div class="elementskit_input_group_text">
								<?php
									// new icon
									$migrated = isset( $settings['__fa4_migrated']['ekit_mail_chimp_phone_icons'] );
									// Check if its a new widget without previously selected icon using the old Icon control
									$is_new = empty( $settings['ekit_mail_chimp_phone_icon'] );
									if ( $is_new || $migrated ) {
										// new icon
										Icons_Manager::render_icon( $settings['ekit_mail_chimp_phone_icons'], [ 'aria-hidden' => 'true' ] );
									} else {
										?>
										<i class="<?php echo esc_attr($settings['ekit_mail_chimp_phone_icon']); ?>" aria-hidden="true"></i>
										<?php
									}
								?>
							</div>
						</div>
						<?php endif; ?>
					</div>
				</div>
			</div>
		<?php endif; ?>
			<div class="ekit-mail-chimp-email elementskit_input_wraper elementskit_input_container">
				<div class="elementskit_form_group">
					<?php if($ekit_mail_chimp_email_address_label != ''): ?>
					<label class="elementskit_input_label"><?php echo esc_html( $ekit_mail_chimp_email_address_label ); ?> </label>
					<?php endif; ?>
					<div class="elementskit_input_element_container <?php if(($ekit_mail_chimp_email_icon_show == 'yes') && ($ekit_mail_chimp_email_icons != '')) : ?>elementskit_input_group<?php endif; ?>">
						<?php if(($ekit_mail_chimp_email_icon_show == 'yes') && ($ekit_mail_chimp_email_icons != '') && ($ekit_mail_chimp_email_icon_before_after == 'before')) : ?>
						<div class="elementskit_input_group_prepend">
							<div class="elementskit_input_group_text">
								<?php
									// new icon
									$migrated = isset( $settings['__fa4_migrated']['ekit_mail_chimp_email_icons'] );
									// Check if its a new widget without previously selected icon using the old Icon control
									$is_new = empty( $settings['ekit_mail_chimp_email_icon'] );
									if ( $is_new || $migrated ) {
										// new icon
										Icons_Manager::render_icon( $settings['ekit_mail_chimp_email_icons'], [ 'aria-hidden' => 'true' ] );
									} else {
										?>
										<i class="<?php echo esc_attr($settings['ekit_mail_chimp_email_icon']); ?>" aria-hidden="true"></i>
										<?php
									}
								?>
							</div>
						</div>
						<?php endif; ?>
						<input type="email" aria-label="email" name="email" class="ekit_mail_email ekit_form_control <?php if(($ekit_mail_chimp_email_icon_show == 'yes') && ($ekit_mail_chimp_email_icons != '') && ($ekit_mail_chimp_email_icon_before_after == 'after')) : ?> ekit_append_input <?php endif; ?>" placeholder="<?php echo esc_html( $ekit_mail_chimp_email_address_placeholder ); ?>" required />

						<?php if(($ekit_mail_chimp_email_icon_show == 'yes') && ($ekit_mail_chimp_email_icons != '') && ($ekit_mail_chimp_email_icon_before_after == 'after')) : ?>
						<div class="elementskit_input_group_append">
							<div class="elementskit_input_group_text">
								<?php
									// new icon
									$migrated = isset( $settings['__fa4_migrated']['ekit_mail_chimp_email_icons'] );
									// Check if its a new widget without previously selected icon using the old Icon control
									$is_new = empty( $settings['ekit_mail_chimp_email_icon'] );
									if ( $is_new || $migrated ) {
										// new icon
										Icons_Manager::render_icon( $settings['ekit_mail_chimp_email_icons'], [ 'aria-hidden' => 'true' ] );
									} else {
										?>
										<i class="<?php echo esc_attr($settings['ekit_mail_chimp_email_icon']); ?>" aria-hidden="true"></i>
										<?php
									}
								?>
							</div>
						</div>
						<?php endif; ?>
					</div>
				</div>
			</div>
		<?php
	}



/**
 * Recursively find and update ONLY the specific widget by ID
 */


	protected function render_repeater_fields( $settings ) {

    extract($settings);
    if ( empty( $ekit_mail_chimp_fields_repeater ) ) {
        return;
    }

    foreach ( $ekit_mail_chimp_fields_repeater as $index => $item ) :
        $field_type = $item['ekit_mail_chimp_field_type'];
        $field_label = $item['ekit_mail_chimp_field_label'];
        $field_placeholder = $item['ekit_mail_chimp_field_placeholder'];
        $is_required_attr = $item['ekit_mail_chimp_field_required'] === 'yes' ? 'required' : '';
        $field_name = $item['ekit_mail_chimp_field_name'];
        $show_icon = $item['ekit_mail_chimp_field_icon_show'] === 'yes';
        $icon_position = $item['ekit_mail_chimp_field_icon_position'];
        ?>
        <div class="elementskit_input_wraper elementskit_input_container key-<?php echo esc_attr($index); ?>">
            <div class="elementskit_form_group">
                <?php if ( ! empty($field_label) ) : ?>
                    <label class="elementskit_input_label"><?php echo esc_html($field_label); ?> </label>
                <?php endif; ?>
                <div class="elementskit_input_element_container <?php echo $show_icon ? 'elementskit_input_group' : ''; ?>">
                    <?php if ( $show_icon && $icon_position === 'before' ) : ?>
                        <div class="elementskit_input_group_prepend">
                            <div class="elementskit_input_group_text">
                                <?php Icons_Manager::render_icon( $item['ekit_mail_chimp_field_icon'], [ 'aria-hidden' => 'true' ] ); ?>
                            </div>
                        </div>
                    <?php endif; ?>

                    <?php if ( $field_type === 'textarea' ) : ?>
                        <textarea class="ekit_form_control <?php echo ( $show_icon && $icon_position === 'after' ) ? 'ekit_append_input' : ''; ?>" name="<?php echo esc_attr($field_name); ?>" placeholder="<?php echo esc_attr($field_placeholder); ?>" <?php echo $is_required_attr; ?>></textarea>
                    <?php else : ?>
                        <input type="<?php echo esc_attr($field_type); ?>" class="ekit_form_control <?php echo ( $show_icon && $icon_position === 'after' ) ? 'ekit_append_input' : ''; ?>" name="<?php echo esc_attr($field_name); ?>" placeholder="<?php echo esc_attr($field_placeholder); ?>" <?php echo $is_required_attr; ?>>
                    <?php endif; ?>

                    <?php if ( $show_icon && $icon_position === 'after' ) : ?>
                        <div class="elementskit_input_group_append">
                            <div class="elementskit_input_group_text">
                                <?php Icons_Manager::render_icon( $item['ekit_mail_chimp_field_icon'], [ 'aria-hidden' => 'true' ] ); ?>
                            </div>
                        </div>
                    <?php endif; ?>
                </div>
            </div>
        </div>
    <?php endforeach;
}


	protected function render( ) {
        echo '<div class="ekit-wid-con" >';
            $this->render_raw();
        echo '</div>';
    }
    protected function render_raw( ) {

		$settings = $this->get_settings_for_display();
		extract($settings);

		$this->add_render_attribute(
			'content_wrapper',
			[
				'class'	=> 'elementskit_form_wraper'.($ekit_mail_chimp_form_style_switcher == 'yes' ? ' elementskit_inline_form' : '' ),
			]
		);
		$this->add_render_attribute(
			'form',
			[
				'class' => 'ekit-mailChimpForm',
				'data-listed' => esc_attr($ekit_mail_chimp_select_listed_id),
				'data-success-message' => esc_attr($ekit_mail_chimp_success_message),
				'data-success-opt-in-message' => esc_attr($ekit_mail_chimp_opt_in_success_message),
				'data-nonce' => wp_create_nonce('wp_rest'),
			]
		);
		?>
		<div class="ekit-mail-chimp">
		<form method="post" <?php echo $this->get_render_attribute_string('form'); ?>>
			<input type="hidden" name="double_opt_in" value="<?php echo esc_attr($ekit_mail_chimp_double_opt_in)?>">

				<div <?php echo $this->get_render_attribute_string('content_wrapper'); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Already escaped by elementor ?>>
				<?php
					$this->render_repeater_fields($settings);
					// $this->render_legacy_fields($settings);
				?>
					<div class="ekit_submit_input_holder elementskit_input_wraper">
						<button type="submit" aria-label="submit" class="ekit-mail-submit" name="ekit_mail_chimp"><?php if(($ekit_mail_chimp_submit_icon_show == 'yes') && ($ekit_mail_chimp_submit_icons != '') && ($ekit_mail_chimp_submit_icon_position == 'before')): ?>

							<?php
								// new icon
								$migrated = isset( $settings['__fa4_migrated']['ekit_mail_chimp_submit_icons'] );
								// Check if its a new widget without previously selected icon using the old Icon control
								$is_new = empty( $settings['ekit_mail_chimp_submit_icon'] );
								if ( $is_new || $migrated ) {
									// new icon
									Icons_Manager::render_icon( $settings['ekit_mail_chimp_submit_icons'], [ 'aria-hidden' => 'true' ] );
								} else {
									?>
									<i class="<?php echo esc_attr($settings['ekit_mail_chimp_submit_icon']); ?>" aria-hidden="true"></i>
									<?php
								}
							?>

							<?php endif; ?><?php echo esc_html( $ekit_mail_chimp_submit );?><?php if(($ekit_mail_chimp_submit_icon_show == 'yes') && ($ekit_mail_chimp_submit_icons != '') && ($ekit_mail_chimp_submit_icon_position == 'after')): ?>

								<?php
									// new icon
									$migrated = isset( $settings['__fa4_migrated']['ekit_mail_chimp_submit_icons'] );
									// Check if its a new widget without previously selected icon using the old Icon control
									$is_new = empty( $settings['ekit_mail_chimp_submit_icon'] );
									if ( $is_new || $migrated ) {
										// new icon
										Icons_Manager::render_icon( $settings['ekit_mail_chimp_submit_icons'], [ 'aria-hidden' => 'true' ] );
									} else {
										?>
										<i class="<?php echo esc_attr($settings['ekit_mail_chimp_submit_icon']); ?>" aria-hidden="true"></i>
										<?php
									}
								?>

							<?php endif; ?></button>
					</div>
				</div>
			<div class="ekit-mail-message"></div>
			</form>
		</div>
		<?php
	  }

		/**
		 * Check if this widget instance needs migration
		 */
		protected function needs_migration() {
			$settings = $this->get_settings_for_display();

			// Check if repeater is empty
			$repeater_empty = empty($settings['ekit_mail_chimp_fields_repeater']);

			// Check if any legacy fields exist
			$has_legacy = (
				!empty($settings['ekit_mail_chimp_section_form_name_show']) ||
				!empty($settings['ekit_mail_chimp_section_form_phone_show']) ||
				!empty($settings['ekit_mail_chimp_email_address_label'])
			);

			return $repeater_empty && $has_legacy;
		}

		/**
		 * Convert legacy fields to repeater format
		 */
		protected function migrate_legacy_fields() {
			$settings = $this->get_settings_for_display();
			$repeater_fields = [];

			foreach ($this->get_legacy_field_map() as $field) {
				// Skip disabled sections (except email)
				if (
					$field['show_key'] &&
					($settings[$field['show_key']] ?? 'no') !== 'yes'
				) {
					continue;
				}

				$repeater_fields[] = $this->build_repeater_field($field, $settings);
			}


			return $repeater_fields;
		}

		/**
		 * Legacy field mapping definition
		 */
		protected function get_legacy_field_map() {
			return [
				[
					'type'       => 'text',
					'show_key'   => 'ekit_mail_chimp_section_form_name_show',
					'label_key'  => 'ekit_mail_chimp_first_name_label',
					'ph_key'     => 'ekit_mail_chimp_first_name_placeholder',
					'icon_show'  => 'ekit_mail_chimp_first_name_icon_show',
					'icon'       => 'ekit_mail_chimp_first_name_icons',
					'icon_pos'   => 'ekit_mail_chimp_first_name_icon_before_after',
					'default'    => 'First Name',
				],
				[
					'type'       => 'text',
					'show_key'   => 'ekit_mail_chimp_section_form_name_show',
					'label_key'  => 'ekit_mail_chimp_last_name_label',
					'ph_key'     => 'ekit_mail_chimp_last_name_placeholder',
					'icon_show'  => 'ekit_mail_chimp_last_name_icon_show',
					'icon'       => 'ekit_mail_chimp_last_name_icons',
					'icon_pos'   => 'ekit_mail_chimp_last_name_icon_before_after',
					'default'    => 'Last Name',
				],
				[
					'type'       => 'tel',
					'show_key'   => 'ekit_mail_chimp_section_form_phone_show',
					'label_key'  => 'ekit_mail_chimp_phone_label',
					'ph_key'     => 'ekit_mail_chimp_phone_placeholder',
					'icon_show'  => 'ekit_mail_chimp_phone_icon_show',
					'icon'       => 'ekit_mail_chimp_phone_icons',
					'icon_pos'   => 'ekit_mail_chimp_phone_icon_before_after',
					'default'    => 'Phone',
				],
				[
					'type'       => 'email',
					'show_key'   => null, // always enabled
					'label_key'  => 'ekit_mail_chimp_email_address_label',
					'ph_key'     => 'ekit_mail_chimp_email_address_placeholder',
					'icon_show'  => 'ekit_mail_chimp_email_icon_show',
					'icon'       => 'ekit_mail_chimp_email_icons',
					'icon_pos'   => 'ekit_mail_chimp_email_icon_before_after',
					'default'    => 'Email',
				],
			];
		}

		/**
		 * Build single repeater field from legacy settings
		 */
		protected function build_repeater_field($field, $settings) {
			return [
				'_id'                                 => wp_unique_id(),
				'ekit_mail_chimp_field_type'          => $field['type'],
				'ekit_mail_chimp_field_label'         => $settings[$field['label_key']] ?? $field['default'],
				'ekit_mail_chimp_field_placeholder'   => $settings[$field['ph_key']] ?? $field['default'],
				'ekit_mail_chimp_field_name'          => '',
				'ekit_mail_chimp_field_required'      => 'yes',
				'ekit_mail_chimp_field_icon_show'     => $settings[$field['icon_show']] ?? 'no',
				'ekit_mail_chimp_field_icon'          => $settings[$field['icon']] ?? [],
				'ekit_mail_chimp_field_icon_position' => $settings[$field['icon_pos']] ?? 'before',
			];
		}
}