<?php
/**
 * Plugin Name: FAQ Toldos Widget
 * Plugin URI: https://toldoscerca.com
 * Description: Widget profesional de FAQ con Google Sheets, Schema.org automático y modo acordeón/expandido
 * Version: 1.1.0
 * Author: Toldos Cerca
 * Author URI: https://toldoscerca.com
 * License: GPL v2 or later
 * Text Domain: faq-toldos-widget
 */

// Evitar acceso directo
if (!defined('ABSPATH')) {
    exit;
}

// Definir constantes del plugin
define('FTW_PLUGIN_URL', plugin_dir_url(__FILE__));
define('FTW_PLUGIN_PATH', plugin_dir_path(__FILE__));
define('FTW_VERSION', '1.1.0');

class FAQToldosWidget {
    
    private static $instance = null;
    private $widget_counter = 0;
    
    public static function getInstance() {
        if (self::$instance == null) {
            self::$instance = new FAQToldosWidget();
        }
        return self::$instance;
    }
    
    private function __construct() {
        // Registrar shortcode
        add_shortcode('faq_widget', array($this, 'render_shortcode'));
        
        // Encolar scripts y estilos
        add_action('wp_enqueue_scripts', array($this, 'enqueue_assets'));
        
        // Añadir menú de administración
        add_action('admin_menu', array($this, 'add_admin_menu'));
        
        // AJAX para cache
        add_action('wp_ajax_ftw_get_faq_data', array($this, 'ajax_get_faq_data'));
        add_action('wp_ajax_nopriv_ftw_get_faq_data', array($this, 'ajax_get_faq_data'));
        
        // AJAX para limpiar cache
        add_action('wp_ajax_ftw_clear_cache', array($this, 'ajax_clear_cache'));
    }
    
    /**
     * Encolar assets del plugin
     */
    public function enqueue_assets() {
        // Solo cargar si hay shortcode en la página
        global $post;
        if (is_a($post, 'WP_Post') && has_shortcode($post->post_content, 'faq_widget')) {
            
            // CSS
            wp_enqueue_style(
                'faq-widget-styles',
                FTW_PLUGIN_URL . 'assets/css/faq-widget.css',
                array(),
                FTW_VERSION
            );
            
            // Font Awesome
            wp_enqueue_style(
                'font-awesome',
                'https://cdn.