<?php
/**
 * Skin Care Products Theme Customizer
 *
 * @link: https://developer.wordpress.org/themes/customize-api/customizer-objects/
 *
 * @package Skin Care Products
 */

if ( ! defined( 'SKIN_CARE_PRODUCTS_URL' ) ) {
    define( 'SKIN_CARE_PRODUCTS_URL', esc_url( 'https://www.themagnifico.net/products/skin-care-products-wordpress-theme', 'skin-care-products') );
}
if ( ! defined( 'SKIN_CARE_PRODUCTS_TEXT' ) ) {
    define( 'SKIN_CARE_PRODUCTS_TEXT', __( 'Skin Care Products Pro','skin-care-products' ));
}
if ( ! defined( 'SKIN_CARE_PRODUCTS_BUY_TEXT' ) ) {
    define( 'SKIN_CARE_PRODUCTS_BUY_TEXT', __( 'Buy Skin Care Products Pro','skin-care-products' ));
}

use WPTRT\Customize\Section\Skin_Care_Products_Button;

add_action( 'customize_register', function( $manager ) {

    $manager->register_section_type( Skin_Care_Products_Button::class );

    $manager->add_section(
        new Skin_Care_Products_Button( $manager, 'skin_care_products_pro', [
            'title'       => esc_html( SKIN_CARE_PRODUCTS_TEXT,'skin-care-products' ),
            'priority'    => 0,
            'button_text' => __( 'GET PREMIUM', 'skin-care-products' ),
            'button_url'  => esc_url( SKIN_CARE_PRODUCTS_URL )
        ] )
    );

} );

// Load the JS and CSS.
add_action( 'customize_controls_enqueue_scripts', function() {

    $version = wp_get_theme()->get( 'Version' );

    wp_enqueue_script(
        'skin-care-products-customize-section-button',
        get_theme_file_uri( 'vendor/wptrt/customize-section-button/public/js/customize-controls.js' ),
        [ 'customize-controls' ],
        $version,
        true
    );

    wp_enqueue_style(
        'skin-care-products-customize-section-button',
        get_theme_file_uri( 'vendor/wptrt/customize-section-button/public/css/customize-controls.css' ),
        [ 'customize-controls' ],
        $version
    );

} );

/**
 * Add postMessage support for site title and description for the Theme Customizer.
 *
 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
 */
