<?php

/**
 * Functions which enhance the theme by hooking into WordPress
 *
 * @package roof_water_proofing
 */


// Output inline CSS based on Customizer setting
function roof_water_proofing_customizer_css() {
    $roof_water_proofing_enable_breadcrumb = get_theme_mod('roof_water_proofing_enable_breadcrumb', true);
    ?>
    <style type="text/css">
        <?php if (!$roof_water_proofing_enable_breadcrumb) : ?>
            nav.woocommerce-breadcrumb {
                display: none;
            }
        <?php endif; ?>
    </style>
    <?php
}
add_action('wp_head', 'roof_water_proofing_customizer_css');

function roof_water_proofing_customize_css() {
    ?>
    <style type="text/css">
        :root {
            --primary-color: <?php echo esc_html( get_theme_mod( 'roof_water_proofing_primary_color', '#FE4B01' ) ); ?>;
        }
    </style>
    <?php
}
add_action( 'wp_head', 'roof_water_proofing_customize_css' );

function roof_water_proofing_customize_secondary_css() {
    ?>
    <style type="text/css">
        :root {
            --secondary-color: <?php echo esc_html( get_theme_mod( 'roof_water_proofing_secondary_color', '#1B1E6D' ) ); ?>;
        }
    </style>
    <?php
}
add_action( 'wp_head', 'roof_water_proofing_customize_secondary_css' );

function roof_water_proofing_enqueue_selected_fonts() {
    $roof_water_proofing_fonts_url = roof_water_proofing_get_fonts_url();
    if (!empty($roof_water_proofing_fonts_url)) {
        wp_enqueue_style('roof-water-proofing-google-fonts', $roof_water_proofing_fonts_url, array(), null);
    }
}
add_action('wp_enqueue_scripts', 'roof_water_proofing_enqueue_selected_fonts');

function roof_water_proofing_layout_customizer_css() {
    $roof_water_proofing_margin = get_theme_mod('roof_water_proofing_layout_width_margin', 50);
    ?>
    <style type="text/css">
        body.site-boxed--layout #page  {
            margin: 0 <?php echo esc_attr($roof_water_proofing_margin); ?>px;
        }
    </style>
    <?php
}
add_action('wp_head', 'roof_water_proofing_layout_customizer_css');

function roof_water_proofing_blog_layout_customizer_css() {
    // Retrieve the blog layout option
    $roof_water_proofing_blog_layout_option = get_theme_mod('roof_water_proofing_blog_layout_option_setting', 'Left');

    // Initialize custom CSS variable
    $roof_water_proofing_custom_css = '';

    // Generate custom CSS based on the layout option
    if ($roof_water_proofing_blog_layout_option === 'Default') {
        $roof_water_proofing_custom_css .= '.mag-post-detail { text-align: center; }';
    } elseif ($roof_water_proofing_blog_layout_option === 'Left') {
        $roof_water_proofing_custom_css .= '.mag-post-detail { text-align: left; }';
    } elseif ($roof_water_proofing_blog_layout_option === 'Right') {
        $roof_water_proofing_custom_css .= '.mag-post-detail { text-align: right; }';
    }

    // Output the combined CSS
    ?>
    <style type="text/css">
        <?php echo wp_kses($roof_water_proofing_custom_css, array( 'style' => array(), 'text-align' => array() )); ?>
    </style>
    <?php
}
add_action('wp_head', 'roof_water_proofing_blog_layout_customizer_css');

// Featured Image Dimension
function roof_water_proofing_custom_featured_image_css() {
    $roof_water_proofing_dimension = get_theme_mod('roof_water_proofing_blog_post_featured_image_dimension', 'default');
    $roof_water_proofing_width = get_theme_mod('roof_water_proofing_blog_post_featured_image_custom_width', '');
    $roof_water_proofing_height = get_theme_mod('roof_water_proofing_blog_post_featured_image_custom_height', '');
    
    if ($roof_water_proofing_dimension === 'custom' && $roof_water_proofing_width && $roof_water_proofing_height) {
        $roof_water_proofing_custom_css = "body:not(.single-post) .mag-post-single .mag-post-img img { width: {$roof_water_proofing_width}px !important; height: {$roof_water_proofing_height}px !important; }";
        wp_add_inline_style('roof-water-proofing-style', $roof_water_proofing_custom_css);
    }
}
add_action('wp_enqueue_scripts', 'roof_water_proofing_custom_featured_image_css');

