<?php
/**
 * Designer Dresses Theme Customizer.
 *
 * @link https://developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package designer_dresses
 */

if( ! function_exists( 'designer_dresses_customize_register' ) ):  
/**
 * Add postMessage support for site title and description for the Theme Customizer.F
 *
 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
 */
function designer_dresses_customize_register( $wp_customize ) {
    require get_parent_theme_file_path('/inc/controls/changeable-icon.php');

    require get_parent_theme_file_path('/inc/controls/sortable-control.php');
    
    //Register the sortable control type.
    $wp_customize->register_control_type( 'Designer_Dresses_Control_Sortable' ); 
    
    if ( version_compare( get_bloginfo('version'),'4.9', '>=') ) {
        $wp_customize->get_section( 'static_front_page' )->title = __( 'Static Front Page', 'designer-dresses' );
    }
	
    /* Option list of all post */	
    $designer_dresses_options_posts = array();
    $designer_dresses_options_posts_obj = get_posts('posts_per_page=-1');
    $designer_dresses_options_posts[''] = esc_html__( 'Choose Post', 'designer-dresses' );
    foreach ( $designer_dresses_options_posts_obj as $designer_dresses_posts ) {
    	$designer_dresses_options_posts[$designer_dresses_posts->ID] = $designer_dresses_posts->post_title;
    }
    
    /* Option list of all categories */
    $designer_dresses_args = array(
	   'type'                     => 'post',
	   'orderby'                  => 'name',
	   'order'                    => 'ASC',
	   'hide_empty'               => 1,
	   'hierarchical'             => 1,
	   'taxonomy'                 => 'category'
    ); 
    $designer_dresses_option_categories = array();
    $designer_dresses_category_lists = get_categories( $designer_dresses_args );
    $designer_dresses_option_categories[''] = esc_html__( 'Choose Category', 'designer-dresses' );
    foreach( $designer_dresses_category_lists as $designer_dresses_category ){
        $designer_dresses_option_categories[$designer_dresses_category->term_id] = $designer_dresses_category->name;
    }
    
    /** Default Settings */    
    $wp_customize->add_panel( 
        'wp_default_panel',
         array(
            'priority' => 10,
            'capability' => 'edit_theme_options',
            'theme_supports' => '',
            'title' => esc_html__( 'Default Settings', 'designer-dresses' ),
            'description' => esc_html__( 'Default section provided by wordpress customizer.', 'designer-dresses' ),
        ) 
    );
    
    $wp_customize->get_section( 'title_tagline' )->panel                  = 'wp_default_panel';
    $wp_customize->get_section( 'colors' )->panel                         = 'wp_default_panel';
    $wp_customize->get_section( 'header_image' )->panel                   = 'wp_default_panel';
    $wp_customize->get_section( 'background_image' )->panel               = 'wp_default_panel';
    $wp_customize->get_section( 'static_front_page' )->panel              = 'wp_default_panel';
    
    $wp_customize->get_setting( 'blogname' )->transport         = 'postMessage';
	$wp_customize->get_setting( 'blogdescription' )->transport  = 'postMessage';
	$wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';
    
    /** Default Settings Ends */
    
    /** Site Title control */
    $wp_customize->add_setting( 
        'header_site_title', 
        array(
            'default'           => false,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'header_site_title',
        array(
            'label'       => __( 'Show / Hide Site Title', 'designer-dresses' ),
            'section'     => 'title_tagline',
            'type'        => 'checkbox',
        )
    );

    /** Tagline control */
    $wp_customize->add_setting( 
        'header_tagline', 
        array(
            'default'           => false,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'header_tagline',
        array(
            'label'       => __( 'Show / Hide Tagline', 'designer-dresses' ),
            'section'     => 'title_tagline',
            'type'        => 'checkbox',
        )
    );

    $wp_customize->add_setting('logo_width', array(
        'sanitize_callback' => 'absint', 
    ));

    // Add a control for logo width
    $wp_customize->add_control('logo_width', array(
        'label' => __('Logo Width', 'designer-dresses'),
        'section' => 'title_tagline',
        'type' => 'number',
        'input_attrs' => array(
            'min' => '50', 
            'max' => '500', 
            'step' => '5', 
    ),
        'default' => '100', 
    ));

    $wp_customize->add_setting( 'designer_dresses_site_title_size', array(
        'default'           => 30, // Default font size in pixels
        'sanitize_callback' => 'absint', // Sanitize the input as a positive integer
    ) );

    // Add control for site title size
    $wp_customize->add_control( 'designer_dresses_site_title_size', array(
        'type'        => 'number',
        'section'     => 'title_tagline', // You can change this section to your preferred section
        'label'       => __( 'Site Title Font Size (px)', 'designer-dresses' ),
        'input_attrs' => array(
            'min'  => 10,
            'max'  => 100,
            'step' => 1,
        ),
    ) );

        /** Responsive Media settings */
    $wp_customize->add_section(
        'designer_dresses_responsive_media_section',
        array(
            'title' => esc_html__( 'Responsive Media Settings', 'designer-dresses' ),
            'priority' => 20,
            'capability' => 'edit_theme_options',
            'panel' => 'designer_dresses_general_settings',
        )
    );

    /** Scroll to top Responsive control */
    $wp_customize->add_setting( 
        'designer_dresses_resp_scroll_top', 
        array(
            'default' => 1,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_resp_scroll_top',
        array(
            'label'       => __( 'Show Scroll To Top', 'designer-dresses' ),
            'section'     => 'designer_dresses_responsive_media_section',
            'type'        => 'checkbox',
        )
    );

        /** Scroll to top Responsive control */
    $wp_customize->add_setting( 
        'designer_dresses_resp_loader', 
        array(
            'default' => 0,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_resp_loader',
        array(
            'label'       => __( 'Show Preloader', 'designer-dresses' ),
            'section'     => 'designer_dresses_responsive_media_section',
            'type'        => 'checkbox',
        )
    );

    /** Responsive Media Ends */


    //Global Color
    $wp_customize->add_section(
        'designer_dresses_global_color',
        array(
            'title' => esc_html__( 'Global Color Settings', 'designer-dresses' ),
            'priority' => 20,
            'capability' => 'edit_theme_options',
            'panel' => 'designer_dresses_general_settings',
        )
    );

    $wp_customize->add_setting('designer_dresses_primary_color', array(
        'default'           => '#40190F',
        'sanitize_callback' => 'sanitize_hex_color',
    ));
    $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'designer_dresses_primary_color', array(
        'label'    => __('Theme Primary Color', 'designer-dresses'),
        'section'  => 'designer_dresses_global_color',
        'settings' => 'designer_dresses_primary_color',
    )));    

    $wp_customize->add_setting('designer_dresses_second_color', array(
        'default'           => '#eb866b',
        'sanitize_callback' => 'sanitize_hex_color',
    ));
    $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'designer_dresses_second_color', array(
        'label'    => __('Theme Secondary Color', 'designer-dresses'),
        'section'  => 'designer_dresses_global_color',
        'settings' => 'designer_dresses_second_color',
    )));


    /** Post & Pages Settings */
    $wp_customize->add_panel( 
        'designer_dresses_post_settings',
         array(
            'priority' => 12,
            'capability' => 'edit_theme_options',
            'title' => esc_html__( 'Post & Pages Settings', 'designer-dresses' ),
            'description' => esc_html__( 'Customize Post & Pages Settings', 'designer-dresses' ),
        ) 
    );

    /** Post Layouts */
    
    $wp_customize->add_section(
        'designer_dresses_post_layout_section',
        array(
            'title' => esc_html__( 'Post Layout Settings', 'designer-dresses' ),
            'priority' => 20,
            'capability' => 'edit_theme_options',
            'panel' => 'designer_dresses_post_settings',
        )
    );

    /** Blog Content Alignment */
    $wp_customize->add_setting('designer_dresses_blog_layout_option', array(
        'default'           => 'Left',
        'sanitize_callback' => 'designer_dresses_sanitize_choices',
    ));

    $wp_customize->add_control('designer_dresses_blog_layout_option', array(
        'label'    => __('Post Content Alignment', 'designer-dresses'),
        'section'  => 'designer_dresses_post_layout_section',
        'settings' => 'designer_dresses_blog_layout_option',
        'type'     => 'select',
        'choices'  => array(
		   'Left'     => __('Left', 'designer-dresses'),
		   'Center'     => __('Center', 'designer-dresses'),
		   'Right'     => __('Right', 'designer-dresses'),
        ),
    ));

    $wp_customize->add_setting('designer_dresses_post_layout_setting', array(
        'default'           => 'right-sidebar',
        'sanitize_callback' => 'designer_dresses_sanitize_post_layout',
    ));

    $wp_customize->add_control('designer_dresses_post_layout_setting', array(
        'label'    => __('Post Column Settings', 'designer-dresses'),
        'section'  => 'designer_dresses_post_layout_section',
        'settings' => 'designer_dresses_post_layout_setting',
        'type'     => 'select',
        'choices'  => array(        
            'right-sidebar'   => __('Right Sidebar', 'designer-dresses'),
            'left-sidebar'   => __('Left Sidebar', 'designer-dresses'),
            'one-column'   => __('One Column', 'designer-dresses'),
            'three-column'   => __('Three Columns', 'designer-dresses'),
            'four-column'   => __('Four Columns', 'designer-dresses'),
            'grid-layout'   => __('Grid Layout', 'designer-dresses')
        ),
    ));

    $wp_customize->add_setting('designer_dresses_archive_pagination_alignment',array(
        'default' => 'left-align',
        'sanitize_callback' => 'designer_dresses_sanitize_pagination_alignment'
    ));
    $wp_customize->add_control('designer_dresses_archive_pagination_alignment',array(
        'type' => 'select',
        'label' => __('Pagination Alignment','designer-dresses'),
        'section' => 'designer_dresses_post_layout_section',
        'choices' => array(
            'right-align' => __('Right Alignment','designer-dresses'),
            'center-align' => __('Center Alignment','designer-dresses'),
            'left-align' => __('Left Alignment','designer-dresses'),
        ),
    ) );

     /** Post Layouts Ends */
     
     /** Sidebar Settings for pages & Post End */

    /** Post Settings */
    $wp_customize->add_section(
        'designer_dresses_post_settings',
        array(
            'title' => esc_html__( 'Post Settings', 'designer-dresses' ),
            'priority' => 20,
            'capability' => 'edit_theme_options',
            'panel' => 'designer_dresses_post_settings',
        )
    );

    /** Post Heading control */
    $wp_customize->add_setting( 
        'designer_dresses_post_heading_setting', 
        array(
            'default'           => true,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_post_heading_setting',
        array(
            'label'       => __( 'Show / Hide Post Heading', 'designer-dresses' ),
            'section'     => 'designer_dresses_post_settings',
            'type'        => 'checkbox',
        )
    );

    /** Post Meta control */
    $wp_customize->add_setting( 
        'designer_dresses_post_meta_setting', 
        array(
            'default'           => true,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_post_meta_setting',
        array(
            'label'       => __( 'Show / Hide Post Meta', 'designer-dresses' ),
            'section'     => 'designer_dresses_post_settings',
            'type'        => 'checkbox',
        )
    );

    /** Post Image control */
    $wp_customize->add_setting( 
        'designer_dresses_post_image_setting', 
        array(
            'default'           => true,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_post_image_setting',
        array(
            'label'       => __( 'Show / Hide Post Image', 'designer-dresses' ),
            'section'     => 'designer_dresses_post_settings',
            'type'        => 'checkbox',
        )
    );

    /** Post Content control */
    $wp_customize->add_setting( 
        'designer_dresses_post_content_setting', 
        array(
            'default'           => true,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_post_content_setting',
        array(
            'label'       => __( 'Show / Hide Post Content', 'designer-dresses' ),
            'section'     => 'designer_dresses_post_settings',
            'type'        => 'checkbox',
        )
    );
    /** Post ReadMore control */
     $wp_customize->add_setting( 'designer_dresses_read_more_setting`', array(
        'default'           => true,
        'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
    ) );

    $wp_customize->add_control( 'designer_dresses_read_more_setting`', array(
        'type'        => 'checkbox',
        'section'     => 'designer_dresses_post_settings', 
        'label'       => __( 'Display Read More Button', 'designer-dresses' ),
    ) );

    $wp_customize->add_setting('designer_dresses_single_post_align',array(
        'default' => '',
        'sanitize_callback' => 'designer_dresses_sanitize_single_post_align'
    ));
    $wp_customize->add_control('designer_dresses_single_post_align',array(
        'type' => 'select',
        'label' => __('Post Content Alignment','designer-dresses'),
        'section' => 'designer_dresses_post_settings',
        'choices' => array(
            'left-align' => __('Left Alignment','designer-dresses'),
            'right-align' => __('Right Alignment','designer-dresses'),
            'center-align' => __('Center Alignment','designer-dresses'),
        ),
    ) );

    $wp_customize->add_setting('designer_dresses_blog_meta_order', array(
        'default' => array('heading', 'author', 'featured-image', 'content','button'),
        'sanitize_callback' => 'designer_dresses_sanitize_sortable',
    ));
    $wp_customize->add_control(new Designer_Dresses_Control_Sortable($wp_customize, 'designer_dresses_blog_meta_order', array(
        'label' => esc_html__('Post Meta Ordering', 'designer-dresses'),
        'description' => __('Drag & drop post items to rearrange the ordering ( this control will not function by post format )', 'designer-dresses') ,
        'section' => 'designer_dresses_post_settings',
        'choices' => array(
            'heading' => __('heading', 'designer-dresses') ,
            'author' => __('author', 'designer-dresses') ,
            'featured-image' => __('featured-image', 'designer-dresses') ,
            'content' => __('content', 'designer-dresses') ,
            'button' => __('button', 'designer-dresses') ,
        ) ,
    )));

    /** Post Settings Ends */

     /** Single Post Settings */
    $wp_customize->add_section(
        'designer_dresses_single_post_settings',
        array(
            'title' => esc_html__( 'Single Post Settings', 'designer-dresses' ),
            'priority' => 20,
            'capability' => 'edit_theme_options',
            'panel' => 'designer_dresses_post_settings',
        )
    );

    /** Single Post Meta control */
    $wp_customize->add_setting( 
        'designer_dresses_single_post_meta_setting', 
        array(
            'default'           => true,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_single_post_meta_setting',
        array(
            'label'       => __( 'Show / Hide Single Post Meta', 'designer-dresses' ),
            'section'     => 'designer_dresses_single_post_settings',
            'type'        => 'checkbox',
        )
    );

    /** Single Post Content control */
    $wp_customize->add_setting( 
        'designer_dresses_single_post_content_setting', 
        array(
            'default'           => true,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_single_post_content_setting',
        array(
            'label'       => __( 'Show / Hide Single Post Content', 'designer-dresses' ),
            'section'     => 'designer_dresses_single_post_settings',
            'type'        => 'checkbox',
        )
    );

    /** Single Post Settings Ends */

         // Typography Settings Section
    $wp_customize->add_section('designer_dresses_typography_settings', array(
        'title'      => esc_html__('Typography Settings', 'designer-dresses'),
        'priority'   => 30,
        'capability' => 'edit_theme_options',
        'panel' => 'designer_dresses_general_settings',
    ));

    // Array of fonts to choose from
    $font_choices = array(
        ''               => __('Select', 'designer-dresses'),
        'Arial'          => 'Arial, sans-serif',
        'Verdana'        => 'Verdana, sans-serif',
        'Helvetica'      => 'Helvetica, sans-serif',
        'Times New Roman'=> '"Times New Roman", serif',
        'Georgia'        => 'Georgia, serif',
        'Courier New'    => '"Courier New", monospace',
        'Trebuchet MS'   => '"Trebuchet MS", sans-serif',
        'Tahoma'         => 'Tahoma, sans-serif',
        'Palatino'       => '"Palatino Linotype", serif',
        'Garamond'       => 'Garamond, serif',
        'Impact'         => 'Impact, sans-serif',
        'Comic Sans MS'  => '"Comic Sans MS", cursive, sans-serif',
        'Lucida Sans'    => '"Lucida Sans Unicode", sans-serif',
        'Arial Black'    => '"Arial Black", sans-serif',
        'Gill Sans'      => '"Gill Sans", sans-serif',
        'Segoe UI'       => '"Segoe UI", sans-serif',
        'Open Sans'      => '"Open Sans", sans-serif',
        'Roboto'         => 'Roboto, sans-serif',
        'Lato'           => 'Lato, sans-serif',
        'Montserrat'     => 'Montserrat, sans-serif',
        'Libre Baskerville' => 'Libre Baskerville',
    );

    // Heading Font Setting
    $wp_customize->add_setting('designer_dresses_heading_font_family', array(
        'default'           => '',
        'sanitize_callback' => 'designer_dresses_sanitize_choicess',
    ));
    $wp_customize->add_control('designer_dresses_heading_font_family', array(
        'type'    => 'select',
        'choices' => $font_choices,
        'label'   => __('Select Font for Heading', 'designer-dresses'),
        'section' => 'designer_dresses_typography_settings',
    ));

    // Body Font Setting
    $wp_customize->add_setting('designer_dresses_body_font_family', array(
        'default'           => '',
        'sanitize_callback' => 'designer_dresses_sanitize_choicess',
    ));
    $wp_customize->add_control('designer_dresses_body_font_family', array(
        'type'    => 'select',
        'choices' => $font_choices,
        'label'   => __('Select Font for Body', 'designer-dresses'),
        'section' => 'designer_dresses_typography_settings',
    ));

    /** Typography Settings Section End */

    /** General Settings */
    $wp_customize->add_panel( 
        'designer_dresses_general_settings',
         array(
            'priority' => 12,
            'capability' => 'edit_theme_options',
            'title' => esc_html__( 'General Settings', 'designer-dresses' ),
            'description' => esc_html__( 'Customize General Settings', 'designer-dresses' ),
        ) 
    );

    /** General Settings */
    $wp_customize->add_section(
        'designer_dresses_general_settings',
        array(
            'title' => esc_html__( 'Loader Settings', 'designer-dresses' ),
            'priority' => 30,
            'capability' => 'edit_theme_options',
            'panel' => 'designer_dresses_general_settings',
        )
    );

    /** Preloader control */
    $wp_customize->add_setting( 
        'designer_dresses_header_preloader', 
        array(
            'default' => false,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_header_preloader',
        array(
            'label'       => __( 'Show Preloader', 'designer-dresses' ),
            'section'     => 'designer_dresses_general_settings',
            'type'        => 'checkbox',
        )
    );

    /** Header Section Settings */
    $wp_customize->add_section(
        'designer_dresses_header_section_settings',
        array(
            'title' => esc_html__( 'Header Section Settings', 'designer-dresses' ),
            'priority' => 30,
            'capability' => 'edit_theme_options',
            'panel' => 'designer_dresses_home_page_settings',
        )
    );

    /** Header Section control */
    $wp_customize->add_setting( 
        'designer_dresses_header_setting', 
        array(
            'default' => false,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_header_setting',
        array(
            'label'       => __( 'Show Header', 'designer-dresses' ),
            'section'     => 'designer_dresses_header_section_settings',
            'type'        => 'checkbox',
        )
    );

        /**  TIMING */
    $wp_customize->add_setting(
        'designer_dresses_header_location',
        array( 
            'default' => '',
            'sanitize_callback' => 'sanitize_text_field',
            'transport'         => 'refresh'
        )
    );
    
    $wp_customize->add_control(
        'designer_dresses_header_location',
        array(
            'label' => esc_html__( 'Add Time', 'designer-dresses' ),
            'section' => 'designer_dresses_header_section_settings',
            'type' => 'text',
        )
    );

    $wp_customize->add_setting('designer_dresses_marker_icon',array(
        'default'   => 'fas fa-clock',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control(new Designer_Dresses_Changeable_Icon(
        $wp_customize,'designer_dresses_marker_icon',array(
        'label' => __('Location Icon','designer-dresses'),
        'transport' => 'refresh',
        'section'   => 'designer_dresses_header_section_settings',
        'type'      => 'icon'
    )));

     /** Email */
    $wp_customize->add_setting(
        'designer_dresses_header_email',
        array( 
            'default' => '',
            'sanitize_callback' => 'sanitize_text_field',
            'transport'         => 'refresh'
        )
    );
    
    $wp_customize->add_control(
        'designer_dresses_header_email',
        array(
            'label' => esc_html__( 'Add Email', 'designer-dresses' ),
            'section' => 'designer_dresses_header_section_settings',
            'type' => 'text',
        )
    );

    $wp_customize->add_setting('designer_dresses_mail_icon',array(
        'default'   => 'fas fa-envelope',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control(new Designer_Dresses_Changeable_Icon(
        $wp_customize,'designer_dresses_mail_icon',array(
        'label' => __('Mail Icon','designer-dresses'),
        'transport' => 'refresh',
        'section'   => 'designer_dresses_header_section_settings',
        'type'      => 'icon'
    )));

    /** Phone */
    $wp_customize->add_setting(
        'designer_dresses_phone_text',
        array( 
            'default' => '',
            'sanitize_callback' => 'sanitize_text_field',
            'transport'         => 'refresh'
        )
    );
    
    $wp_customize->add_control(
        'designer_dresses_phone_text',
        array(
            'label' => esc_html__( 'Add Phone Text', 'designer-dresses' ),
            'section' => 'designer_dresses_header_section_settings',
            'type' => 'text',
        )
    );

     /** Phone */
    $wp_customize->add_setting(
        'designer_dresses_header_phone',
        array( 
            'default' => '',
            'sanitize_callback' => 'sanitize_text_field',
            'transport'         => 'refresh'
        )
    );
    
    $wp_customize->add_control(
        'designer_dresses_header_phone',
        array(
            'label' => esc_html__( 'Add Phone', 'designer-dresses' ),
            'section' => 'designer_dresses_header_section_settings',
            'type' => 'text',
        )
    );
    $wp_customize->add_setting('designer_dresses_phone_icon',array(
        'default'   => 'fas fa-mobile-alt',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control(new Designer_Dresses_Changeable_Icon(
        $wp_customize,'designer_dresses_phone_icon',array(
        'label' => __('Phone Icon','designer-dresses'),
        'transport' => 'refresh',
        'section'   => 'designer_dresses_header_section_settings',
        'type'      => 'icon'
    )));

        /** Appointment Button */
    $wp_customize->add_setting(
        'designer_dresses_header_btn_text',
        array( 
            'default' => '',
            'sanitize_callback' => 'sanitize_text_field',
            'transport'         => 'refresh'
        )
    );
    
    $wp_customize->add_control(
        'designer_dresses_header_btn_text',
        array(
            'label' => esc_html__( 'Add Button Text', 'designer-dresses' ),
            'section' => 'designer_dresses_header_section_settings',
            'type' => 'text',
        )
    );

    /** Appointment Button */
    $wp_customize->add_setting(
        'designer_dresses_header_btn_url',
        array( 
            'default' => '',
            'sanitize_callback' => 'esc_url_raw',
            'transport'         => 'refresh'
        )
    );
    
    $wp_customize->add_control(
        'designer_dresses_header_btn_url',
        array(
            'label' => esc_html__( 'Add Button URL', 'designer-dresses' ),
            'section' => 'designer_dresses_header_section_settings',
            'type' => 'url',
        )
    );

    /** Sticky Header control */
    $wp_customize->add_setting( 
        'designer_dresses_sticky_header', 
        array(
            'default' => false,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_sticky_header',
        array(
            'label'       => __( 'Show Sticky Header', 'designer-dresses' ),
            'section'     => 'designer_dresses_header_section_settings',
            'type'        => 'checkbox',
        )
    );

    // Add Setting for Menu Font Weight
    $wp_customize->add_setting( 'designer_dresses_menu_font_weight', array(
        'default'           => '500',
        'sanitize_callback' => 'designer_dresses_sanitize_font_weight',
    ) );

    // Add Control for Menu Font Weight
    $wp_customize->add_control( 'designer_dresses_menu_font_weight', array(
        'label'    => __( 'Menu Font Weight', 'designer-dresses' ),
        'section'  => 'designer_dresses_header_section_settings',
        'type'     => 'select',
        'choices'  => array(
            '100' => __( '100 - Thin', 'designer-dresses' ),
            '200' => __( '200 - Extra Light', 'designer-dresses' ),
            '300' => __( '300 - Light', 'designer-dresses' ),
            '400' => __( '400 - Normal', 'designer-dresses' ),
            '500' => __( '500 - Medium', 'designer-dresses' ),
            '600' => __( '600 - Semi Bold', 'designer-dresses' ),
            '700' => __( '700 - Bold', 'designer-dresses' ),
            '800' => __( '800 - Extra Bold', 'designer-dresses' ),
            '900' => __( '900 - Black', 'designer-dresses' ),
        ),
    ) );

    // Add Setting for Menu Text Transform
    $wp_customize->add_setting( 'designer_dresses_menu_text_transform', array(
        'default'           => 'uppercase',
        'sanitize_callback' => 'designer_dresses_sanitize_text_transform',
    ) );

    // Add Control for Menu Text Transform
    $wp_customize->add_control( 'designer_dresses_menu_text_transform', array(
        'label'    => __( 'Menu Text Transform', 'designer-dresses' ),
        'section'  => 'designer_dresses_header_section_settings',
        'type'     => 'select',
        'choices'  => array(
            'none'       => __( 'None', 'designer-dresses' ),
            'capitalize' => __( 'Capitalize', 'designer-dresses' ),
            'uppercase'  => __( 'Uppercase', 'designer-dresses' ),
            'lowercase'  => __( 'Lowercase', 'designer-dresses' ),
        ),
    ) );

    // Menu Hover Style	
    $wp_customize->add_setting('designer_dresses_menus_style',array(
        'default' => '',
        'sanitize_callback' => 'designer_dresses_sanitize_choices'
	));
	$wp_customize->add_control('designer_dresses_menus_style',array(
        'type' => 'select',
		'label' => __('Menu Hover Style','designer-dresses'),
		'section' => 'designer_dresses_header_section_settings',
		'choices' => array(
         'None' => __('None','designer-dresses'),
         'Zoom In' => __('Zoom In','designer-dresses'),
      ),
	));

    $wp_customize->add_setting('designer_dresses_theme_width',array(
        'default' => 'full-width',
        'sanitize_callback' => 'designer_dresses_sanitize_theme_width'
    ));
    $wp_customize->add_control('designer_dresses_theme_width',array(
        'type' => 'select',
        'label' => __('Theme Width Option','designer-dresses'),
        'section' => 'designer_dresses_header_section_settings',
        'choices' => array(
            'full-width' => __('Fullwidth','designer-dresses'),
            'container' => __('Container','designer-dresses'),
            'container-fluid' => __('Container Fluid','designer-dresses'),
        ),
    ) );

    /** Home Page Settings */
    $wp_customize->add_panel( 
        'designer_dresses_home_page_settings',
         array(
            'priority' => 9,
            'capability' => 'edit_theme_options',
            'title' => esc_html__( 'Home Page Settings', 'designer-dresses' ),
            'description' => esc_html__( 'Customize Home Page Settings', 'designer-dresses' ),
        ) 
    );

    /** Slider Section Settings */
    $wp_customize->add_section(
        'designer_dresses_slider_section_settings',
        array(
            'title' => esc_html__( 'Slider Section Settings', 'designer-dresses' ),
            'priority' => 30,
            'capability' => 'edit_theme_options',
            'panel' => 'designer_dresses_home_page_settings',
        )
    );

    /** Slider Section control */
    $wp_customize->add_setting( 
        'designer_dresses_slider_setting', 
        array(
            'default' => false,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_slider_setting',
        array(
            'label'       => __( 'Show Slider', 'designer-dresses' ),
            'section'     => 'designer_dresses_slider_section_settings',
            'type'        => 'checkbox',
        )
    );

    $wp_customize->add_setting('designer_dresses_slider_background_image',
        array(
            'sanitize_callback' => 'esc_url_raw',
        )
    );
    $wp_customize->add_control(
        new WP_Customize_Image_Control( $wp_customize,'designer_dresses_slider_background_image',
            array(
                'label' => __('Slider Background Image','designer-dresses'),
                'section' => 'designer_dresses_slider_section_settings',
                'settings' => 'designer_dresses_slider_background_image',
            )
        )
    );

        // Section Text
    $wp_customize->add_setting('designer_dresses_slider_text_extra', 
        array(
        'default'           => '',
        'type'              => 'theme_mod',
        'capability'        => 'edit_theme_options',    
        'sanitize_callback' => 'sanitize_text_field'
        )
    );

    $wp_customize->add_control('designer_dresses_slider_text_extra', 
        array(
        'label'       => __('Slider Extra Title', 'designer-dresses'),
        'section'     => 'designer_dresses_slider_section_settings',   
        'settings'    => 'designer_dresses_slider_text_extra',
        'type'        => 'text'
        )
    );
    
    $categories = get_categories();
        $cat_posts = array();
            $i = 0;
            $cat_posts[]='Select';
        foreach($categories as $category){
            if($i==0){
            $default = $category->slug;
            $i++;
        }
        $cat_posts[$category->slug] = $category->name;
    }

    $wp_customize->add_setting(
        'designer_dresses_blog_slide_category',
        array(
            'default'   => 'select',
            'sanitize_callback' => 'designer_dresses_sanitize_choices',
        )
    );
    $wp_customize->add_control(
        'designer_dresses_blog_slide_category',
        array(
            'type'    => 'select',
            'choices' => $cat_posts,
            'label' => __('Select Category to display Latest Post','designer-dresses'),
            'section' => 'designer_dresses_slider_section_settings',
        )
    );

    // Section Text
    $wp_customize->add_setting('designer_dresses_discount_text', 
        array(
        'default'           => '',
        'type'              => 'theme_mod',
        'capability'        => 'edit_theme_options',    
        'sanitize_callback' => 'sanitize_text_field'
        )
    );

    $wp_customize->add_control('designer_dresses_discount_text', 
        array(
        'label'       => __('Discount Text', 'designer-dresses'),
        'section'     => 'designer_dresses_slider_section_settings',   
        'settings'    => 'designer_dresses_discount_text',
        'type'        => 'text'
        )
    );

     /** Socail Section Settings */
    $wp_customize->add_section(
        'designer_dresses_social_section_settings',
        array(
            'title' => esc_html__( 'Social Media Section Settings', 'designer-dresses' ),
            'priority' => 30,
            'capability' => 'edit_theme_options',
            'panel' => 'designer_dresses_home_page_settings',
        )
    );

    /** Socail Section control */
    $wp_customize->add_setting( 
        'designer_dresses_social_icon_setting', 
        array(
            'default' => false,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_social_icon_setting',
        array(
            'label'       => __( 'Show Social Icon', 'designer-dresses' ),
            'section'     => 'designer_dresses_social_section_settings',
            'type'        => 'checkbox',
        )
    );

    /**  Social Link 1 */
    $wp_customize->add_setting(
        'designer_dresses_social_link_1',
        array( 
            'default' => '',
            'sanitize_callback' => 'esc_url_raw',
            'transport'         => 'refresh'
        )
    );
    
    $wp_customize->add_control(
        'designer_dresses_social_link_1',
        array(
            'label' => esc_html__( 'Add Facebook Link', 'designer-dresses' ),
            'section' => 'designer_dresses_social_section_settings',
            'type' => 'url',
        )
    );

    /**  Social Link 2 */
    $wp_customize->add_setting(
        'designer_dresses_social_link_2',
        array( 
            'default' => '',
            'sanitize_callback' => 'esc_url_raw',
            'transport'         => 'refresh'
        )
    );
    
    $wp_customize->add_control(
        'designer_dresses_social_link_2',
        array(
            'label' => esc_html__( 'Add Twitter Link', 'designer-dresses' ),
            'section' => 'designer_dresses_social_section_settings',
            'type' => 'url',
        )
    );

    /**  Social Link 3 */
    $wp_customize->add_setting(
        'designer_dresses_social_link_3',
        array( 
            'default' => '',
            'sanitize_callback' => 'esc_url_raw',
            'transport'         => 'refresh'
        )
    );
    
    $wp_customize->add_control(
        'designer_dresses_social_link_3',
        array(
            'label' => esc_html__( 'Add Instagram Link', 'designer-dresses' ),
            'section' => 'designer_dresses_social_section_settings',
            'type' => 'url',
        )
    );

    /**  Social Link 4 */
    $wp_customize->add_setting(
        'designer_dresses_social_link_4',
        array( 
            'default' => '',
            'sanitize_callback' => 'esc_url_raw',
            'transport'         => 'refresh'
        )
    );
    
    $wp_customize->add_control(
        'designer_dresses_social_link_4',
        array(
            'label' => esc_html__( 'Add Pintrest Link', 'designer-dresses' ),
            'section' => 'designer_dresses_social_section_settings',
            'type' => 'url',
        )
    );

    /** Social Section Settings End */

    /** Classes Section Settings */
    $wp_customize->add_section(
        'designer_dresses_classes_section_settings',
        array(
            'title' => esc_html__( 'Videos Section Settings', 'designer-dresses' ),
            'priority' => 30,
            'capability' => 'edit_theme_options',
            'panel' => 'designer_dresses_home_page_settings',
        )
    );

    /** Classes Section control */
    $wp_customize->add_setting( 
        'designer_dresses_classes_setting', 
        array(
            'default' => false,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_classes_setting',
        array(
            'label'       => __( 'Show Videos Section', 'designer-dresses' ),
            'section'     => 'designer_dresses_classes_section_settings',
            'type'        => 'checkbox',
        )
    );

    // Section Title
    $wp_customize->add_setting(
        'designer_dresses_section_title', 
        array(
            'default'           => '',
            'type'              => 'theme_mod',
            'capability'        => 'edit_theme_options',    
            'sanitize_callback' => 'sanitize_text_field'
        )
    );

    $wp_customize->add_control(
        'designer_dresses_section_title', 
        array(
            'label'       => __('Section Sub Heading', 'designer-dresses'),
            'section'     => 'designer_dresses_classes_section_settings',
            'settings'    => 'designer_dresses_section_title',
            'type'        => 'text'
        )
    );

    // Section Text
    $wp_customize->add_setting(
        'designer_dresses_section_text', 
        array(
            'default'           => '',
            'type'              => 'theme_mod',
            'capability'        => 'edit_theme_options',    
            'sanitize_callback' => 'sanitize_text_field'
        )
    );

    $wp_customize->add_control(
        'designer_dresses_section_text', 
        array(
            'label'       => __('Section Main Heading', 'designer-dresses'),
            'section'     => 'designer_dresses_classes_section_settings',
            'settings'    => 'designer_dresses_section_text',
            'type'        => 'text'
        )
    );

    $wp_customize->add_setting('designer_dresses_section_video_1_image',
        array(
            'sanitize_callback' => 'esc_url_raw',
        )
    );
    $wp_customize->add_control(
        new WP_Customize_Image_Control( $wp_customize,'designer_dresses_section_video_1_image',
            array(
                'label' => __('Video 1 Background Image','designer-dresses'),
                'section' => 'designer_dresses_classes_section_settings',
                'settings' => 'designer_dresses_section_video_1_image',
            )
        )
    );

    $wp_customize->add_setting('designer_dresses_video_section_url_1',array(
        'default'   => '',
        'sanitize_callback' => 'sanitize_text_field',
    ));
    $wp_customize->add_control('designer_dresses_video_section_url_1',array(
        'label' => __('Video Url 1','designer-dresses'),
        'section' => 'designer_dresses_classes_section_settings',
        'setting'   => 'designer_dresses_video_section_url_1',
        'type'  => 'url'
    )); 


    $wp_customize->add_setting('designer_dresses_section_video_2_image',
        array(
            'sanitize_callback' => 'esc_url_raw',
        )
    );
    $wp_customize->add_control(
        new WP_Customize_Image_Control( $wp_customize,'designer_dresses_section_video_2_image',
            array(
                'label' => __('Video 2 Background Image','designer-dresses'),
                'section' => 'designer_dresses_classes_section_settings',
                'settings' => 'designer_dresses_section_video_2_image',
            )
        )
    );

    $wp_customize->add_setting('designer_dresses_banner_video_url_2',array(
        'default'   => '',
        'sanitize_callback' => 'sanitize_text_field',
    ));
    $wp_customize->add_control('designer_dresses_banner_video_url_2',array(
        'label' => __('Video Url 2','designer-dresses'),
        'section' => 'designer_dresses_classes_section_settings',
        'setting'   => 'designer_dresses_banner_video_url_2',
        'type'  => 'url'
    )); 

        $wp_customize->add_setting('designer_dresses_section_video_3_image',
        array(
            'sanitize_callback' => 'esc_url_raw',
        )
    );
    $wp_customize->add_control(
        new WP_Customize_Image_Control( $wp_customize,'designer_dresses_section_video_3_image',
            array(
                'label' => __('Video 3 Background Image','designer-dresses'),
                'section' => 'designer_dresses_classes_section_settings',
                'settings' => 'designer_dresses_section_video_3_image',
            )
        )
    );

    $wp_customize->add_setting('designer_dresses_banner_video_url_3',array(
        'default'   => '',
        'sanitize_callback' => 'sanitize_text_field',
    ));
    $wp_customize->add_control('designer_dresses_banner_video_url_3',array(
        'label' => __('Video Url 3','designer-dresses'),
        'section' => 'designer_dresses_classes_section_settings',
        'setting'   => 'designer_dresses_banner_video_url_3',
        'type'  => 'url'
    )); 
 
    
    /** Home Page Settings Ends */
    
    /** Footer Section */
    $wp_customize->add_section(
        'designer_dresses_footer_section',
        array(
            'title' => __( 'Footer Settings', 'designer-dresses' ),
            'priority' => 70,
            'panel' => 'designer_dresses_home_page_settings',
        )
    );

    /** Footer Widget Columns */
    $wp_customize->add_setting('designer_dresses_footer_widget_areas', array(
        'default'           => 4,
        'sanitize_callback' => 'designer_dresses_sanitize_choices',
    ));

    $wp_customize->add_control('designer_dresses_footer_widget_areas', array(
        'label'    => __('Footer Widget Columns', 'designer-dresses'),
        'section'  => 'designer_dresses_footer_section',
        'settings' => 'designer_dresses_footer_widget_areas',
        'type'     => 'select',
        'choices'  => array(
		   '1'     => __('One', 'designer-dresses'),
		   '2'     => __('Two', 'designer-dresses'),
		   '3'     => __('Three', 'designer-dresses'),
		   '4'     => __('Four', 'designer-dresses')
        ),
    ));

    /** Footer Copyright control */
    $wp_customize->add_setting( 
        'designer_dresses_footer_setting', 
        array(
            'default' => true,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_footer_setting',
        array(
            'label'       => __( 'Show Footer Copyright', 'designer-dresses' ),
            'section'     => 'designer_dresses_footer_section',
            'type'        => 'checkbox',
        )
    );
    
    /** Copyright Text */
    $wp_customize->add_setting(
        'designer_dresses_footer_copyright_text',
        array(
            'default' => '',
            'sanitize_callback' => 'sanitize_text_field',
        )
    );
    
    $wp_customize->add_control(
        'designer_dresses_footer_copyright_text',
        array(
            'label' => __( 'Copyright Info', 'designer-dresses' ),
            'section' => 'designer_dresses_footer_section',
            'type' => 'text',
        )
    );  
$wp_customize->add_setting('designer_dresses_footer_background_image',
        array(
        'default' => '',
        'capability' => 'edit_theme_options',
        'sanitize_callback' => 'absint',
        )
    );


    $wp_customize->add_control(
         new WP_Customize_Cropped_Image_Control($wp_customize, 'designer_dresses_footer_background_image',
            array(
                'label' => esc_html__('Footer Background Image', 'designer-dresses'),
                /* translators: 1: image width in pixels, 2: image height in pixels */
                'description' => sprintf(esc_html__('Recommended Size %1$s px X %2$s px', 'designer-dresses'), 1024, 800),
                'section' => 'designer_dresses_footer_section',
                'width' => 1024,
                'height' => 800,
                'flex_width' => true,
                'flex_height' => true,
            )
        )
    );

    /** Footer Background Image Attachment */
    $wp_customize->add_setting('designer_dresses_background_attachment', array(
        'default'           => 'scroll',
        'sanitize_callback' => 'designer_dresses_sanitize_choices',
    ));

    $wp_customize->add_control('designer_dresses_background_attachment', array(
        'label'    => __('Footer Background Attachment', 'designer-dresses'),
        'section'  => 'designer_dresses_footer_section',
        'settings' => 'designer_dresses_background_attachment',
        'type'     => 'select',
        'choices'  => array(
            'fixed' => __('fixed','designer-dresses'),
            'scroll' => __('scroll','designer-dresses'),
        ),
    ));

    /* Footer Background Color*/
    $wp_customize->add_setting(
        'designer_dresses_footer_background_color',
        array(
            'default' => '',
            'sanitize_callback' => 'sanitize_hex_color',
        )
    );
    $wp_customize->add_control(
        new WP_Customize_Color_Control(
            $wp_customize,
            'designer_dresses_footer_background_color',
            array(
                'label' => __('Footer Widget Area Background Color', 'designer-dresses'),
                'section' => 'designer_dresses_footer_section',
                'type' => 'color',
            )
        )
    );


    /** Scroll to top control */
    $wp_customize->add_setting( 
        'designer_dresses_footer_scroll_to_top', 
        array(
            'default' => 1,
            'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
        ) 
    );

    $wp_customize->add_control(
        'designer_dresses_footer_scroll_to_top',
        array(
            'label'       => __( 'Show Scroll To Top', 'designer-dresses' ),
            'section'     => 'designer_dresses_footer_section',
            'type'        => 'checkbox',
        )
    );

     $wp_customize->add_setting('designer_dresses_scroll_icon',array(
        'default'   => 'fas fa-arrow-up',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control(new Designer_Dresses_Changeable_Icon(
        $wp_customize,'designer_dresses_scroll_icon',array(
        'label' => __('Scroll Top Icon','designer-dresses'),
        'transport' => 'refresh',
        'section'   => 'designer_dresses_footer_section',
        'type'      => 'icon'
    )));

    $wp_customize->add_setting('designer_dresses_scroll_top_alignment',array(
        'default' => 'right-align',
        'sanitize_callback' => 'designer_dresses_sanitize_scroll_top_alignment'
    ));
    $wp_customize->add_control('designer_dresses_scroll_top_alignment',array(
        'type' => 'select',
        'label' => __('Scroll Top Alignment','designer-dresses'),
        'section' => 'designer_dresses_footer_section',
        'choices' => array(
            'right-align' => __('Right Alignment','designer-dresses'),
            'center-align' => __('Center Alignment','designer-dresses'),
            'left-align' => __('Left Alignment','designer-dresses'),
        ),
    ) );

    /** Scroll to top button shape */
    $wp_customize->add_setting('designer_dresses_scroll_to_top_radius', array(
        'default'           => 'curved-box',
        'sanitize_callback' => 'designer_dresses_sanitize_choices',
    ));

    $wp_customize->add_control('designer_dresses_scroll_to_top_radius', array(
        'label'    => __('Scroll Top Button Shape', 'designer-dresses'),
        'section'  => 'designer_dresses_footer_section',
        'settings' => 'designer_dresses_scroll_to_top_radius',
        'type'     => 'select',
        'choices'  => array(
            'box'        => __( 'Box', 'designer-dresses' ),
            'curved-box' => __( 'Curved Box', 'designer-dresses' ),
            'circle'     => __( 'Circle', 'designer-dresses' ),
        ),
    ));


    /** Footer Social Icon */
    $wp_customize->add_section('designer_dresses_footer_social_section', array(
        'title' => __( 'Footer Social Settings', 'designer-dresses' ),
        'panel' => 'designer_dresses_home_page_settings',
    ));

    $wp_customize->add_setting('designer_dresses_enable_footer_icon_section', array(
        'default' => true,
        'sanitize_callback' => 'designer_dresses_sanitize_checkbox',
    ) );
    $wp_customize->add_control( 'designer_dresses_enable_footer_icon_section', array(
        'label'       => __( 'Show Footer Icon', 'designer-dresses' ),
        'section'     => 'designer_dresses_footer_social_section',
        'type'        => 'checkbox',
    ));

    // Add setting for Facebook Link
    $wp_customize->add_setting(
        'designer_dresses_footer_facebook_link',
        array(
            'default'           => 'https://www.facebook.com/',
            'sanitize_callback' => 'esc_url_raw',
        )
    );

    $wp_customize->add_control(
        'designer_dresses_footer_facebook_link',
        array(
            'label'           => esc_html__( 'Facebook Link', 'designer-dresses'  ),
            'section'         => 'designer_dresses_footer_social_section',
            'settings'        => 'designer_dresses_footer_facebook_link',
            'type'      => 'url'
        )
    );

    // Add setting for Facebook Icon Changing
    $wp_customize->add_setting(
        'designer_dresses_facebook_icon',
        array(
            'default' => 'fa-brands fa-facebook',
            'sanitize_callback' => 'sanitize_text_field',
            'capability' => 'edit_theme_options',
            
        )
    );	

    $wp_customize->add_control(new Designer_Dresses_Changeable_Icon($wp_customize, 
        'designer_dresses_facebook_icon',
        array(
            'label'   		=> __('Facebook Icon','designer-dresses'),
            'section' 		=> 'designer_dresses_footer_social_section',
            'iconset' => 'fb',
        ))  
    );


    // Add setting for Twitter Link
    $wp_customize->add_setting(
        'designer_dresses_footer_twitter_link',
        array(
            'default'           => 'https://twitter.com/',
            'sanitize_callback' => 'esc_url_raw',
        )
    );

    $wp_customize->add_control(
        'designer_dresses_footer_twitter_link',
        array(
            'label'           => esc_html__( 'Twitter Link', 'designer-dresses'  ),
            'section'         => 'designer_dresses_footer_social_section',
            'settings'        => 'designer_dresses_footer_twitter_link',
            'type'      => 'url'
        )
    );

    // Add setting for Twitter Icon Changing
    $wp_customize->add_setting(
        'designer_dresses_twitter_icon',
        array(
            'default' => 'fa-brands fa-twitter',
            'sanitize_callback' => 'sanitize_text_field',
            'capability' => 'edit_theme_options',
            
        )
    );	

    $wp_customize->add_control(new Designer_Dresses_Changeable_Icon($wp_customize, 
        'designer_dresses_twitter_icon',
        array(
            'label'   		=> __('Twitter Icon','designer-dresses'),
            'section' 		=> 'designer_dresses_footer_social_section',
            'iconset' => 'fb',
        ))  
    );

    // Add setting for Instagram Link
    $wp_customize->add_setting(
        'designer_dresses_footer_instagram_link',
        array(
            'default'           => 'https://www.instagram.com/',
            'sanitize_callback' => 'esc_url_raw',
        )
    );

    $wp_customize->add_control(
        'designer_dresses_footer_instagram_link',
        array(
            'label'           => esc_html__( 'Instagram Link', 'designer-dresses'  ),
            'section'         => 'designer_dresses_footer_social_section',
            'settings'        => 'designer_dresses_footer_instagram_link',
            'type'      => 'url'
        )
    );

    // Add setting for Instagram Icon Changing
    $wp_customize->add_setting(
        'designer_dresses_instagram_icon',
        array(
            'default' => 'fa-brands fa-instagram',
            'sanitize_callback' => 'sanitize_text_field',
            'capability' => 'edit_theme_options',
            
        )
    );	

    $wp_customize->add_control(new Designer_Dresses_Changeable_Icon($wp_customize, 
        'designer_dresses_instagram_icon',
        array(
            'label'   		=> __('Instagram Icon','designer-dresses'),
            'section' 		=> 'designer_dresses_footer_social_section',
            'iconset' => 'fb',
        ))  
    );

    // Add setting for Linkedin Link
    $wp_customize->add_setting(
        'designer_dresses_footer_linkedin_link',
        array(
            'default'           => 'https://in.linkedin.com/',
            'sanitize_callback' => 'esc_url_raw',
        )
    );

    $wp_customize->add_control(
        'designer_dresses_footer_linkedin_link',
        array(
            'label'           => esc_html__( 'Linkedin Link', 'designer-dresses'  ),
            'section'         => 'designer_dresses_footer_social_section',
            'settings'        => 'designer_dresses_footer_linkedin_link',
            'type'      => 'url'
        )
    );

    // Add setting for Linkedin Icon Changing
    $wp_customize->add_setting(
        'designer_dresses_linkedin_icon',
        array(
            'default' => 'fa-brands fa-linkedin',
            'sanitize_callback' => 'sanitize_text_field',
            'capability' => 'edit_theme_options',
            
        )
    );	

    $wp_customize->add_control(new Designer_Dresses_Changeable_Icon($wp_customize, 
        'designer_dresses_linkedin_icon',
        array(
            'label'   		=> __('Linkedin Icon','designer-dresses'),
            'section' 		=> 'designer_dresses_footer_social_section',
            'iconset' => 'fb',
        ))  
    );

    // Add setting for Youtube Link
    $wp_customize->add_setting(
        'designer_dresses_footer_youtube_link',
        array(
            'default'           => 'https://www.youtube.com/',
            'sanitize_callback' => 'esc_url_raw',
        )
    );

    $wp_customize->add_control(
        'designer_dresses_footer_youtube_link',
        array(
            'label'           => esc_html__( 'Youtube Link', 'designer-dresses'  ),
            'section'         => 'designer_dresses_footer_social_section',
            'settings'        => 'designer_dresses_footer_youtube_link',
            'type'      => 'url'
        )
    );

    // Add setting for Youtube Icon Changing
    $wp_customize->add_setting(
        'designer_dresses_youtube_icon',
        array(
            'default' => 'fa-brands fa-youtube',
            'sanitize_callback' => 'sanitize_text_field',
            'capability' => 'edit_theme_options',
            
        )
    );	

    $wp_customize->add_control(new Designer_Dresses_Changeable_Icon($wp_customize, 
        'designer_dresses_youtube_icon',
        array(
            'label'   		=> __('Youtube Icon','designer-dresses'),
            'section' 		=> 'designer_dresses_footer_social_section',
            'iconset' => 'fb',
        ))  
    );

    // 404 PAGE SETTINGS
    $wp_customize->add_section(
        'designer_dresses_404_section',
        array(
            'title' => __( '404 Page Settings', 'designer-dresses' ),
            'priority' => 70,
            'panel' => 'designer_dresses_general_settings',
        )
    );
   
    $wp_customize->add_setting('404_page_image', array(
        'default' => '',
        'transport' => 'refresh',
        'sanitize_callback' => 'esc_url_raw', // Sanitize as URL
    ));

    $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, '404_page_image', array(
        'label' => __('404 Page Image', 'designer-dresses'),
        'section' => 'designer_dresses_404_section',
        'settings' => '404_page_image',
    )));

    $wp_customize->add_setting('404_pagefirst_header', array(
        'default' => __('404', 'designer-dresses'),
        'transport' => 'refresh',
        'sanitize_callback' => 'sanitize_text_field', // Sanitize as text field
    ));

    $wp_customize->add_control('404_pagefirst_header', array(
        'type' => 'text',
        'label' => __('Heading', 'designer-dresses'),
        'section' => 'designer_dresses_404_section',
    ));

    // Setting for 404 page header
    $wp_customize->add_setting('404_page_header', array(
        'default' => __('Sorry, that page can\'t be found!', 'designer-dresses'),
        'transport' => 'refresh',
        'sanitize_callback' => 'sanitize_text_field', // Sanitize as text field
    ));

    $wp_customize->add_control('404_page_header', array(
        'type' => 'text',
        'label' => __('Heading', 'designer-dresses'),
        'section' => 'designer_dresses_404_section',
    ));
}
add_action( 'customize_register', 'designer_dresses_customize_register' );
endif;

/**
 * Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
 */
function designer_dresses_customize_preview_js() {
    // Use minified libraries if SCRIPT_DEBUG is false
    $designer_dresses_build  = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '/build' : '';
    $designer_dresses_suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
	wp_enqueue_script( 'designer_dresses_customizer', get_template_directory_uri() . '/js' . $designer_dresses_build . '/customizer' . $designer_dresses_suffix . '.js', array( 'customize-preview' ), '20130508', true );
}
add_action( 'customize_preview_init', 'designer_dresses_customize_preview_js' );