function skin_care_products_customize_register($wp_customize){

    // Pro Version
    class Skin_Care_Products_Customize_Pro_Version extends WP_Customize_Control {
        public $type = 'pro_options';

        public function render_content() {
            echo '<span>For More <strong>'. esc_html( $this->label ) .'</strong>?</span>';
            echo '<a href="'. esc_url($this->description) .'" target="_blank">';
                echo '<span class="dashicons dashicons-info"></span>';
                echo '<strong> '. esc_html( SKIN_CARE_PRODUCTS_BUY_TEXT,'skin-care-products' ) .'<strong></a>';
            echo '</a>';
        }
    }

    // Custom Controls
    function Skin_Care_Products_sanitize_custom_control( $input ) {
        return $input;
    }

    $wp_customize->get_setting('blogname')->transport = 'postMessage';
    $wp_customize->get_setting('blogdescription')->transport = 'postMessage';

    $wp_customize->add_setting('skin_care_products_logo_title_text', array(
        'default' => true,
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control( new WP_Customize_Control($wp_customize,'skin_care_products_logo_title_text',array(
        'label'          => __( 'Enable Disable Title', 'skin-care-products' ),
        'section'        => 'title_tagline',
        'settings'       => 'skin_care_products_logo_title_text',
        'type'           => 'checkbox',
    )));

    $wp_customize->add_setting('skin_care_products_logo_title_font_size',array(
        'default'   => '',
        'sanitize_callback' => 'skin_care_products_sanitize_number_absint'
    ));
    $wp_customize->add_control('skin_care_products_logo_title_font_size',array(
        'label' => esc_html__('Title Font Size','skin-care-products'),
        'section' => 'title_tagline',
        'type'    => 'number'
    ));

    $wp_customize->add_setting('skin_care_products_theme_description', array(
        'default' => false,
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control( new WP_Customize_Control($wp_customize,'skin_care_products_theme_description',array(
        'label'          => __( 'Enable Disable Tagline', 'skin-care-products' ),
        'section'        => 'title_tagline',
        'settings'       => 'skin_care_products_theme_description',
        'type'           => 'checkbox',
    )));

    $wp_customize->add_setting('skin_care_products_logo_tagline_font_size',array(
        'default'   => '',
        'sanitize_callback' => 'skin_care_products_sanitize_number_absint'
    ));
    $wp_customize->add_control('skin_care_products_logo_tagline_font_size',array(
        'label' => esc_html__('Tagline Font Size','skin-care-products'),
        'section'   => 'title_tagline',
        'type'      => 'number'
    ));

    //Logo
    $wp_customize->add_setting('skin_care_products_logo_max_height',array(
        'default'   => '200',
        'sanitize_callback' => 'skin_care_products_sanitize_number_absint'
    ));
    $wp_customize->add_control('skin_care_products_logo_max_height',array(
        'label' => esc_html__('Logo Width','skin-care-products'),
        'section'   => 'title_tagline',
        'type'      => 'number'
    ));

    // Pro Version
    $wp_customize->add_setting( 'pro_version_logo', array(
        'sanitize_callback' => 'skin_care_products_sanitize_custom_control'
    ) );
    $wp_customize->add_control( new Skin_Care_Products_Customize_Pro_Version ( $wp_customize,
            'pro_version_logo', array(
                'section'     => 'title_tagline',
                'type'        => 'pro_options',
                'label'       => esc_html__( 'Customizer Options', 'skin-care-products' ),
                'description' => esc_url( SKIN_CARE_PRODUCTS_URL ),
                'priority'    => 100
            )
        )
    );

    // Global Color Settings
     $wp_customize->add_section('skin_care_products_global_color_settings',array(
        'title' => esc_html__('Global Settings','skin-care-products'),
        'priority'   => 28,
    ));

    $wp_customize->add_setting( 'skin_care_products_first_color', array(
        'default' => '#4E7661',
        'sanitize_callback' => 'sanitize_hex_color'
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'skin_care_products_first_color', array(
        'label' => __('Select Your First Color', 'skin-care-products'),
        'description' => __('Change the global color of the theme in one click.', 'skin-care-products'),
        'section' => 'skin_care_products_global_color_settings',
        'settings' => 'skin_care_products_first_color',
    )));

    //Typography option
    $skin_care_products_font_array = array(
        ''                       => 'No Fonts',
        'Abril Fatface'          => 'Abril Fatface',
        'Acme'                   => 'Acme',
        'Anton'                  => 'Anton',
        'Architects Daughter'    => 'Architects Daughter',
        'Arimo'                  => 'Arimo',
        'Arsenal'                => 'Arsenal',
        'Arvo'                   => 'Arvo',
        'Alegreya'               => 'Alegreya',
        'Alfa Slab One'          => 'Alfa Slab One',
        'Averia Serif Libre'     => 'Averia Serif Libre',
        'Bangers'                => 'Bangers',
        'Boogaloo'               => 'Boogaloo',
        'Bad Script'             => 'Bad Script',
        'Bitter'                 => 'Bitter',
        'Bree Serif'             => 'Bree Serif',
        'BenchNine'              => 'BenchNine',
        'Cabin'                  => 'Cabin',
        'Cardo'                  => 'Cardo',
        'Courgette'              => 'Courgette',
        'Cherry Swash'           => 'Cherry Swash',
        'Cormorant Garamond'     => 'Cormorant Garamond',
        'Crimson Text'           => 'Crimson Text',
        'Cuprum'                 => 'Cuprum',
        'Cookie'                 => 'Cookie',
        'Chewy'                  => 'Chewy',
        'Days One'               => 'Days One',
        'Dosis'                  => 'Dosis',
        'Droid Sans'             => 'Droid Sans',
        'Economica'              => 'Economica',
        'Fredoka One'            => 'Fredoka One',
        'Fjalla One'             => 'Fjalla One',
        'Francois One'           => 'Francois One',
        'Frank Ruhl Libre'       => 'Frank Ruhl Libre',
        'Gloria Hallelujah'      => 'Gloria Hallelujah',
        'Great Vibes'            => 'Great Vibes',
        'Handlee'                => 'Handlee',
        'Hammersmith One'        => 'Hammersmith One',
        'Inconsolata'            => 'Inconsolata',
        'Indie Flower'           => 'Indie Flower',
        'IM Fell English SC'     => 'IM Fell English SC',
        'Julius Sans One'        => 'Julius Sans One',
        'Josefin Slab'           => 'Josefin Slab',
        'Josefin Sans'           => 'Josefin Sans',
        'Kanit'                  => 'Kanit',
        'Lobster'                => 'Lobster',
        'Lato'                   => 'Lato',
        'Lora'                   => 'Lora',
        'Libre Baskerville'      => 'Libre Baskerville',
        'Lobster Two'            => 'Lobster Two',
        'Merriweather'           => 'Merriweather',
        'Monda'                  => 'Monda',
        'Montserrat'             => 'Montserrat',
        'Muli'                   => 'Muli',
        'Marck Script'           => 'Marck Script',
        'Noto Serif'             => 'Noto Serif',
        'Open Sans'              => 'Open Sans',
        'Overpass'               => 'Overpass',
        'Overpass Mono'          => 'Overpass Mono',
        'Oxygen'                 => 'Oxygen',
        'Orbitron'               => 'Orbitron',
        'Patua One'              => 'Patua One',
        'Pacifico'               => 'Pacifico',
        'Padauk'                 => 'Padauk',
        'Playball'               => 'Playball',
        'Playfair Display'       => 'Playfair Display',
        'PT Sans'                => 'PT Sans',
        'Philosopher'            => 'Philosopher',
        'Permanent Marker'       => 'Permanent Marker',
        'Poiret One'             => 'Poiret One',
        'Quicksand'              => 'Quicksand',
        'Quattrocento Sans'      => 'Quattrocento Sans',
        'Raleway'                => 'Raleway',
        'Rubik'                  => 'Rubik',
        'Roboto'                 => 'Roboto',
        'Rokkitt'                => 'Rokkitt',
        'Russo One'              => 'Russo One',
        'Righteous'              => 'Righteous',
        'Slabo'                  => 'Slabo',
        'Source Sans Pro'        => 'Source Sans Pro',
        'Shadows Into Light Two' => 'Shadows Into Light Two',
        'Shadows Into Light'     => 'Shadows Into Light',
        'Sacramento'             => 'Sacramento',
        'Shrikhand'              => 'Shrikhand',
        'Tangerine'              => 'Tangerine',
        'Ubuntu'                 => 'Ubuntu',
        'VT323'                  => 'VT323',
        'Varela Round'           => 'Varela Round',
        'Vampiro One'            => 'Vampiro One',
        'Vollkorn'               => 'Vollkorn',
        'Volkhov'                => 'Volkhov',
        'Yanone Kaffeesatz'      => 'Yanone Kaffeesatz'
    );

    // Heading Typography
    $wp_customize->add_setting( 'skin_care_products_heading_color', array(
        'default' => '',
        'sanitize_callback' => 'sanitize_hex_color'
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'skin_care_products_heading_color', array(
        'label' => __('Heading Color', 'skin-care-products'),
        'section' => 'skin_care_products_global_color_settings',
        'settings' => 'skin_care_products_heading_color',
    )));

    $wp_customize->add_setting('skin_care_products_heading_font_family', array(
        'default'           => '',
        'capability'        => 'edit_theme_options',
        'sanitize_callback' => 'skin_care_products_sanitize_choices',
    ));
    $wp_customize->add_control( 'skin_care_products_heading_font_family', array(
        'section' => 'skin_care_products_global_color_settings',
        'label'   => __('Heading Fonts', 'skin-care-products'),
        'type'    => 'select',
        'choices' => $skin_care_products_font_array,
    ));

    $wp_customize->add_setting('skin_care_products_heading_font_size',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_heading_font_size',array(
        'label' => esc_html__('Heading Font Size','skin-care-products'),
        'section' => 'skin_care_products_global_color_settings',
        'setting' => 'skin_care_products_heading_font_size',
        'type'  => 'text'
    ));

    // Paragraph Typography
    $wp_customize->add_setting( 'skin_care_products_paragraph_color', array(
        'default' => '',
        'sanitize_callback' => 'sanitize_hex_color'
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'skin_care_products_paragraph_color', array(
        'label' => __('Paragraph Color', 'skin-care-products'),
        'section' => 'skin_care_products_global_color_settings',
        'settings' => 'skin_care_products_paragraph_color',
    )));

    $wp_customize->add_setting('skin_care_products_paragraph_font_family', array(
        'default'           => '',
        'capability'        => 'edit_theme_options',
        'sanitize_callback' => 'skin_care_products_sanitize_choices',
    ));
    $wp_customize->add_control( 'skin_care_products_paragraph_font_family', array(
        'section' => 'skin_care_products_global_color_settings',
        'label'   => __('Paragraph Fonts', 'skin-care-products'),
        'type'    => 'select',
        'choices' => $skin_care_products_font_array,
    ));

    $wp_customize->add_setting('skin_care_products_paragraph_font_size',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_paragraph_font_size',array(
        'label' => esc_html__('Paragraph Font Size','skin-care-products'),
        'section' => 'skin_care_products_global_color_settings',
        'setting' => 'skin_care_products_paragraph_font_size',
        'type'  => 'text'
    ));

    // Pro Version
    $wp_customize->add_setting( 'pro_version_global_color_settings', array(
        'sanitize_callback' => 'skin_care_products_sanitize_custom_control'
    ) );
    $wp_customize->add_control( new Skin_Care_Products_Customize_Pro_Version ( $wp_customize,
            'pro_version_global_color_settings', array(
                'section'     => 'skin_care_products_global_color_settings',
                'type'        => 'pro_options',
                'label'       => esc_html__( 'Customizer Options', 'skin-care-products' ),
                'description' => esc_url( SKIN_CARE_PRODUCTS_URL ),
                'priority'    => 100
            )
        )
    );

    // Post Layouts Settings
    $wp_customize->add_section('skin_care_products_post_layouts_settings',array(
        'title' => esc_html__('Post Layouts Settings','skin-care-products'),
        'priority'   => 30,
    ));

    $wp_customize->add_setting('skin_care_products_post_layout',array(
        'default' => 'pattern_two_column_right',
        'sanitize_callback' => 'skin_care_products_sanitize_choices'
    ));
    $wp_customize->add_control(new Skin_Care_Products_Image_Radio_Control($wp_customize, 'skin_care_products_post_layout', array(
        'type' => 'select',
        'label' => __('Blog Post Layouts','skin-care-products'),
        'section' => 'skin_care_products_post_layouts_settings',
        'choices' => array(
            'pattern_one_column' => esc_url(get_template_directory_uri()).'/assets/img/1column.png',
            'pattern_two_column_right' => esc_url(get_template_directory_uri()).'/assets/img/right-sidebar.png',
            'pattern_two_column_left' => esc_url(get_template_directory_uri()).'/assets/img/left-sidebar.png',
            'pattern_three_column' => esc_url(get_template_directory_uri()).'/assets/img/3column.png',
            'pattern_four_column' => esc_url(get_template_directory_uri()).'/assets/img/4column.png',
            'pattern_grid_post' => esc_url(get_template_directory_uri()).'/assets/img/grid.png',
        ))
    ));

    // Pro Version
    $wp_customize->add_setting( 'pro_version_post_layouts_settings', array(
        'sanitize_callback' => 'skin_care_products_sanitize_custom_control'
    ) );
    $wp_customize->add_control( new Skin_Care_Products_Customize_Pro_Version ( $wp_customize,
            'pro_version_post_layouts_settings', array(
                'section'     => 'skin_care_products_post_layouts_settings',
                'type'        => 'pro_options',
                'label'       => esc_html__( 'Customizer Options', 'skin-care-products' ),
                'description' => esc_url( SKIN_CARE_PRODUCTS_URL ),
                'priority'    => 100
            )
        )
    );

    // General Settings
     $wp_customize->add_section('skin_care_products_general_settings',array(
        'title' => esc_html__('General Settings','skin-care-products'),
        'priority'   => 30,
    ));

     $wp_customize->add_setting('skin_care_products_width_option',array(
        'default' => 'Full Width',
        'transport' => 'refresh',
        'sanitize_callback' => 'skin_care_products_sanitize_choices'
    ));
    $wp_customize->add_control('skin_care_products_width_option',array(
        'type' => 'select',
        'section' => 'skin_care_products_general_settings',
        'choices' => array(
            'Full Width' => __('Full Width','skin-care-products'),
            'Wide Width' => __('Wide Width','skin-care-products'),
            'Boxed Width' => __('Boxed Width','skin-care-products')
        ),
    ) );

    $wp_customize->add_setting('skin_care_products_preloader_hide', array(
        'default' => 0,
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control( new WP_Customize_Control($wp_customize,'skin_care_products_preloader_hide',array(
        'label'          => __( 'Show Theme Preloader', 'skin-care-products' ),
        'section'        => 'skin_care_products_general_settings',
        'settings'       => 'skin_care_products_preloader_hide',
        'type'           => 'checkbox',
    )));

    $wp_customize->add_setting('skin_care_products_preloader_type',array(
        'default' => 'Preloader 1',
        'sanitize_callback' => 'skin_care_products_sanitize_choices'
    ));
    $wp_customize->add_control('skin_care_products_preloader_type',array(
        'type' => 'radio',
        'label' => esc_html__('Preloader Type','skin-care-products'),
        'section' => 'skin_care_products_general_settings',
        'choices' => array(
            'Preloader 1' => __('Preloader 1','skin-care-products'),
            'Preloader 2' => __('Preloader 2','skin-care-products'),
        ),
    ) );

    $wp_customize->add_setting( 'skin_care_products_preloader_bg_color', array(
        'default' => '',
        'sanitize_callback' => 'sanitize_hex_color'
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'skin_care_products_preloader_bg_color', array(
        'label' => esc_html__('Preloader Background Color','skin-care-products'),
        'section' => 'skin_care_products_general_settings',
        'settings' => 'skin_care_products_preloader_bg_color'
    )));

    $wp_customize->add_setting( 'skin_care_products_preloader_dot_1_color', array(
        'default' => '#ffffff',
        'sanitize_callback' => 'sanitize_hex_color'
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'skin_care_products_preloader_dot_1_color', array(
        'label' => esc_html__('Preloader First Dot Color','skin-care-products'),
        'section' => 'skin_care_products_general_settings',
        'settings' => 'skin_care_products_preloader_dot_1_color',
        'active_callback' => 'skin_care_products_preloader1'
    )));

    $wp_customize->add_setting( 'skin_care_products_preloader_dot_2_color', array(
        'default' => '#222222',
        'sanitize_callback' => 'sanitize_hex_color'
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'skin_care_products_preloader_dot_2_color', array(
        'label' => esc_html__('Preloader Second Dot Color','skin-care-products'),
        'section' => 'skin_care_products_general_settings',
        'settings' => 'skin_care_products_preloader_dot_2_color',
        'active_callback' => 'skin_care_products_preloader1'
    )));

    $wp_customize->add_setting( 'skin_care_products_preloader2_dot_color', array(
        'default' => '#4E7661',
        'sanitize_callback' => 'sanitize_hex_color'
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'skin_care_products_preloader2_dot_color', array(
        'label' => esc_html__('Preloader Dot Color','skin-care-products'),
        'section' => 'skin_care_products_general_settings',
        'settings' => 'skin_care_products_preloader2_dot_color',
        'active_callback' => 'skin_care_products_preloader2'
    )));

    $wp_customize->add_setting('skin_care_products_sticky_header', array(
      'default' => false,
      'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control( new WP_Customize_Control($wp_customize,'skin_care_products_sticky_header',array(
          'label'          => __( 'Show Sticky Header', 'skin-care-products' ),
          'section'        => 'skin_care_products_general_settings',
          'settings'       => 'skin_care_products_sticky_header',
          'type'           => 'checkbox',
    )));

    $wp_customize->add_setting('skin_care_products_scroll_hide', array(
        'default' => true,
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control( new WP_Customize_Control($wp_customize,'skin_care_products_scroll_hide',array(
        'label'          => __( 'Show Theme Scroll To Top', 'skin-care-products' ),
        'section'        => 'skin_care_products_general_settings',
        'settings'       => 'skin_care_products_scroll_hide',
        'type'           => 'checkbox',
    )));

    $wp_customize->add_setting('skin_care_products_scroll_top_position',array(
        'default' => 'Right',
        'sanitize_callback' => 'skin_care_products_sanitize_choices'
    ));
    $wp_customize->add_control('skin_care_products_scroll_top_position',array(
        'type' => 'radio',
        'section' => 'skin_care_products_general_settings',
        'choices' => array(
            'Right' => __('Right','skin-care-products'),
            'Left' => __('Left','skin-care-products'),
            'Center' => __('Center','skin-care-products')
        ),
    ) );

    $wp_customize->add_setting( 'skin_care_products_scroll_bg_color', array(
        'default' => '',
        'sanitize_callback' => 'sanitize_hex_color'
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'skin_care_products_scroll_bg_color', array(
        'label' => esc_html__('Scroll Top Background Color','skin-care-products'),
        'section' => 'skin_care_products_general_settings',
        'settings' => 'skin_care_products_scroll_bg_color'
    )));

    $wp_customize->add_setting( 'skin_care_products_scroll_color', array(
        'default' => '',
        'sanitize_callback' => 'sanitize_hex_color'
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'skin_care_products_scroll_color', array(
        'label' => esc_html__('Scroll Top Color','skin-care-products'),
        'section' => 'skin_care_products_general_settings',
        'settings' => 'skin_care_products_scroll_color'
    )));

    $wp_customize->add_setting('skin_care_products_scroll_font_size',array(
        'default'   => '16',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_scroll_font_size',array(
        'label' => __('Scroll Top Font Size','skin-care-products'),
        'description' => __('Put in px','skin-care-products'),
        'section'   => 'skin_care_products_general_settings',
        'type'      => 'number'
    ));

    $wp_customize->add_setting('skin_care_products_scroll_border_radius',array(
        'default'   => '0',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_scroll_border_radius',array(
        'label' => __('Scroll Top Border Radius','skin-care-products'),
        'description' => __('Put in %','skin-care-products'),
        'section'   => 'skin_care_products_general_settings',
        'type'      => 'number'
    ));

    // Product Columns
    $wp_customize->add_setting( 'skin_care_products_products_per_row' , array(
       'default'           => '3',
       'transport'         => 'refresh',
       'sanitize_callback' => 'skin_care_products_sanitize_select',
    ) );

    $wp_customize->add_control('skin_care_products_products_per_row', array(
       'label' => __( 'Product per row', 'skin-care-products' ),
       'section'  => 'skin_care_products_general_settings',
       'type'     => 'select',
       'choices'  => array(
           '2' => '2',
           '3' => '3',
           '4' => '4',
       ),
    ) );

    $wp_customize->add_setting('skin_care_products_product_per_page',array(
        'default'   => '9',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_product_per_page',array(
        'label' => __('Product per page','skin-care-products'),
        'section'   => 'skin_care_products_general_settings',
        'type'      => 'number'
    ));

    // Product Columns
    $wp_customize->add_setting('custom_related_products_number_per_row',array(
        'default'           => '3',
        'transport'         => 'refresh',
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control('custom_related_products_number_per_row',array(
        'label'       => esc_html__('Related Products Column Count', 'skin-care-products'),
        'section'     => 'skin_care_products_general_settings',
        'type'        => 'number',
        'input_attrs' => array(
            'step' => 1,
            'min'  => 1,
            'max'  => 4,
        ),
    ));

    // Product Columns
    $wp_customize->add_setting('custom_related_products_number',array(
        'default'           => '3',
        'transport'         => 'refresh',
        'sanitize_callback' => 'sanitize_text_field',
    ));

    $wp_customize->add_control('custom_related_products_number',array(
        'label'       => esc_html__('Number of Related Products Per Page', 'skin-care-products'),
        'section'     => 'skin_care_products_general_settings',
        'type'        => 'number',
        'input_attrs' => array(
            'step' => 1,
            'min'  => 1,
            'max'  => 10,
        ),
    ));

    $wp_customize->add_setting('skin_care_products_related_product_display_setting', array(
        'default' => true,
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control( new WP_Customize_Control($wp_customize,'skin_care_products_related_product_display_setting',array(
        'label'          => __( 'Show Related Products', 'skin-care-products' ),
        'section'        => 'skin_care_products_general_settings',
        'settings'       => 'skin_care_products_related_product_display_setting',
        'type'           => 'checkbox',
    )));

    //Woocommerce shop page Sidebar
    $wp_customize->add_setting('skin_care_products_woocommerce_shop_page_sidebar', array(
        'default' => true,
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control( new WP_Customize_Control($wp_customize,'skin_care_products_woocommerce_shop_page_sidebar',array(
        'label'          => __( 'Hide Shop Page Sidebar', 'skin-care-products' ),
        'section'        => 'skin_care_products_general_settings',
        'settings'       => 'skin_care_products_woocommerce_shop_page_sidebar',
        'type'           => 'checkbox',
    )));

    $wp_customize->add_setting('skin_care_products_shop_page_sidebar_layout',array(
        'default' => 'Right Sidebar',
        'sanitize_callback' => 'skin_care_products_sanitize_choices'
    ));
    $wp_customize->add_control('skin_care_products_shop_page_sidebar_layout',array(
        'type' => 'select',
        'label' => __('Woocommerce Shop Page Sidebar','skin-care-products'),
        'section' => 'skin_care_products_general_settings',
        'choices' => array(
            'Left Sidebar' => __('Left Sidebar','skin-care-products'),
            'Right Sidebar' => __('Right Sidebar','skin-care-products'),
        ),
    ) );

    //Woocommerce Single Product page Sidebar
    $wp_customize->add_setting('skin_care_products_woocommerce_single_product_page_sidebar', array(
        'default' => true,
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control( new WP_Customize_Control($wp_customize,'skin_care_products_woocommerce_single_product_page_sidebar',array(
        'label'          => __( 'Hide Single Product Page Sidebar', 'skin-care-products' ),
        'section'        => 'skin_care_products_general_settings',
        'settings'       => 'skin_care_products_woocommerce_single_product_page_sidebar',
        'type'           => 'checkbox',
    )));

    $wp_customize->add_setting('skin_care_products_single_product_sidebar_layout',array(
        'default' => 'Right Sidebar',
        'sanitize_callback' => 'skin_care_products_sanitize_choices'
    ));
    $wp_customize->add_control('skin_care_products_single_product_sidebar_layout',array(
        'type' => 'select',
        'label' => __('Woocommerce Single Product Page Sidebar','skin-care-products'),
        'section' => 'skin_care_products_general_settings',
        'choices' => array(
            'Left Sidebar' => __('Left Sidebar','skin-care-products'),
            'Right Sidebar' => __('Right Sidebar','skin-care-products'),
        ),
    ) );

    // Pro Version
    $wp_customize->add_setting( 'pro_version_general_settings', array(
        'sanitize_callback' => 'skin_care_products_sanitize_custom_control'
    ) );
    $wp_customize->add_control( new Skin_Care_Products_Customize_Pro_Version ( $wp_customize,
            'pro_version_general_settings', array(
                'section'     => 'skin_care_products_general_settings',
                'type'        => 'pro_options',
                'label'       => esc_html__( 'Customizer Options', 'skin-care-products' ),
                'description' => esc_url( SKIN_CARE_PRODUCTS_URL ),
                'priority'    => 100
            )
        )
    );

    //404 Page Settings
    $wp_customize->add_section('skin_care_products_404_page_settings',array(
        'title' => esc_html__(' 404 Page Settings','skin-care-products')
    ));

    $wp_customize->add_setting('skin_care_products_404_page_main_heading',array(
        'default'           => __( 'Oops! Page Not Found', 'skin-care-products' ),
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_404_page_main_heading',array(
        'label' => esc_html__('404 Main Heading','skin-care-products'),
        'section' => 'skin_care_products_404_page_settings',
        'setting' => 'skin_care_products_404_page_main_heading',
        'type'  => 'text'
    ));

    $wp_customize->add_setting('skin_care_products_404_page_content_1',array(
        'default'           => __( 'We can’t seem to find the page you’re looking for.', 'skin-care-products' ),
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_404_page_content_1',array(
        'label' => esc_html__('404 Main Content 1','skin-care-products'),
        'section' => 'skin_care_products_404_page_settings',
        'setting' => 'skin_care_products_404_page_content_1',
        'type'  => 'text'
    ));

    $wp_customize->add_setting('skin_care_products_404_page_text_1',array(
        'default'           => __( 'It looks like nothing was found at this location.', 'skin-care-products' ),
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_404_page_text_1',array(
        'label' => esc_html__('404 Text 1','skin-care-products'),
        'section' => 'skin_care_products_404_page_settings',
        'setting' => 'skin_care_products_404_page_text_1',
        'type'  => 'text'
    ));

    $wp_customize->add_setting('skin_care_products_404_page_content_2',array(
        'default'           => __( 'Need Help?', 'skin-care-products' ),
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_404_page_content_2',array(
        'label' => esc_html__('404 Main Content 2','skin-care-products'),
        'section' => 'skin_care_products_404_page_settings',
        'setting' => 'skin_care_products_404_page_content_2',
        'type'  => 'text'
    ));

    $wp_customize->add_setting('skin_care_products_404_page_text_2',array(
        'default'           => __( 'Try searching for what you need below.', 'skin-care-products' ),
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_404_page_text_2',array(
        'label' => esc_html__('404 Text 2','skin-care-products'),
        'section' => 'skin_care_products_404_page_settings',
        'setting' => 'skin_care_products_404_page_text_2',
        'type'  => 'text'
    ));

    // Pro Version
    $wp_customize->add_setting( 'pro_version_404_page_settings', array(
        'sanitize_callback' => 'skin_care_products_sanitize_custom_control'
    ) );
    $wp_customize->add_control( new Skin_Care_Products_Customize_Pro_Version ( $wp_customize,
            'pro_version_404_page_settings', array(
                'section'     => 'skin_care_products_404_page_settings',
                'type'        => 'pro_options',
                'label'       => esc_html__( 'Customizer Options', 'skin-care-products' ),
                'description' => esc_url( SKIN_CARE_PRODUCTS_URL ),
                'priority'    => 100
            )
        )
    );

     // Social Link
    $wp_customize->add_section('skin_care_products_social_link',array(
        'title' => esc_html__('Social Links','skin-care-products'),
    ));

    $wp_customize->add_setting('skin_care_products_facebook_icon',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_facebook_icon',array(
        'label' => esc_html__('Facebook Icon','skin-care-products'),
        'section' => 'skin_care_products_social_link',
        'setting' => 'skin_care_products_facebook_icon',
        'type'  => 'text',
        'default' => 'fab fa-facebook-f',
        'description' =>  __('Select font awesome icons <a target="_blank" href="https://fontawesome.com/v5/search?m=free">Click Here</a> for select icon. for eg:-fab fa-facebook-f','skin-care-products')
    ));

    $wp_customize->add_setting('skin_care_products_facebook_url',array(
        'default' => '',
        'sanitize_callback' => 'esc_url_raw'
    ));
    $wp_customize->add_control('skin_care_products_facebook_url',array(
        'label' => esc_html__('Facebook Link','skin-care-products'),
        'section' => 'skin_care_products_social_link',
        'setting' => 'skin_care_products_facebook_url',
        'type'  => 'url'
    ));

    $wp_customize->add_setting('skin_care_products_twitter_icon',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_twitter_icon',array(
        'label' => esc_html__('Twitter Icon','skin-care-products'),
        'section' => 'skin_care_products_social_link',
        'setting' => 'skin_care_products_twitter_icon',
        'type'  => 'text',
        'default' => 'fab fa-twitter',
        'description' =>  __('Select font awesome icons <a target="_blank" href="https://fontawesome.com/v5/search?m=free">Click Here</a> for select icon. for eg:-fab fa-twitter','skin-care-products')
    ));

    $wp_customize->add_setting('skin_care_products_twitter_url',array(
        'default' => '',
        'sanitize_callback' => 'esc_url_raw'
    ));
    $wp_customize->add_control('skin_care_products_twitter_url',array(
        'label' => esc_html__('Twitter Link','skin-care-products'),
        'section' => 'skin_care_products_social_link',
        'setting' => 'skin_care_products_twitter_url',
        'type'  => 'url'
    ));

    $wp_customize->add_setting('skin_care_products_intagram_icon',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_intagram_icon',array(
        'label' => esc_html__('Intagram Icon','skin-care-products'),
        'section' => 'skin_care_products_social_link',
        'setting' => 'skin_care_products_intagram_icon',
        'type'  => 'text',
        'default' => 'fab fa-instagram',
        'description' =>  __('Select font awesome icons <a target="_blank" href="https://fontawesome.com/v5/search?m=free">Click Here</a> for select icon. for eg:-fab fa-instagram','skin-care-products')
    ));

    $wp_customize->add_setting('skin_care_products_intagram_url',array(
        'default' => '',
        'sanitize_callback' => 'esc_url_raw'
    ));
    $wp_customize->add_control('skin_care_products_intagram_url',array(
        'label' => esc_html__('Intagram Link','skin-care-products'),
        'section' => 'skin_care_products_social_link',
        'setting' => 'skin_care_products_intagram_url',
        'type'  => 'url'
    ));

    $wp_customize->add_setting('skin_care_products_linkedin_icon',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_linkedin_icon',array(
        'label' => esc_html__('Linkedin Icon','skin-care-products'),
        'section' => 'skin_care_products_social_link',
        'setting' => 'skin_care_products_linkedin_icon',
        'type'  => 'text',
        'default' => 'fab fa-linkedin-in',
        'description' =>  __('Select font awesome icons <a target="_blank" href="https://fontawesome.com/v5/search?m=free">Click Here</a> for select icon. for eg:-fab fa-linkedin-in','skin-care-products')
    ));

    $wp_customize->add_setting('skin_care_products_linkedin_url',array(
        'default' => '',
        'sanitize_callback' => 'esc_url_raw'
    ));
    $wp_customize->add_control('skin_care_products_linkedin_url',array(
        'label' => esc_html__('Linkedin Link','skin-care-products'),
        'section' => 'skin_care_products_social_link',
        'setting' => 'skin_care_products_linkedin_url',
        'type'  => 'url'
    ));

    $wp_customize->add_setting('skin_care_products_pintrest_icon',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_pintrest_icon',array(
        'label' => esc_html__('Pinterest Icon','skin-care-products'),
        'section' => 'skin_care_products_social_link',
        'setting' => 'skin_care_products_pintrest_icon',
        'type'  => 'text',
        'default' => 'fab fa-pinterest-p',
        'description' =>  __('Select font awesome icons <a target="_blank" href="https://fontawesome.com/v5/search?m=free">Click Here</a> for select icon. for eg:-fab fa-pinterest-p','skin-care-products')
    ));

    $wp_customize->add_setting('skin_care_products_pintrest_url',array(
        'default' => '',
        'sanitize_callback' => 'esc_url_raw'
    ));
    $wp_customize->add_control('skin_care_products_pintrest_url',array(
        'label' => esc_html__('Pinterest Link','skin-care-products'),
        'section' => 'skin_care_products_social_link',
        'setting' => 'skin_care_products_pintrest_url',
        'type'  => 'url'
    ));

    // Pro Version
    $wp_customize->add_setting( 'pro_version_social_link', array(
        'sanitize_callback' => 'skin_care_products_sanitize_custom_control'
    ) );
    $wp_customize->add_control( new Skin_Care_Products_Customize_Pro_Version ( $wp_customize,
            'pro_version_social_link', array(
                'section'     => 'skin_care_products_social_link',
                'type'        => 'pro_options',
                'label'       => esc_html__( 'Customizer Options', 'skin-care-products' ),
                'description' => esc_url( SKIN_CARE_PRODUCTS_URL ),
                'priority'    => 100
            )
        )
    );

    //Top Header
    $wp_customize->add_section('skin_care_products_top_header',array(
        'title' => esc_html__('Top Header Option','skin-care-products')
    ));

    $wp_customize->add_setting('skin_care_products_topbar_text',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_topbar_text',array(
        'label' => esc_html__('Topbar Text','skin-care-products'),
        'section' => 'skin_care_products_top_header',
        'setting' => 'skin_care_products_topbar_text',
        'type'  => 'text'
    ));

    $wp_customize->add_setting('skin_care_products_topbar_phone_number',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_topbar_phone_number',array(
        'label' => esc_html__('Phone Number','skin-care-products'),
        'section' => 'skin_care_products_top_header',
        'setting' => 'skin_care_products_topbar_phone_number',
        'type'  => 'text'
    ));

    $wp_customize->add_setting('skin_care_products_header_search_setting', array(
        'default' => false,
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control( new WP_Customize_Control($wp_customize,'skin_care_products_header_search_setting',array(
        'label'          => __( 'Show Header Search Icon', 'skin-care-products' ),
        'section'        => 'skin_care_products_top_header',
        'settings'       => 'skin_care_products_header_search_setting',
        'type'           => 'checkbox',
    )));

    $wp_customize->add_setting('skin_care_products_topbar1_wishlist_url',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_topbar1_wishlist_url',array(
        'label' => esc_html__('Wishlist Url','skin-care-products'),
        'section' => 'skin_care_products_top_header',
        'setting' => 'skin_care_products_topbar1_wishlist_url',
        'type'  => 'url'
    ));

    // Pro Version
    $wp_customize->add_setting( 'pro_version_top_header', array(
        'sanitize_callback' => 'skin_care_products_sanitize_custom_control'
    ) );
    $wp_customize->add_control( new Skin_Care_Products_Customize_Pro_Version ( $wp_customize,
            'pro_version_top_header', array(
                'section'     => 'skin_care_products_top_header',
                'type'        => 'pro_options',
                'label'       => esc_html__( 'Customizer Options', 'skin-care-products' ),
                'description' => esc_url( SKIN_CARE_PRODUCTS_URL ),
                'priority'    => 100
            )
        )
    );

    //Menu Settings
    $wp_customize->add_section('skin_care_products_menu_settings',array(
        'title' => esc_html__('Menus Settings','skin-care-products'),
    ));

    $wp_customize->add_setting('skin_care_products_menu_font_size',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_menu_font_size',array(
        'label' => esc_html__('Menu Font Size','skin-care-products'),
        'section' => 'skin_care_products_menu_settings',
        'type'  => 'number'
    ));

    $wp_customize->add_setting('skin_care_products_nav_menu_text_transform',array(
        'default'=> 'Capitalize',
        'sanitize_callback' => 'skin_care_products_sanitize_choices'
    ));
    $wp_customize->add_control('skin_care_products_nav_menu_text_transform',array(
        'type' => 'radio',
        'label' => esc_html__('Menu Text Transform','skin-care-products'),
        'choices' => array(
            'Uppercase' => __('Uppercase','skin-care-products'),
            'Capitalize' => __('Capitalize','skin-care-products'),
            'Lowercase' => __('Lowercase','skin-care-products'),
        ),
        'section'=> 'skin_care_products_menu_settings',
    ));

    $wp_customize->add_setting('skin_care_products_nav_menu_font_weight',array(
        'default'=> '500',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_nav_menu_font_weight',array(
        'type' => 'number',
        'label' => esc_html__('Menu Font Weight','skin-care-products'),
        'input_attrs' => array(
            'step'             => 100,
            'min'              => 100,
            'max'              => 1000,
        ),
        'section'=> 'skin_care_products_menu_settings',
    ));

    // Pro Version
    $wp_customize->add_setting( 'pro_version_menu_settings', array(
        'sanitize_callback' => 'skin_care_products_sanitize_custom_control'
    ) );
    $wp_customize->add_control( new Skin_Care_Products_Customize_Pro_Version ( $wp_customize,
            'pro_version_menu_settings', array(
                'section'     => 'skin_care_products_menu_settings',
                'type'        => 'pro_options',
                'label'       => esc_html__( 'Customizer Options', 'skin-care-products' ),
                'description' => esc_url( SKIN_CARE_PRODUCTS_URL ),
                'priority'    => 100
            )
        )
    );

    //Slider
    $wp_customize->add_section('skin_care_products_top_slider',array(
        'title' => esc_html__('Slider Settings','skin-care-products'),
    ));

    $wp_customize->add_setting('skin_care_products_slider_section_setting', array(
        'default' => true,
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control( new WP_Customize_Control($wp_customize,'skin_care_products_slider_section_setting',array(
        'label'          => __( 'Show Header Slider', 'skin-care-products' ),
        'section'        => 'skin_care_products_top_slider',
        'settings'       => 'skin_care_products_slider_section_setting',
        'type'           => 'checkbox',
    )));

    for ( $skin_care_products_count = 1; $skin_care_products_count <= 3; $skin_care_products_count++ ) {

        $wp_customize->add_setting( 'skin_care_products_top_slider_page' . $skin_care_products_count, array(
            'default'           => '',
            'sanitize_callback' => 'skin_care_products_sanitize_dropdown_pages'
        ) );
        $wp_customize->add_control( 'skin_care_products_top_slider_page' . $skin_care_products_count, array(
            'label'    => __( 'Select Slide Page', 'skin-care-products' ),
            'description' => __('Slider image size (1400 x 550)','skin-care-products'),
            'section'  => 'skin_care_products_top_slider',
            'type'     => 'dropdown-pages'
        ) );
    }

    $wp_customize->add_setting('skin_care_products_slider_short_heading',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_slider_short_heading',array(
        'label' => esc_html__('Short Heading','skin-care-products'),
        'section' => 'skin_care_products_top_slider',
        'setting' => 'skin_care_products_slider_short_heading',
        'type'  => 'text'
    ));

    $wp_customize->add_setting('skin_care_products_slider_opacity_setting', array(
        'default' => false,
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control( new WP_Customize_Control($wp_customize,'skin_care_products_slider_opacity_setting',array(
        'label'    => __( 'Show Image Opacity', 'skin-care-products' ),
        'section'  => 'skin_care_products_top_slider',
        'type'     => 'checkbox',
    )));

    $wp_customize->add_setting( 'skin_care_products_image_opacity_color', array(
        'default' => '',
        'sanitize_callback' => 'sanitize_hex_color'
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'skin_care_products_image_opacity_color', array(
        'label' => __('Slider Image Opacity Color', 'skin-care-products'),
        'section' => 'skin_care_products_top_slider',
        'settings' => 'skin_care_products_image_opacity_color',
    )));

    $wp_customize->add_setting('skin_care_products_slider_opacity',array(
        'default'=> '0.7',
        'sanitize_callback' => 'skin_care_products_sanitize_choices'
    ));
    $wp_customize->add_control('skin_care_products_slider_opacity',array(
        'type' => 'select',
        'label' => esc_html__('Slider Image Opacity','skin-care-products'),
        'choices' => array(
            '0'   => '0',
            '0.1' => '0.1',
            '0.2' => '0.2',
            '0.3' => '0.3',
            '0.4' => '0.4',
            '0.5' => '0.5',
            '0.6' => '0.6',
            '0.7' => '0.7',
            '0.8' => '0.8',
            '0.9' => '0.9',
            '1'   => '1',
        ),
        'section'=> 'skin_care_products_top_slider',
    ));

    $wp_customize->add_setting('skin_care_products_slider_content_layout',array(
        'default'=> 'Left',
        'sanitize_callback' => 'skin_care_products_sanitize_choices'
    ));
    $wp_customize->add_control('skin_care_products_slider_content_layout',array(
        'type' => 'radio',
        'label' => esc_html__('Slider Content Layout','skin-care-products'),
        'choices' => array(
            'Left' => __('Left','skin-care-products'),
            'Center' => __('Center','skin-care-products'),
            'Right' => __('Right','skin-care-products'),
        ),
        'section'=> 'skin_care_products_top_slider',
    ));

    $wp_customize->add_setting('skin_care_products_slider_excerpt_length',array(
        'sanitize_callback' => 'skin_care_products_sanitize_number_range',
        'default'  => 15,
    ));
    $wp_customize->add_control('skin_care_products_slider_excerpt_length',array(
        'label'       => esc_html__('Slider Excerpt Length', 'skin-care-products'),
        'section'     => 'skin_care_products_top_slider',
        'type'        => 'range',
        'input_attrs' => array(
            'step' => 1,
            'min'  => 1,
            'max'  => 100,
        ),
    ));

    // Pro Version
    $wp_customize->add_setting( 'pro_version_top_slider', array(
        'sanitize_callback' => 'skin_care_products_sanitize_custom_control'
    ) );
    $wp_customize->add_control( new Skin_Care_Products_Customize_Pro_Version ( $wp_customize,
            'pro_version_top_slider', array(
                'section'     => 'skin_care_products_top_slider',
                'type'        => 'pro_options',
                'label'       => esc_html__( 'Customizer Options', 'skin-care-products' ),
                'description' => esc_url( SKIN_CARE_PRODUCTS_URL ),
                'priority'    => 100
            )
        )
    );

    // Products
    $wp_customize->add_section('skin_care_products_services_section',array(
        'title' => esc_html__('Products Option','skin-care-products'),
    ));

    $wp_customize->add_setting('skin_care_products_activities_section_setting', array(
        'default' => true,
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control( new WP_Customize_Control($wp_customize,'skin_care_products_activities_section_setting',array(
        'label'          => __( 'Show Header Products', 'skin-care-products' ),
        'section'        => 'skin_care_products_services_section',
        'settings'       => 'skin_care_products_activities_section_setting',
        'type'           => 'checkbox',
    )));

    $wp_customize->add_setting('skin_care_products_services_short_heading',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_services_short_heading',array(
        'label' => esc_html__('Short Heading','skin-care-products'),
        'section' => 'skin_care_products_services_section',
        'setting' => 'skin_care_products_services_short_heading',
        'type'  => 'text'
    ));

    $wp_customize->add_setting('skin_care_products_services_heading',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_services_heading',array(
        'label' => esc_html__('Heading','skin-care-products'),
        'section' => 'skin_care_products_services_section',
        'setting' => 'skin_care_products_services_heading',
        'type'  => 'text'
    ));

    $wp_customize->add_setting('skin_care_products_services_content',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_services_content',array(
        'label' => esc_html__('Content','skin-care-products'),
        'section' => 'skin_care_products_services_section',
        'setting' => 'skin_care_products_services_content',
        'type'  => 'text'
    ));

    $wp_customize->add_setting('skin_care_products_clock_timer_end',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_clock_timer_end',array(
        'description' => esc_html__('Timer obtains the time and date of the moment. You simply need to include the expiration date. To include the date, please use the format below. "Month date year hours,minutes,seconds" for instance 12 May 2025','skin-care-products'),
        'label' => esc_html__('Timer','skin-care-products'),
        'section' => 'skin_care_products_services_section',
        'setting' => 'skin_care_products_clock_timer_end',
        'type'  => 'text'
    ));

    $wp_customize->add_setting('skin_care_products_product_btn_text',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_product_btn_text',array(
        'label' => esc_html__('Button Text','skin-care-products'),
        'section' => 'skin_care_products_services_section',
        'setting' => 'skin_care_products_product_btn_text',
        'type'  => 'text'
    ));

    $wp_customize->add_setting('skin_care_products_product_btn_url',array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ));
    $wp_customize->add_control('skin_care_products_product_btn_url',array(
        'label' => esc_html__('Button Url','skin-care-products'),
        'section' => 'skin_care_products_services_section',
        'setting' => 'skin_care_products_product_btn_url',
        'type'  => 'url'
    ));

    if(class_exists('woocommerce')){
        
        $skin_care_products_args = array(
           'type'                     => 'product',
            'child_of'                 => 0,
            'parent'                   => '',
            'orderby'                  => 'term_group',
            'order'                    => 'ASC',
            'hide_empty'               => false,
            'hierarchical'             => 1,
            'number'                   => '',
            'taxonomy'                 => 'product_cat',
            'pad_counts'               => false
        );
        $categories = get_categories( $skin_care_products_args );
        $cats = array();
        $i = 0;
        foreach($categories as $category){
            if($i==0){
                $default = $category->slug;
                $i++;
            }
            $cats[$category->slug] = $category->name;
        }
        $wp_customize->add_setting('skin_care_products_home_product',array(
            'sanitize_callback' => 'skin_care_products_sanitize_select',
        ));
        $wp_customize->add_control('skin_care_products_home_product',array(
            'type'    => 'select',
            'choices' => $cats,
            'label' => __('Select Product Category','skin-care-products'),
            'section' => 'skin_care_products_services_section',
        ));
    }

    // Pro Version
    $wp_customize->add_setting( 'pro_version_services_section', array(
        'sanitize_callback' => 'skin_care_products_sanitize_custom_control'
    ) );
    $wp_customize->add_control( new Skin_Care_Products_Customize_Pro_Version ( $wp_customize,
            'pro_version_services_section', array(
                'section'     => 'skin_care_products_services_section',
                'type'        => 'pro_options',
                'label'       => esc_html__( 'Customizer Options', 'skin-care-products' ),
                'description' => esc_url( SKIN_CARE_PRODUCTS_URL ),
                'priority'    => 100
            )
        )
    );


    // Post Settings
     $wp_customize->add_section('skin_care_products_post_settings',array(
        'title' => esc_html__('Post Settings','skin-care-products'),
        'priority'   =>40,
    ));

     $wp_customize->add_setting('skin_care_products_post_page_title',array(
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox',
        'default'           => 1,
    ));
    $wp_customize->add_control('skin_care_products_post_page_title',array(
        'type'        => 'checkbox',
        'label'       => esc_html__('Enable Post Page Title', 'skin-care-products'),
        'section'     => 'skin_care_products_post_settings',
        'description' => esc_html__('Check this box to enable title on post page.', 'skin-care-products'),
    ));

    $wp_customize->add_setting('skin_care_products_post_page_meta',array(
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox',
        'default'           => 1,
    ));
    $wp_customize->add_control('skin_care_products_post_page_meta',array(
        'type'        => 'checkbox',
        'label'       => esc_html__('Enable Post Page Meta', 'skin-care-products'),
        'section'     => 'skin_care_products_post_settings',
        'description' => esc_html__('Check this box to enable meta on post page.', 'skin-care-products'),
    ));

    $wp_customize->add_setting('skin_care_products_post_page_thumb',array(
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox',
        'default'           => 1,
    ));
    $wp_customize->add_control('skin_care_products_post_page_thumb',array(
        'type'        => 'checkbox',
        'label'       => esc_html__('Enable Post Page Thumbnail', 'skin-care-products'),
        'section'     => 'skin_care_products_post_settings',
        'description' => esc_html__('Check this box to enable thumbnail on post page.', 'skin-care-products'),
    ));

    $wp_customize->add_setting( 'skin_care_products_post_page_image_border_radius', array(
        'default'              => '0',
        'transport'            => 'refresh',
        'sanitize_callback'    => 'skin_care_products_sanitize_number_range'
    ) );
    $wp_customize->add_control( 'skin_care_products_post_page_image_border_radius', array(
        'label'       => esc_html__( 'Post Page Image Border Radius','skin-care-products' ),
        'section'     => 'skin_care_products_post_settings',
        'type'        => 'range',
        'input_attrs' => array(
            'step'             => 1,
            'min'              => 1,
            'max'              => 50,
        ),
    ) );

    $wp_customize->add_setting( 'skin_care_products_post_page_image_box_shadow', array(
        'default'              => '0',
        'transport'            => 'refresh',
        'sanitize_callback'    => 'skin_care_products_sanitize_number_range'
    ) );
    $wp_customize->add_control( 'skin_care_products_post_page_image_box_shadow', array(
        'label'       => esc_html__( 'Post Page Image Box Shadow','skin-care-products' ),
        'section'     => 'skin_care_products_post_settings',
        'type'        => 'range',
        'input_attrs' => array(
            'step'             => 1,
            'min'              => 1,
            'max'              => 50,
        ),
    ) );

    $wp_customize->add_setting('skin_care_products_post_page_content',array(
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox',
        'default'           => 1,
    ));
    $wp_customize->add_control('skin_care_products_post_page_content',array(
        'type'        => 'checkbox',
        'label'       => esc_html__('Enable Post Page Content', 'skin-care-products'),
        'section'     => 'skin_care_products_post_settings',
        'description' => esc_html__('Check this box to enable content on post page.', 'skin-care-products'),
    ));

    $wp_customize->add_setting('skin_care_products_post_page_excerpt_length',array(
        'sanitize_callback' => 'skin_care_products_sanitize_number_range',
        'default'           => 30,
    ));
    $wp_customize->add_control('skin_care_products_post_page_excerpt_length',array(
        'label'       => esc_html__('Post Page Excerpt Length', 'skin-care-products'),
        'section'     => 'skin_care_products_post_settings',
        'type'        => 'range',
        'input_attrs' => array(
            'step'             => 1,
            'min'              => 1,
            'max'              => 50,
        ),
    ));

    $wp_customize->add_setting('skin_care_products_post_page_excerpt_suffix',array(
        'sanitize_callback' => 'sanitize_text_field',
        'default'           => '[...]',
    ));
    $wp_customize->add_control('skin_care_products_post_page_excerpt_suffix',array(
        'type'        => 'text',
        'label'       => esc_html__('Post Page Excerpt Suffix', 'skin-care-products'),
        'section'     => 'skin_care_products_post_settings',
        'description' => esc_html__('For Ex. [...], etc', 'skin-care-products'),
    ));

    $wp_customize->add_setting('skin_care_products_post_page_pagination',array(
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox',
        'default'           => 1,
    ));
    $wp_customize->add_control('skin_care_products_post_page_pagination',array(
        'type'        => 'checkbox',
        'label'       => esc_html__('Enable Post Page Pagination', 'skin-care-products'),
        'section'     => 'skin_care_products_post_settings',
        'description' => esc_html__('Check this box to enable pagination on post page.', 'skin-care-products'),
    ));

    $wp_customize->add_setting( 'skin_care_products_blog_pagination_type', array(
        'default'           => 'blog-nav-numbers',
        'sanitize_callback' => 'skin_care_products_sanitize_choices'
    ));
    $wp_customize->add_control( 'skin_care_products_blog_pagination_type', array(
        'section' => 'skin_care_products_post_settings',
        'type' => 'select',
        'label' => __( 'Post Pagination Type', 'skin-care-products' ),
        'choices' => array(
            'blog-nav-numbers'  => __( 'Numeric', 'skin-care-products' ),
            'next-prev' => __( 'Older/Newer Posts', 'skin-care-products' ),
        )
    ));

    $wp_customize->add_setting('skin_care_products_single_post_thumb',array(
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox',
        'default'           => 1,
    ));
    $wp_customize->add_control('skin_care_products_single_post_thumb',array(
        'type'        => 'checkbox',
        'label'       => esc_html__('Enable Single Post Thumbnail', 'skin-care-products'),
        'section'     => 'skin_care_products_post_settings',
        'description' => esc_html__('Check this box to enable post thumbnail on single post.', 'skin-care-products'),
    ));

    // Single Post Page Settings
    $wp_customize->add_setting( 'skin_care_products_single_post_page_image_border_radius', array(
        'default'              => '0',
        'transport'            => 'refresh',
        'sanitize_callback'    => 'skin_care_products_sanitize_number_range'
    ) );
    $wp_customize->add_control( 'skin_care_products_single_post_page_image_border_radius', array(
        'label'       => esc_html__( 'Single Post Page Image Border Radius','skin-care-products' ),
        'section'     => 'skin_care_products_post_settings',
        'type'        => 'range',
        'input_attrs' => array(
            'step'             => 1,
            'min'              => 1,
            'max'              => 50,
        ),
    ) );

    $wp_customize->add_setting( 'skin_care_products_single_post_page_image_box_shadow', array(
        'default'              => '0',
        'transport'            => 'refresh',
        'sanitize_callback'    => 'skin_care_products_sanitize_number_range'
    ) );
    $wp_customize->add_control( 'skin_care_products_single_post_page_image_box_shadow', array(
        'label'       => esc_html__( 'Single Post Page Image Box Shadow','skin-care-products' ),
        'section'     => 'skin_care_products_post_settings',
        'type'        => 'range',
        'input_attrs' => array(
            'step'             => 1,
            'min'              => 1,
            'max'              => 50,
        ),
    ) );

    $wp_customize->add_setting('skin_care_products_single_post_meta',array(
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox',
        'default'           => 1,
    ));
    $wp_customize->add_control('skin_care_products_single_post_meta',array(
        'type'        => 'checkbox',
        'label'       => esc_html__('Enable Single Post Meta', 'skin-care-products'),
        'section'     => 'skin_care_products_post_settings',
        'description' => esc_html__('Check this box to enable single post meta such as post date, author, category, comment etc.', 'skin-care-products'),
    ));

    $wp_customize->add_setting('skin_care_products_single_post_title',array(
            'sanitize_callback' => 'skin_care_products_sanitize_checkbox',
            'default'           => 1,
    ));
    $wp_customize->add_control('skin_care_products_single_post_title',array(
        'type'        => 'checkbox',
        'label'       => esc_html__('Enable Single Post Title', 'skin-care-products'),
        'section'     => 'skin_care_products_post_settings',
        'description' => esc_html__('Check this box to enable title on single post.', 'skin-care-products'),
    ));

    $wp_customize->add_setting('skin_care_products_single_post_page_content',array(
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox',
        'default'           => 1,
    ));
    $wp_customize->add_control('skin_care_products_single_post_page_content',array(
        'type'        => 'checkbox',
        'label'       => esc_html__('Enable Single Post Page Content', 'skin-care-products'),
        'section'     => 'skin_care_products_post_settings',
        'description' => esc_html__('Check this box to enable content on single post page.', 'skin-care-products'),
    ));

    $wp_customize->add_setting('skin_care_products_single_post_navigation_show_hide',array(
        'default' => true,
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control('skin_care_products_single_post_navigation_show_hide',array(
        'type' => 'checkbox',
        'label' => __('Show / Hide Post Navigation','skin-care-products'),
        'section' => 'skin_care_products_post_settings',
    ));

    $wp_customize->add_setting('skin_care_products_single_post_comment_title',array(
        'default'=> 'Leave a Reply',
        'sanitize_callback' => 'sanitize_text_field'
    ));

    $wp_customize->add_control('skin_care_products_single_post_comment_title',array(
        'label' => __('Add Comment Title','skin-care-products'),
        'input_attrs' => array(
        'placeholder' => __( 'Leave a Reply', 'skin-care-products' ),
        ),
        'section'=> 'skin_care_products_post_settings',
        'type'=> 'text'
    ));

    $wp_customize->add_setting('skin_care_products_single_post_comment_btn_text',array(
        'default'=> 'Post Comment',
        'sanitize_callback' => 'sanitize_text_field'
    ));

    $wp_customize->add_control('skin_care_products_single_post_comment_btn_text',array(
        'label' => __('Add Comment Button Text','skin-care-products'),
        'input_attrs' => array(
            'placeholder' => __( 'Post Comment', 'skin-care-products' ),
        ),
        'section'=> 'skin_care_products_post_settings',
        'type'=> 'text'
    ));

     // Pro Version
    $wp_customize->add_setting( 'pro_version_post_settings', array(
        'sanitize_callback' => 'skin_care_products_sanitize_custom_control'
    ) );
    $wp_customize->add_control( new Skin_Care_Products_Customize_Pro_Version ( $wp_customize,
            'pro_version_post_settings', array(
                'section'     => 'skin_care_products_post_settings',
                'type'        => 'pro_options',
                'label'       => esc_html__( 'Customizer Options', 'skin-care-products' ),
                'description' => esc_url( SKIN_CARE_PRODUCTS_URL ),
                'priority'    => 100
            )
        )
    );

    // Page Settings
    $wp_customize->add_section('skin_care_products_page_settings',array(
        'title' => esc_html__('Page Settings','skin-care-products'),
        'priority' => 40,
    ));

    $wp_customize->add_setting( 'skin_care_products_single_page_sidebar_layout', array(
        'default'           => 'No Sidebar',
        'sanitize_callback' => 'skin_care_products_sanitize_choices'
    ));
    $wp_customize->add_control( 'skin_care_products_single_page_sidebar_layout', array(
        'section' => 'skin_care_products_page_settings',
        'type' => 'select',
        'label' => __( 'Single Page Sidebar Position', 'skin-care-products' ),
        'choices' => array(
            'No Sidebar' => __( 'No Sidebar', 'skin-care-products' ),
            'Right Side' => __( 'Right Side', 'skin-care-products' ),
            'Left Side' => __( 'Left Side', 'skin-care-products' ),
        )
    ));

     // Pro Version
    $wp_customize->add_setting( 'pro_version_page_settings', array(
        'sanitize_callback' => 'skin_care_products_sanitize_custom_control'
    ) );
    $wp_customize->add_control( new Skin_Care_Products_Customize_Pro_Version ( $wp_customize,
            'pro_version_page_settings', array(
                'section'     => 'skin_care_products_page_settings',
                'type'        => 'pro_options',
                'label'       => esc_html__( 'Customizer Options', 'skin-care-products' ),
                'description' => esc_url( SKIN_CARE_PRODUCTS_URL ),
                'priority'    => 100
            )
        )
    );
    
    // Footer
    $wp_customize->add_section('skin_care_products_site_footer_section', array(
        'title' => esc_html__('Footer', 'skin-care-products'),
    ));

    $wp_customize->add_setting('skin_care_products_footer_widget_content_alignment',array(
        'default' => 'Left',
        'transport' => 'refresh',
        'sanitize_callback' => 'skin_care_products_sanitize_choices'
    ));
    $wp_customize->add_control('skin_care_products_footer_widget_content_alignment',array(
        'type' => 'select',
        'label' => __('Footer Widget Content Alignment','skin-care-products'),
        'section' => 'skin_care_products_site_footer_section',
        'choices' => array(
            'Left' => __('Left','skin-care-products'),
            'Center' => __('Center','skin-care-products'),
            'Right' => __('Right','skin-care-products')
        ),
    ) );

    $wp_customize->add_setting( 'skin_care_products_footer_bg_color', array(
        'default' => '',
        'sanitize_callback' => 'sanitize_hex_color'
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'skin_care_products_footer_bg_color', array(
        'label' => __('Footer Background Color', 'skin-care-products'),
        'section' => 'skin_care_products_site_footer_section',
        'settings' => 'skin_care_products_footer_bg_color',
    )));

    $wp_customize->add_setting( 'skin_care_products_footer_content_color', array(
        'default' => '',
        'sanitize_callback' => 'sanitize_hex_color'
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'skin_care_products_footer_content_color', array(
        'label' => __('Footer Content Color', 'skin-care-products'),
        'section' => 'skin_care_products_site_footer_section',
        'settings' => 'skin_care_products_footer_content_color',
    )));

    $wp_customize->add_setting('skin_care_products_show_hide_copyright',array(
        'default' => true,
        'sanitize_callback' => 'skin_care_products_sanitize_checkbox'
    ));
    $wp_customize->add_control('skin_care_products_show_hide_copyright',array(
        'type' => 'checkbox',
        'label' => __('Show / Hide Copyright','skin-care-products'),
        'section' => 'skin_care_products_site_footer_section',
    ));

    $wp_customize->add_setting('skin_care_products_footer_text_setting', array(
        'sanitize_callback' => 'sanitize_text_field',
    ));
    $wp_customize->add_control('skin_care_products_footer_text_setting', array(
        'label' => __('Replace the footer text', 'skin-care-products'),
        'section' => 'skin_care_products_site_footer_section',
        'type' => 'text',
    ));

    $wp_customize->add_setting('skin_care_products_copyright_content_alignment',array(
        'default' => 'Center',
        'transport' => 'refresh',
        'sanitize_callback' => 'skin_care_products_sanitize_choices'
    ));
    $wp_customize->add_control('skin_care_products_copyright_content_alignment',array(
        'type' => 'select',
        'label' => __('Copyright Content Alignment','skin-care-products'),
        'section' => 'skin_care_products_site_footer_section',
        'choices' => array(
            'Left' => __('Left','skin-care-products'),
            'Center' => __('Center','skin-care-products'),
            'Right' => __('Right','skin-care-products')
        ),
    ) );

    $wp_customize->add_setting( 'skin_care_products_copyright_text_color', array(
        'default' => '',
        'sanitize_callback' => 'sanitize_hex_color'
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'skin_care_products_copyright_text_color', array(
        'label' => __('Copyright Text Color', 'skin-care-products'),
        'section' => 'skin_care_products_site_footer_section',
        'settings' => 'skin_care_products_copyright_text_color',
    )));

    // Pro Version
    $wp_customize->add_setting( 'pro_version_site_footer_section', array(
        'sanitize_callback' => 'skin_care_products_sanitize_custom_control'
    ) );
    $wp_customize->add_control( new Skin_Care_Products_Customize_Pro_Version ( $wp_customize,
            'pro_version_site_footer_section', array(
                'section'     => 'skin_care_products_site_footer_section',
                'type'        => 'pro_options',
                'label'       => esc_html__( 'Customizer Options', 'skin-care-products' ),
                'description' => esc_url( SKIN_CARE_PRODUCTS_URL ),
                'priority'    => 100
            )
        )
    );
}
add_action('customize_register', 'skin_care_products_customize_register');

/**
 * Render the site title for the selective refresh partial.
 *
 * @return void
 */
function skin_care_products_customize_partial_blogname(){
    bloginfo('name');
}

/**
 * Render the site tagline for the selective refresh partial.
 *
 * @return void
 */
function skin_care_products_customize_partial_blogdescription(){
    bloginfo('description');
}

/**
 * Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
 */
function skin_care_products_customize_preview_js(){
    wp_enqueue_script('skin-care-products-customizer', esc_url(get_template_directory_uri()) . '/assets/js/customizer.js', array('customize-preview'), '20151215', true);
}
add_action('customize_preview_init', 'skin_care_products_customize_preview_js');

/*
** Load dynamic logic for the customizer controls area.
*/
function skin_care_products_panels_js() {
    wp_enqueue_style( 'skin-care-products-customizer-layout-css', get_theme_file_uri( '/assets/css/customizer-layout.css' ) );
    wp_enqueue_script( 'skin-care-products-customize-layout', get_theme_file_uri( '/assets/js/customize-layout.js' ), array(), '1.2', true );
}
add_action( 'customize_controls_enqueue_scripts', 'skin_care_products_panels_js' );