function roof_water_proofing_sidebar_width_customizer_css() {
    $roof_water_proofing_sidebar_width = get_theme_mod('roof_water_proofing_sidebar_width', '30');
    ?>
    <style type="text/css">
        .right-sidebar .asterthemes-wrapper .asterthemes-page {
            grid-template-columns: auto <?php echo esc_attr($roof_water_proofing_sidebar_width); ?>%;
        }
        .left-sidebar .asterthemes-wrapper .asterthemes-page {
            grid-template-columns: <?php echo esc_attr($roof_water_proofing_sidebar_width); ?>% auto;
        }
    </style>
    <?php
}
add_action('wp_head', 'roof_water_proofing_sidebar_width_customizer_css');

if ( ! function_exists( 'roof_water_proofing_get_page_title' ) ) {
    function roof_water_proofing_get_page_title() {
        $roof_water_proofing_title = '';

        if (is_404()) {
            $roof_water_proofing_title = esc_html__('Page Not Found', 'roof-water-proofing');
        } elseif (is_search()) {
            $roof_water_proofing_title = esc_html__('Search Results for: ', 'roof-water-proofing') . esc_html(get_search_query());
        } elseif (is_home() && !is_front_page()) {
            $roof_water_proofing_title = esc_html__('Blogs', 'roof-water-proofing');
        } elseif (function_exists('is_shop') && is_shop()) {
            $roof_water_proofing_title = esc_html__('Shop', 'roof-water-proofing');
        } elseif (is_page()) {
            $roof_water_proofing_title = get_the_title();
        } elseif (is_single()) {
            $roof_water_proofing_title = get_the_title();
        } elseif (is_archive()) {
            $roof_water_proofing_title = get_the_archive_title();
        } else {
            $roof_water_proofing_title = get_the_archive_title();
        }

        return apply_filters('roof_water_proofing_page_title', $roof_water_proofing_title);
    }
}

if ( ! function_exists( 'roof_water_proofing_has_page_header' ) ) {
    function roof_water_proofing_has_page_header() {
        // Default to true (display header)
        $roof_water_proofing_return = true;

        // Custom conditions for disabling the header
        if ('hide-all-devices' === get_theme_mod('roof_water_proofing_page_header_visibility', 'all-devices')) {
            $roof_water_proofing_return = false;
        }

        // Apply filters and return
        return apply_filters('roof_water_proofing_display_page_header', $roof_water_proofing_return);
    }
}

if ( ! function_exists( 'roof_water_proofing_page_header_style' ) ) {
    function roof_water_proofing_page_header_style() {
        $roof_water_proofing_style = get_theme_mod('roof_water_proofing_page_header_style', 'default');
        return apply_filters('roof_water_proofing_page_header_style', $roof_water_proofing_style);
    }
}

function roof_water_proofing_page_title_customizer_css() {
    $roof_water_proofing_layout_option = get_theme_mod('roof_water_proofing_page_header_layout', 'left');
    ?>
    <style type="text/css">
        .asterthemes-wrapper.page-header-inner {
            <?php if ($roof_water_proofing_layout_option === 'flex') : ?>
                display: flex;
                justify-content: space-between;
                align-items: center;
            <?php else : ?>
                text-align: <?php echo esc_attr($roof_water_proofing_layout_option); ?>;
            <?php endif; ?>
        }
    </style>
    <?php
}
add_action('wp_head', 'roof_water_proofing_page_title_customizer_css');

function roof_water_proofing_pagetitle_height_css() {
    $roof_water_proofing_height = get_theme_mod('roof_water_proofing_pagetitle_height', 50);
    ?>
    <style type="text/css">
        header.page-header {
            padding: <?php echo esc_attr($roof_water_proofing_height); ?>px 0;
        }
    </style>
    <?php
}
add_action('wp_head', 'roof_water_proofing_pagetitle_height_css');

function roof_water_proofing_site_logo_width() {
    $roof_water_proofing_site_logo_width = get_theme_mod('roof_water_proofing_site_logo_width', 200);
    ?>
    <style type="text/css">
        .site-logo img {
            max-width: <?php echo esc_attr($roof_water_proofing_site_logo_width); ?>px;
        }
    </style>
    <?php
}
add_action('wp_head', 'roof_water_proofing_site_logo_width');

