<?php
// Enqueue theme styles and custom inline CSS
function ticket_booking_enqueue_styles() {
    wp_enqueue_style('ticket-booking-style', get_stylesheet_uri());
}
add_action('wp_enqueue_scripts', 'ticket_booking_enqueue_styles');

// custom header
    add_theme_support('custom-header', array(
            'width'                  => 1920, 
            'height'                 => 400,  
            'flex-height'            => true,
            'flex-width'             => true,
            'header-text'            => true, // Enable or disable header text
            'default-text-color'     => '000000', // Default header text color
            'wp-head-callback'       => 'ticket_booking_header_style',
        ) );

// custom-background
    add_theme_support( 'custom-background', array(
          'default-color' => 'ffffff',
        ));

// Style the header
function ticket_booking_header_style() {
    $ticket_booking_header_image = get_header_image();    
    $ticket_booking_header_text_color = get_header_textcolor();
   
     if (get_theme_support('custom-header', 'default-text-color') !== $ticket_booking_header_text_color || !empty($ticket_booking_header_image)) {
            ?>
        <style type="text/css" id="entr-header-css">
            <?php
            // Has a Custom Header been added?
            if (!empty($ticket_booking_header_image)) :
                ?>
                 #custom-header {
                    background-image: url(<?php header_image(); ?>);
                    background-repeat: no-repeat;
                    background-position: 50% 50%;
                    -webkit-background-size: cover;
                    -moz-background-size:    cover;
                    -o-background-size:      cover;
                    background-size:         cover;
                }
            <?php endif; ?> 
            <?php
                if ('blank' === $ticket_booking_header_text_color) :
                ?>
                    .site-title a,.site-description {
                        color: #<?php echo esc_attr( $ticket_booking_header_text_color ); ?>;
                    }
                <?php elseif ('' !== $ticket_booking_header_text_color) : ?>
                    .site-title a,.site-description {
                        color: #<?php echo esc_attr($ticket_booking_header_text_color); ?>;
                    }            
                <?php endif; ?>
        </style>
    <?php
        }
    }
// site-title-checkbox
// Remove "Display Site Title and Tagline" checkbox from Customizer
function ticket_booking_remove_header_text_display_checkbox( $wp_customize ) {
    $wp_customize->remove_control( 'display_header_text' ); // Removes the checkbox
}
add_action( 'customize_register', 'ticket_booking_remove_header_text_display_checkbox', 11 );

/**
* Custom logo
*/
function ticket_booking_logo_setup(){
    add_theme_support('custom-logo', array(
        'height' => 65,
        'width' => 350,
        'flex-height' => true,
        'flex-width' => true,
    ));
}
add_action('after_setup_theme', 'ticket_booking_logo_setup');

// logo resizer
function ticket_booking_logo_dynamic_css() {
    $ticket_booking_logo_width = get_theme_mod( 'ticket_booking_logo_width', 150 );
    ?>
    <style type="text/css">
        .logo .custom-logo {
            max-width: <?php echo esc_attr( $ticket_booking_logo_width ); ?>px;
            height: auto;
        }
    </style>
    <?php
}
add_action( 'wp_head', 'ticket_booking_logo_dynamic_css' );

// buttons
function ticket_booking_custom_button_styles() {
    $ticket_booking_radius = get_theme_mod( 'ticket_booking_button_border_radius', '6px' );
    $ticket_booking_padding = get_theme_mod( 'ticket_booking_button_padding', '10px 35px' );
    ?>
    <style type="text/css">
        .btn,
        .button,
        button,
        input[type="submit"],
        .wp-block-button__link,#blog-section .read-more a,.read-more a,a.btn-slid.btn {
            border-radius: <?php echo esc_attr($ticket_booking_radius); ?>;
            padding: <?php echo esc_attr($ticket_booking_padding); ?>;
        }
    </style>
    <?php
}
add_action( 'wp_head', 'ticket_booking_custom_button_styles' );

