/**
 * ZenPayoff Theme — functions.php
 */

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

// ----------------------------------------------------------------------
// Constants
// ----------------------------------------------------------------------

define( 'ZP_DIR', get_template_directory() );
define( 'ZP_URI', get_template_directory_uri() );
define( 'ZP_VERSION', '1.0.0' );

// ----------------------------------------------------------------------
// Includes
// ----------------------------------------------------------------------

require_once ZP_DIR . '/inc/setup.php';
require_once ZP_DIR . '/inc/acf-fields.php';
require_once ZP_DIR . '/inc/calculator.php';

// ----------------------------------------------------------------------
// Enqueue styles and scripts
//
// Rule for this theme: main.css + main.js load everywhere. Every other
// file loads ONLY on the template that needs it. Use filemtime() for
// the version so the browser picks up edits instantly with no build step.
// ----------------------------------------------------------------------

/**
 * Small helper so every enqueue call stays one line and can never
 * forget filemtime().
 */
function zp_asset_version( $relative_path ) {
	$file = ZP_DIR . '/' . ltrim( $relative_path, '/' );
	return file_exists( $file ) ? filemtime( $file ) : ZP_VERSION;
}

function zp_enqueue_assets() {

	wp_enqueue_style(
		'zp-main',
		ZP_URI . '/assets/css/main.css',
		array(),
		zp_asset_version( 'assets/css/main.css' )
	);

	wp_enqueue_script(
		'zp-main',
		ZP_URI . '/assets/js/main.js',
		array(),
		zp_asset_version( 'assets/js/main.js' ),
		true
	);

	// --- Home ---
	if ( is_front_page() ) {

		wp_enqueue_style(
			'zp-home',
			ZP_URI . '/assets/css/home.css',
			array( 'zp-main' ),
			zp_asset_version( 'assets/css/home.css' )
		);

		wp_enqueue_style(
			'zp-calculator',
			ZP_URI . '/assets/css/calculator.css',
			array( 'zp-home' ),
			zp_asset_version( 'assets/css/calculator.css' )
		);

		wp_enqueue_script(
			'zp-calculator',
			ZP_URI . '/assets/js/calculator.js',
			array(),
			zp_asset_version( 'assets/js/calculator.js' ),
			true
		);
	}

	// --- Results dashboard ---
	// Chart.js is loaded ONLY here. Never enqueue it sitewide.
	if ( is_page_template( 'page-results.php' ) ) {

		wp_enqueue_style(
			'zp-calculator',
			ZP_URI . '/assets/css/calculator.css',
			array( 'zp-main' ),
			zp_asset_version( 'assets/css/calculator.css' )
		);

		wp_enqueue_script(
			'zp-chartjs',
			ZP_URI . '/assets/js/chart.min.js',
			array(),
			'4.4.1',
			true
		);

		wp_enqueue_script(
			'zp-calculator',
			ZP_URI . '/assets/js/calculator.js',
			array( 'zp-chartjs' ),
			zp_asset_version( 'assets/js/calculator.js' ),
			true
		);
	}
}
add_action( 'wp_enqueue_scripts', 'zp_enqueue_assets' );

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://zenpayoff.com/wp-sitemap-index.xsl" ?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://zenpayoff.com/wp-sitemap-posts-page-1.xml</loc></sitemap></sitemapindex>