function roof_water_proofing_menu_font_size_css() {
    $roof_water_proofing_menu_font_size = get_theme_mod('roof_water_proofing_menu_font_size', 15);
    ?>
    <style type="text/css">
        .main-navigation a {
            font-size: <?php echo esc_attr($roof_water_proofing_menu_font_size); ?>px;
        }
    </style>
    <?php
}
add_action('wp_head', 'roof_water_proofing_menu_font_size_css');

//Menu Font Weight
function roof_water_proofing_menu_font_weight_css() {
	$roof_water_proofing_font_weight = get_theme_mod( 'roof_water_proofing_menu_font_weight', 500 );

	$roof_water_proofing_custom_css = "
		.main-navigation a {
		    font-weight: {$roof_water_proofing_font_weight};
		}
	";

	wp_add_inline_style( 'roof-water-proofing-style', $roof_water_proofing_custom_css );
}
add_action( 'wp_enqueue_scripts', 'roof_water_proofing_menu_font_weight_css' );

function roof_water_proofing_sidebar_widget_font_size_css() {
    $roof_water_proofing_sidebar_widget_font_size = get_theme_mod('roof_water_proofing_sidebar_widget_font_size', 24);
    ?>
    <style type="text/css">
        h2.wp-block-heading,aside#secondary .widgettitle,aside#secondary .widget-title {
            font-size: <?php echo esc_attr($roof_water_proofing_sidebar_widget_font_size); ?>px;
        }
    </style>
    <?php
}
add_action('wp_head', 'roof_water_proofing_sidebar_widget_font_size_css');

function roof_water_proofing_custom_css() {
    $roof_water_proofing_slider_section = get_theme_mod('roof_water_proofing_enable_banner_section', false);
    if (empty($roof_water_proofing_slider_section)) {
        echo '<style>
            .home header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part {
                position: relative !important;
                background: var(--primary-color);
            }
        </style>';
    }
}
add_action('wp_head', 'roof_water_proofing_custom_css');

function roof_water_proofing_menu_text_transform_css() {
    $menu_text_transform = get_theme_mod('roof_water_proofing_menu_text_transform', 'uppercase');
    ?>
    <style type="text/css">
        .main-navigation a {
            text-transform: <?php echo esc_attr($menu_text_transform); ?>;
        }
    </style>
    <?php
}
add_action('wp_head', 'roof_water_proofing_menu_text_transform_css');

// Woocommerce Related Products Settings
function roof_water_proofing_related_product_css() {
    $roof_water_proofing_related_product_show_hide = get_theme_mod('roof_water_proofing_related_product_show_hide', true);

    if ( $roof_water_proofing_related_product_show_hide != true) {
        ?>
        <style type="text/css">
            .related.products {
                display: none;
            }
        </style>
        <?php
    }
}
add_action('wp_head', 'roof_water_proofing_related_product_css');

// Woocommerce Product Sale Position 
function roof_water_proofing_product_sale_position_customizer_css() {
    $roof_water_proofing_layout_option = get_theme_mod('roof_water_proofing_product_sale_position', 'left');
    ?>
    <style type="text/css">
        .woocommerce ul.products li.product .onsale {
            <?php if ($roof_water_proofing_layout_option === 'left') : ?>
                right: auto;
                left: 0px;
            <?php else : ?>
                left: auto;
                right: 0px;
            <?php endif; ?>
        }
    </style>
    <?php
}
add_action('wp_head', 'roof_water_proofing_product_sale_position_customizer_css');  

//Footer Social Icon Alignment
function roof_water_proofing_footer_icons_alignment_css() {
    $roof_water_proofing_footer_social_align = get_theme_mod( 'roof_water_proofing_footer_social_align', 'center' );   
    ?>
    <style type="text/css">
        .socialicons {
            text-align: <?php echo esc_attr( $roof_water_proofing_footer_social_align ); ?> 
        }

        /* Mobile Specific */
        @media screen and (max-width: 575px) {
            .socialicons {
                text-align: center;
            }
        }
    </style>
    <?php
}
add_action( 'wp_head', 'roof_water_proofing_footer_icons_alignment_css' );

//Copyright Alignment
function roof_water_proofing_footer_copyright_alignment_css() {
    $roof_water_proofing_footer_bottom_align = get_theme_mod( 'roof_water_proofing_footer_bottom_align', 'center' );   
    ?>
    <style type="text/css">
        .site-footer .site-footer-bottom .site-footer-bottom-wrapper {
            justify-content: <?php echo esc_attr( $roof_water_proofing_footer_bottom_align ); ?> 
        }

        /* Mobile Specific */
        @media screen and (max-width: 575px) {
            .site-footer .site-footer-bottom .site-footer-bottom-wrapper {
                justify-content: center;
                text-align:center;
            }
        }
    </style>
    <?php
}
add_action( 'wp_head', 'roof_water_proofing_footer_copyright_alignment_css' );