function ticket_booking_customize_fonts() {
    $ticket_booking_body_font = get_theme_mod('ticket_booking_body_font_family', 'Outfit, serif');
    $ticket_booking_heading_font = get_theme_mod('ticket_booking_heading_font_family', 'Outfit, serif');

    // Extract Google font names (e.g., Roboto from "Roboto, sans-serif")
    $ticket_booking_body_font_name = trim(explode(',', $ticket_booking_body_font)[0]);
    $ticket_booking_heading_font_name = trim(explode(',', $ticket_booking_heading_font)[0]);

    // Generate Google Fonts URL
    $ticket_booking_google_font_url = 'https://fonts.googleapis.com/css2?family=' . urlencode($ticket_booking_body_font_name) . '&family=' . urlencode($ticket_booking_heading_font_name) . '&display=swap';

    // Enqueue fonts
    wp_enqueue_style('ticket-booking-fonts', $ticket_booking_google_font_url, array(), null);

    // Custom inline style for font application
    $custom_css = "
        body, p, span, label, div {
            font-family: {$ticket_booking_body_font};
        }
        h1, h2, h3, h4, h5, h6 {
            font-family: {$ticket_booking_heading_font};
        }
    ";
    wp_add_inline_style('ticket-booking-fonts', $custom_css);
}
add_action('wp_enqueue_scripts', 'ticket_booking_customize_fonts');

// page title box
function ticket_booking_page_title_dynamic_styles() {
    $bg_type = get_theme_mod('ticket_booking_page_bg_radio', '');
    $bg_color = get_theme_mod('ticket_booking_page_bg_color', '');
    $bg_image = get_theme_mod('ticket_booking_page_bg_image', '');
    $ticket_booking_alpha = get_theme_mod('ticket_booking_global_color1', 'var(--alpha-color)');

    $ticket_booking_dynamic_css = '';

    if ($bg_type === 'image' && !empty($bg_image)) {
        $ticket_booking_dynamic_css .= '.page-title {';
        $ticket_booking_dynamic_css .= 'background-image: url("' . esc_url($bg_image) . '");';
        $ticket_booking_dynamic_css .= 'background-size: cover;';
        $ticket_booking_dynamic_css .= 'background-position: center;';
        $ticket_booking_dynamic_css .= '}';
    } elseif ($bg_type === 'color' && !empty($bg_color)) {
        $ticket_booking_dynamic_css .= '.page-title {';
        $ticket_booking_dynamic_css .= 'background-color: ' . esc_attr($bg_color) . ';';
        $ticket_booking_dynamic_css .= '}';
    } else {
        // Fallback to global theme color
        $ticket_booking_dynamic_css .= '.page-title {';
        $ticket_booking_dynamic_css .= 'background-color: ' . esc_attr($ticket_booking_alpha) . ';';
        $ticket_booking_dynamic_css .= '}';
    }

    if (!empty($ticket_booking_dynamic_css)) {
        echo '<style type="text/css">' . $ticket_booking_dynamic_css . '</style>';
    }
}
add_action('wp_head', 'ticket_booking_page_title_dynamic_styles', 20);

// Register page title action globally
add_action('ticket_booking_get_page_title', 'ticket_booking_show_page_title');

// global color
function ticket_booking_global_color_custom_css() {
    $ticket_booking_bg_type       = get_theme_mod('ticket_booking_page_bg_radio', 'color');

    $ticket_booking_theme_css = '';

    if (!empty($ticket_booking_alpha)) {
        // Apply global background only if no custom bg for page-title
        if ($ticket_booking_bg_type !== 'color' && $ticket_booking_bg_type !== 'image') {
            $ticket_booking_theme_css .= '.page-title .content-section{ background: ' . esc_attr($ticket_booking_alpha) . '; }';
        }
    }

    if (!empty($ticket_booking_theme_css)) {
        echo '<style type="text/css">' . $ticket_booking_theme_css . '</style>';
    }
}
add_action('wp_head', 'ticket_booking_global_color_custom_css', 10);

/*---------------------------Global Color-------------------*/

function ticket_booking_global_color() {

    $ticket_booking_css  = '';
    $ticket_booking_alpha = get_theme_mod( 'ticket_booking_global_color1' );

    $ticket_booking_root_vars = '';
    if ( $ticket_booking_alpha ) {
        $ticket_booking_root_vars .= '--alpha-color: ' . esc_attr( $ticket_booking_alpha ) . ' !important;';
    }

    if ( $ticket_booking_root_vars !== '' ) {
        $ticket_booking_css .= ':root {' . $ticket_booking_root_vars . '}';
    }

    if ( $ticket_booking_css !== '' ) {
        // Replace these handles with your theme's main & WooCommerce stylesheet handles.
        wp_add_inline_style( 'ticket-booking-style', $ticket_booking_css );
        wp_add_inline_style( 'ticket-booking-woocommerce-css', $ticket_booking_css );
    }
}
add_action( 'wp_enqueue_scripts', 'ticket_booking_global_color', 20 );