// Preloader Background Color Setting
function roof_water_proofing_preloader_background_colors_css() {
    $roof_water_proofing_preloader_background_color_setting = get_theme_mod('roof_water_proofing_preloader_background_color_setting', '');
        // Only output CSS if a color is set
        if (empty($roof_water_proofing_preloader_background_color_setting)) {
            return;
        }
    ?>
    <style type="text/css">
        #loader {
            background-color: <?php echo esc_attr($roof_water_proofing_preloader_background_color_setting); ?>;
        }
    </style>
    <?php
}
add_action('wp_head', 'roof_water_proofing_preloader_background_colors_css');

// Preloader Background Image Setting
function roof_water_proofing_preloader_background_image_css() {
    $roof_water_proofing_preloader_background_image_setting = get_theme_mod('roof_water_proofing_preloader_background_image_setting', '');
        // Only output CSS if the background image is set
        if (empty($roof_water_proofing_preloader_background_image_setting)) {
            return;
        }
    ?>
    <style type="text/css">
        #loader {
            background-image: url('<?php echo esc_url($roof_water_proofing_preloader_background_image_setting); ?>');
            background-size: cover;
            background-repeat: no-repeat;
            background-position: center;
        }
    </style>
    <?php
}
add_action('wp_head', 'roof_water_proofing_preloader_background_image_css');

//Footer Heading Alignment
function roof_water_proofing_footer_heading_alignment_css() {
    $roof_water_proofing_footer_header_align = get_theme_mod( 'roof_water_proofing_footer_header_align', 'left' );   
    ?>
    <style type="text/css">
        .site-footer h4, footer#colophon h2.wp-block-heading, footer#colophon .widgettitle, footer#colophon .widget-title {
            text-align: <?php echo esc_attr( $roof_water_proofing_footer_header_align ); ?> 
        }
    </style>
    <?php
}
add_action( 'wp_head', 'roof_water_proofing_footer_heading_alignment_css' );

//First Capital Letter
function roof_water_proofing_show_first_caps() {
	$roof_water_proofing_first_caps = get_theme_mod('roof_water_proofing_show_first_caps', false);
	$roof_water_proofing_css = '';
	if ( $roof_water_proofing_first_caps ) {
	$roof_water_proofing_css .= '
		.mag-post-single .mag-post-detail .mag-post-excerpt p:first-of-type::first-letter {
		    font-size: 55px;
			font-weight: 600;
			margin-right: 6px;
			line-height: 1;
			display: inline-block;
			vertical-align: baseline;
		}';
	} else {
		$roof_water_proofing_css .= '
		.mag-post-single .mag-post-detail .mag-post-excerpt p:first-of-type::first-letter {
			display: none;
		}';
	}
	wp_add_inline_style( 'roof-water-proofing-style', $roof_water_proofing_css );
}
add_action( 'wp_enqueue_scripts', 'roof_water_proofing_show_first_caps' );

// Topbar Padding Dynamic CSS
function roof_water_proofing_topbar_padding_css(){
	$padding = get_theme_mod('roof_water_proofing_topbar_padding');
	$custom_css = ".top-header-part{
		padding-top: {$padding}px !important;
		padding-bottom: {$padding}px !important;
	}";
	wp_add_inline_style('roof-water-proofing-style',$custom_css);

}
add_action('wp_enqueue_scripts','roof_water_proofing_topbar_padding_css');

// Banner Button Color
function roof_water_proofing_banner_button_color_css() {
    $btn_color = get_theme_mod('roof_water_proofing_banner_btn_color');
	$btn_bg_color = get_theme_mod('roof_water_proofing_banner_btn_bg_color');

	$custom_css = '';
    if ( !empty($btn_color) ) {
		$custom_css .= "
		.banner-slider-btn a.asterthemes-button{
			color: {$btn_color};
		}";
	}

	if ( !empty($btn_bg_color) ) {
		$custom_css .= "
		.banner-slider-btn a.asterthemes-button{
			background-color: {$btn_bg_color};
		}";
	}

	wp_add_inline_style('roof-water-proofing-style', $custom_css);
}
add_action('wp_enqueue_scripts','roof_water_proofing_banner_button_color_css');