<?php
/**
 * Minecraft Modern Theme - Customizer Settings
 * 
 * Enthält Einstellungen für:
 * - Header Slider & Hero
 * - Theme Presets (Nether, End, Classic)
 * - Farben & Darstellung
 * - Social Media
 * - Footer
 * - Login
 * - Import/Export
 */

function minecraft_modern_customize_register( $wp_customize ) {

    // =========================================================================
    // === 1. HEADER-BEREICH ===================================================
    // =========================================================================

    // --- Sektion: Header Slider ---
    $wp_customize->add_section( 'header_slider', array(
        'title'       => 'Header Slider',
        'priority'    => 20,
        'description' => 'Konfiguriere den großen Slider auf der Startseite.',
    ) );

    // Checkbox zum Aktivieren des Sliders
    $wp_customize->add_setting( 'slider_enabled', array(
        'default'           => false,
        'transport'         => 'refresh',
        'sanitize_callback' => 'wp_validate_boolean',
    ) );
    $wp_customize->add_control( 'slider_enabled', array(
        'label'       => 'Header Slider aktivieren',
        'section'     => 'header_slider',
        'settings'    => 'slider_enabled',
        'type'        => 'checkbox',
    ) );

    // Dynamische Slider-Bilder, Titel und Untertitel
    for ($i = 1; $i <= 5; $i++) {
        $wp_customize->add_setting( 'slider_image_' . $i, array( 'sanitize_callback' => 'esc_url_raw' ) );
        $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'slider_image_' . $i, array(
            'label'       => sprintf( 'Banner %d - Bild', $i ),
            'section'     => 'header_slider',
            'settings'    => 'slider_image_' . $i,
        ) ) );

        $wp_customize->add_setting( 'slider_title_' . $i, array( 'sanitize_callback' => 'sanitize_text_field' ) );
        $wp_customize->add_control( 'slider_title_' . $i, array(
            'label'       => sprintf( 'Banner %d - Titel', $i ),
            'section'     => 'header_slider',
            'settings'    => 'slider_title_' . $i,
            'type'        => 'text',
        ) );

        $wp_customize->add_setting( 'slider_subtitle_' . $i, array( 'sanitize_callback' => 'sanitize_text_field' ) );
        $wp_customize->add_control( 'slider_subtitle_' . $i, array(
            'label'       => sprintf( 'Banner %d - Untertitel', $i ),
            'section'     => 'header_slider',
            'settings'    => 'slider_subtitle_' . $i,
            'type'        => 'text',
        ) );
    }

    // Slider Text- & Stil-Einstellungen
    $wp_customize->add_setting( 'slider_font_family', array( 'default' => 'Raleway', 'sanitize_callback' => 'sanitize_text_field' ) );
    $wp_customize->add_control( 'slider_font_family', array(
        'label'    => 'Schriftart', 'section' => 'header_slider', 'settings' => 'slider_font_family', 'type' => 'select',
        'choices'  => array( 'Raleway' => 'Raleway', 'Poppins' => 'Poppins', 'Montserrat' => 'Montserrat', 'Oswald' => 'Oswald', 'Roboto' => 'Roboto', 'Lato' => 'Lato' ),
    ) );
    $wp_customize->add_setting( 'slider_font_size', array( 'default' => 'mittel', 'sanitize_callback' => 'sanitize_text_field' ) );
    $wp_customize->add_control( 'slider_font_size', array(
        'label'    => 'Schriftgröße', 'section' => 'header_slider', 'settings' => 'slider_font_size', 'type' => 'select',
        'choices'  => array( 'klein' => 'Klein', 'mittel' => 'Mittel', 'gross' => 'Groß', 'extra-gross' => 'Extra Groß' ),
    ) );
    $wp_customize->add_setting( 'slider_font_color', array( 'default' => '#ffffff', 'sanitize_callback' => 'sanitize_hex_color' ) );
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'slider_font_color', array(
        'label'    => 'Schriftfarbe', 'section' => 'header_slider', 'settings' => 'slider_font_color',
    ) ) );
    
    // Header-Höhe
    $wp_customize->add_setting( 'header_height', array( 'default' => 'mittel', 'sanitize_callback' => 'sanitize_text_field' ) );
    $wp_customize->add_control( 'header_height', array(
        'label'    => 'Header-Höhe', 'section' => 'header_slider', 'settings' => 'header_height', 'type' => 'select',
        'choices'  => array( 'klein' => 'Klein', 'mittel' => 'Mittel', 'gross' => 'Groß' ),
    ) );

    $wp_customize->add_setting( 'slider_hide_arrows', array( 'default' => false, 'sanitize_callback' => 'wp_validate_boolean' ) );
    $wp_customize->add_control( 'slider_hide_arrows', array(
        'label'    => 'Pfeile ausblenden', 'section' => 'header_slider', 'settings' => 'slider_hide_arrows', 'type' => 'checkbox',
    ) );
    $wp_customize->add_setting( 'slider_hide_pagination', array( 'default' => false, 'sanitize_callback' => 'wp_validate_boolean' ) );
    $wp_customize->add_control( 'slider_hide_pagination', array(
        'label'    => 'Paginierung (Punkte) ausblenden', 'section' => 'header_slider', 'settings' => 'slider_hide_pagination', 'type' => 'checkbox',
    ) );

    // --- Sektion: Startseiten-Hero (Fallback) ---
    $wp_customize->add_section( 'hero_section', array(
        'title'       => 'Startseiten-Hero (wenn Slider deaktiviert)',
        'priority'    => 21,
        'description' => 'Diese Inhalte werden angezeigt, wenn der Slider ausgeschaltet ist.',
    ) );
    $wp_customize->add_setting( 'hero_title', array( 'default' => 'Willkommen auf unserem Server', 'sanitize_callback' => 'sanitize_text_field' ) );
    $wp_customize->add_control( 'hero_title', array( 'label' => 'Haupttitel', 'section' => 'hero_section', 'settings' => 'hero_title', 'type' => 'text' ) );
    $wp_customize->add_setting( 'hero_subtitle', array( 'default' => 'Trete einer Community voller Abenteuer bei.', 'sanitize_callback' => 'sanitize_text_field' ) );
    $wp_customize->add_control( 'hero_subtitle', array( 'label' => 'Untertitel', 'section' => 'hero_section', 'settings' => 'hero_subtitle', 'type' => 'text' ) );
    $wp_customize->add_setting( 'hero_bg_image', array( 'sanitize_callback' => 'esc_url_raw' ) );
    $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'hero_bg_image', array(
        'label' => 'Hintergrundbild', 'section' => 'hero_section', 'settings' => 'hero_bg_image',
    ) ) );
    $wp_customize->add_setting( 'hero_button_1_text', array( 'default' => 'Zum Forum', 'sanitize_callback' => 'sanitize_text_field' ) );
    $wp_customize->add_control( 'hero_button_1_text', array( 'label' => 'Button 1 Text', 'section' => 'hero_section', 'settings' => 'hero_button_1_text', 'type' => 'text' ) );
    $wp_customize->add_setting( 'hero_button_1_url', array( 'default' => '#', 'sanitize_callback' => 'esc_url_raw' ) );
    $wp_customize->add_control( 'hero_button_1_url', array( 'label' => 'Button 1 URL', 'section' => 'hero_section', 'settings' => 'hero_button_1_url', 'type' => 'url' ) );
    $wp_customize->add_setting( 'hero_button_2_text', array( 'default' => 'Zum Teamspeak', 'sanitize_callback' => 'sanitize_text_field' ) );
    $wp_customize->add_control( 'hero_button_2_text', array( 'label' => 'Button 2 Text', 'section' => 'hero_section', 'settings' => 'hero_button_2_text', 'type' => 'text' ) );
    $wp_customize->add_setting( 'hero_button_2_url', array( 'default' => '#', 'sanitize_callback' => 'esc_url_raw' ) );
    $wp_customize->add_control( 'hero_button_2_url', array( 'label' => 'Button 2 URL', 'section' => 'hero_section', 'settings' => 'hero_button_2_url', 'type' => 'url' ) );

    // --- Checkbox: Seitentitel auf Startseite verstecken ---
    $wp_customize->add_setting( 'show_home_title', array(
        'default'           => false,
        'sanitize_callback' => 'wp_validate_boolean',
    ) );
    $wp_customize->add_control( 'show_home_title', array(
        'label'       => 'Seitentitel "Home" anzeigen',
        'description' => 'Aktiviere diese Option, wenn der Titel "Home" über dem Slider/Inhalt angezeigt werden soll.',
        'section'     => 'hero_section',
        'settings'    => 'show_home_title',
        'type'        => 'checkbox',
    ) );


    // =========================================================================
    // === 2. FARBEN & DARSTELLUNG (KOMBINIERT) ================================
    // =========================================================================

    // --- Sektion: Farben & Darstellung ---
    $wp_customize->add_section( 'theme_appearance_settings', array(
        'title'    => 'Farben & Darstellung',
        'priority' => 30,
    ) );

    // =========================================================================
    // === NEU: THEME PRESETS (VOREINSTELLUNGEN) ==============================
    // =========================================================================
    
    $wp_customize->add_setting( 'theme_color_preset', array(
        'default'           => 'classic',
        'sanitize_callback' => 'sanitize_key',
        'transport'         => 'refresh',
    ) );

    $wp_customize->add_control( 'theme_color_preset', array(
        'label'       => 'Theme Preset (Farbschema)',
        'description' => 'Wähle ein voreingestelltes Farbschema (z. B. für Nether oder End Dimension).',
        'section'     => 'theme_appearance_settings',
        'settings'    => 'theme_color_preset',
        'type'        => 'select',
        'priority'    => 1, // Zeig es ganz oben in dieser Sektion an
        'choices'     => array(
            'classic' => 'Classic Minecraft (Diamant-Blau)',
            'nether'  => 'Nether (Lava-Rot)',
            'end'     => 'The End (Ender-Purpur)',
        ),
    ) );

    // =========================================================================
    // === ENDE THEME PRESETS ==================================================
    // =========================================================================

    // Akzentfarbe
    $wp_customize->add_setting( 'primary_accent_color', array( 'default' => '#00d4ff', 'sanitize_callback' => 'sanitize_hex_color', 'transport' => 'refresh' ) );
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'primary_accent_color', array(
        'label'    => 'Akzentfarbe', 'section' => 'theme_appearance_settings', 'settings' => 'primary_accent_color',
    ) ) );

    // Hintergrundfarbe
    $wp_customize->add_setting( 'background_color', array(
        'default'           => '#ffffff',
        'sanitize_callback' => 'sanitize_hex_color',
        'transport'         => 'refresh',
    ) );
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'background_color', array(
        'label'    => 'Hintergrundfarbe',
        'section'  => 'theme_appearance_settings',
        'settings' => 'background_color',
    ) ) );

    // Dark / Light Mode
    $wp_customize->add_setting( 'default_theme_mode', array( 'default' => 'dark', 'sanitize_callback' => 'sanitize_key' ) );
    $wp_customize->add_control( 'default_theme_mode', array(
        'label'    => 'Standard-Theme-Modus', 'section' => 'theme_appearance_settings', 'type' => 'radio',
        'choices'  => array( 'dark' => 'Dark Mode (Standard)', 'light' => 'Light Mode' ),
    ) );


    // =========================================================================
    // === 3. SOCIAL MEDIA =====================================================
    // =========================================================================

    $wp_customize->add_section( 'social_links', array( 'title' => 'Social Media Links', 'priority' => 40 ) );
    $social_platforms = array( 'discord' => 'Discord', 'youtube' => 'YouTube', 'twitter' => 'Twitter (X)', 'facebook' => 'Facebook', 'instagram' => 'Instagram', 'tiktok' => 'TikTok', 'twitch' => 'Twitch', 'steam' => 'Steam', 'github' => 'GitHub', 'linkedin' => 'LinkedIn', 'pinterest' => 'Pinterest', 'reddit' => 'Reddit', 'teamspeak' => 'Teamspeak', 'spotify' => 'Spotify' );
    foreach ($social_platforms as $key => $label) {
        $wp_customize->add_setting( 'social_' . $key, array( 'sanitize_callback' => 'esc_url_raw' ) );
        $wp_customize->add_control( 'social_' . $key, array(
            'label'    => $label . ' URL', 'section' => 'social_links', 'settings' => 'social_' . $key, 'type' => 'url',
        ) );
    }


    // =========================================================================
    // === 4. FOOTER-BEREICH ==================================================
    // =========================================================================

    $wp_customize->add_section( 'footer_settings', array( 'title' => 'Footer-Einstellungen', 'priority' => 50 ) );

    // Copyright-Text
    $wp_customize->add_setting( 'footer_copyright', array( 'default' => '&copy; ' . date('Y') . ' ' . get_bloginfo('name'), 'sanitize_callback' => 'wp_kses_post' ) );
    $wp_customize->add_control( 'footer_copyright', array(
        'label'    => 'Copyright-Text', 'section' => 'footer_settings', 'settings' => 'footer_copyright', 'type' => 'textarea',
    ) );

    // Impressum & Datenschutz Links
    $wp_customize->add_setting( 'footer_impressum_url', array( 'sanitize_callback' => 'esc_url_raw' ) );
    $wp_customize->add_control( 'footer_impressum_url', array(
        'label'    => 'URL für Impressum', 'section' => 'footer_settings', 'settings' => 'footer_impressum_url', 'type' => 'url',
    ) );
    $wp_customize->add_setting( 'footer_datenschutz_url', array( 'sanitize_callback' => 'esc_url_raw' ) );
    $wp_customize->add_control( 'footer_datenschutz_url', array(
        'label'    => 'URL für Datenschutz', 'section' => 'footer_settings', 'settings' => 'footer_datenschutz_url', 'type' => 'url',
    ) );

    // Footer-Credit
    $wp_customize->add_setting( 'show_footer_credit', array( 'default' => true, 'sanitize_callback' => 'wp_validate_boolean' ) );
    $wp_customize->add_control( 'show_footer_credit', array(
        'label'    => 'Footer-Credit ("Minecraft Theme Erstellt von...") anzeigen', 'section' => 'footer_settings', 'settings' => 'show_footer_credit', 'type' => 'checkbox',
    ) );


    // =========================================================================
    // === 5. ZUSÄTZLICHE FUNKTIONEN ==========================================
    // =========================================================================

    // --- Sektion: FAQ Einstellungen ---
    $wp_customize->add_section( 'faq_settings', array( 'title' => 'FAQ Einstellungen', 'priority' => 60 ) );
    $wp_customize->add_setting( 'faq_enabled', array( 'default' => true, 'sanitize_callback' => 'wp_validate_boolean' ) );
    $wp_customize->add_control( 'faq_enabled', array(
        'label'    => 'FAQ System aktivieren', 'section' => 'faq_settings', 'settings' => 'faq_enabled', 'type' => 'checkbox',
    ) );

        // --- Sektion: Team Einstellungen ---
    $wp_customize->add_section( 'team_settings', array( 'title' => 'Team Einstellungen', 'priority' => 65 ) );
    $wp_customize->add_setting( 'team_enabled', array( 'default' => true, 'sanitize_callback' => 'wp_validate_boolean' ) );
    $wp_customize->add_control( 'team_enabled', array(
        'label'    => 'Team Showcase aktivieren', 'section' => 'team_settings', 'settings' => 'team_enabled', 'type' => 'checkbox',
    ) );

    // =========================================================================
    // === 6. LOGIN-BEREICH ====================================================
    // =========================================================================

    $wp_customize->add_section( 'login_settings', array(
        'title'       => 'Login-Einstellungen',
        'priority'    => 70,
        'description' => 'Passe das Aussehen der wp-admin Login-Seite an.',
    ) );

    // Login-Hintergrundbild
    $wp_customize->add_setting( 'login_background_image', array(
        'sanitize_callback' => 'esc_url_raw',
        'transport'         => 'refresh',
    ) );
    $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'login_background_image', array(
        'label'       => 'Login-Hintergrundbild',
        'section'     => 'login_settings',
        'settings'    => 'login_background_image',
    ) ) );

    // Login-Logo
    $wp_customize->add_setting( 'login_logo', array(
        'sanitize_callback' => 'esc_url_raw',
        'transport'         => 'refresh',
    ) );
    $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'login_logo', array(
        'label'       => 'Login-Logo (ersetzt das WordPress-Logo)',
        'section'     => 'login_settings',
        'settings'    => 'login_logo',
    ) ) );

    // Multi-Avatar UUIDs
    for ($i = 1; $i <= 5; $i++) {
        $wp_customize->add_setting( 'login_avatar_uuid_' . $i, array(
            'sanitize_callback' => 'sanitize_text_field',
            'transport'         => 'refresh',
        ) );
        $wp_customize->add_control( 'login_avatar_uuid_' . $i, array(
            'label'       => sprintf( 'Avatar %d UUID', $i ),
            'description' => sprintf( 'Gib die UUID für den %d. Avatar an. (Leer lassen, um zu deaktivieren)', $i ),
            'section'     => 'login_settings',
            'settings'    => 'login_avatar_uuid_' . $i,
            'type'        => 'text',
        ) );
    }

    // Slider-Geschwindigkeit
    $wp_customize->add_setting( 'login_avatar_slider_speed', array(
        'default'           => 4,
        'sanitize_callback' => 'absint',
        'transport'         => 'refresh',
    ) );
    $wp_customize->add_control( 'login_avatar_slider_speed', array(
        'label'       => 'Avatar-Wechsel (in Sekunden)',
        'description' => 'Wie viele Sekunden soll ein Avatar angezeigt werden?',
        'section'     => 'login_settings',
        'settings'    => 'login_avatar_slider_speed',
        'type'        => 'number',
        'input_attrs' => array( 'min' => 2, 'max' => 10, 'step' => 1 ),
    ) );

    // =========================================================================
    // === 7. EXPORT / IMPORT SECTION =========================================
    // =========================================================================
    
    $wp_customize->add_section( 'theme_mods_import_export', array(
        'title'       => __( 'Einstellungen sichern', 'minecraft-modern-theme' ),
        'priority'    => 999,
        'description' => '',
    ) );

    // Füge ein Custom Control mit HTML hinzu
    $wp_customize->add_setting( 'import_export_placeholder', array(
        'sanitize_callback' => 'sanitize_text_field',
    ) );

    // Custom Control Class für Export/Import
    class Import_Export_Control extends WP_Customize_Control {
        public $type = 'import_export';
        
        public function render_content() {
            $export_url = admin_url('admin-post.php?action=export_theme_settings');
            $nonce = wp_create_nonce('theme-import-nonce');
            ?>
            <div class="import-export-wrapper" style="margin-top: 15px;">
                <p class="description" style="margin-bottom: 20px;">
                    <strong>Hinweis:</strong> Hier kannst du alle deine Theme-Einstellungen sichern und wiederherstellen.
                </p>
                
                <a href="<?php echo esc_url($export_url); ?>" class="button button-primary button-hero" id="export-settings-btn" style="display: inline-flex; align-items: center; gap: 8px; margin-bottom: 20px;">
                    <span class="dashicons dashicons-download" style="margin-top:3px;"></span> Einstellungen Exportieren
                </a>
                
                <div style="border-top: 2px solid #ddd; padding-top: 20px; margin-top: 20px;">
                    <label style="display:block; margin-bottom:10px; font-weight:bold;">
                        Backup wiederherstellen:
                    </label>
                    <input type="file" id="import-settings-file" accept=".json" style="width:100%; margin-bottom:10px;">
                    <button type="button" class="button button-secondary" id="import-settings-btn" disabled style="display: inline-flex; align-items: center; gap: 8px;">
                        <span class="dashicons dashicons-upload" style="margin-top:3px;"></span> Einstellungen Importieren
                    </button>
                </div>
                
                <p class="description" style="margin-top:15px; padding: 10px; background: #fff3cd; border-left: 4px solid #ffc107;">
                    <strong>⚠️ Warnung:</strong> Beim Import werden alle aktuellen Einstellungen überschrieben!
                </p>
            </div>
            
            <script type="text/javascript">
                (function($) {
                    var ajaxUrl = '<?php echo admin_url('admin-ajax.php'); ?>';
                    var nonce = '<?php echo $nonce; ?>';
                    
                    $('#import-settings-file').on('change', function() {
                        $('#import-settings-btn').prop('disabled', $(this).val() === '');
                    });

                    $('#import-settings-btn').on('click', function() {
                        var fileInput = $('#import-settings-file')[0];
                        
                        if (fileInput.files.length === 0) {
                            alert('Bitte wähle eine JSON-Datei aus.');
                            return;
                        }

                        if (!confirm('WARNUNG: Alle aktuellen Einstellungen werden überschrieben. Bist du sicher?')) {
                            return;
                        }

                        var formData = new FormData();
                        formData.append('import_file', fileInput.files[0]);
                        formData.append('action', 'import_theme_settings');
                        formData.append('nonce', nonce);

                        var $btn = $(this);
                        var originalText = $btn.html();
                        $btn.prop('disabled', true).html('<span class="dashicons dashicons-update" style="margin-top:3px; animation: rotation 1s infinite linear;"></span> Importiere...');

                        $.ajax({
                            url: ajaxUrl,
                            type: 'POST',
                            data: formData,
                            processData: false,
                            contentType: false,
                            success: function(response) {
                                if (response.success) {
                                    alert('✅ ' + response.data);
                                    location.reload();
                                } else {
                                    alert('❌ Fehler: ' + response.data);
                                    $btn.prop('disabled', false).html(originalText);
                                }
                            },
                            error: function() {
                                alert('❌ Ein technischer Fehler ist aufgetreten.');
                                $btn.prop('disabled', false).html(originalText);
                            }
                        });
                    });
                })(jQuery);
            </script>
            
            <style>
                @keyframes rotation {
                    from { transform: rotate(0deg); }
                    to { transform: rotate(360deg); }
                }
            </style>
            <?php
        }
    }

    $wp_customize->add_control( new Import_Export_Control( $wp_customize, 'import_export_placeholder', array(
        'section' => 'theme_mods_import_export',
    ) ) );
}
add_action( 'customize_register', 'minecraft_modern_customize_register' );


// =========================================================================
// === DYNAMISCHES CSS =====================================================
// =========================================================================

function minecraft_modern_dynamic_css_output() {
    $accent_color = get_theme_mod( 'primary_accent_color', '#00d4ff' );
    $slider_font = get_theme_mod( 'slider_font_family', 'Raleway' );
    $slider_color = get_theme_mod( 'slider_font_color', '#ffffff' );
    $slider_size_setting = get_theme_mod( 'slider_font_size', 'mittel' );
    $header_height_setting = get_theme_mod( 'header_height', 'mittel' );

    // Header-Höhe umwandeln
    $header_height_value = '300px';
    if ( $header_height_setting === 'klein' ) {
        $header_height_value = '200px';
    } elseif ( $header_height_setting === 'gross' ) {
        $header_height_value = '400px';
    }

    // Schriftgrößen umwandeln
    $font_sizes = array(
        'klein'       => array( 'title' => '2.5rem', 'subtitle' => '1.2rem' ),
        'mittel'      => array( 'title' => '3.5rem', 'subtitle' => '1.4rem' ),
        'gross'       => array( 'title' => '4.5rem', 'subtitle' => '1.6rem' ),
        'extra-gross' => array( 'title' => '5.5rem', 'subtitle' => '1.8rem' ),
    );
    $chosen_sizes = isset( $font_sizes[$slider_size_setting] ) ? $font_sizes[$slider_size_setting] : $font_sizes['mittel'];

    $fonts_to_load = array($slider_font);
    $fonts_url = 'https://fonts.googleapis.com/css2?family=' . implode( ':wght@400;600;700&family=', $fonts_to_load ) . '&display=swap';
    ?>

    <link rel="stylesheet" href="<?php echo esc_url($fonts_url); ?>">
    <style type="text/css">
        :root {
            --primary-accent: <?php echo esc_attr($accent_color); ?>;
            --header-height: <?php echo esc_attr($header_height_value); ?>;
        }
        .slider-title, .slider-subtitle, .hero-title, .hero-subtitle, .hero-button-1, .hero-button-2 {
            font-family: '<?php echo esc_attr($slider_font); ?>', sans-serif;
            color: <?php echo esc_attr($slider_color); ?>;
        }
        .slider-title, .hero-title {
            font-size: <?php echo esc_attr($chosen_sizes['title']); ?>;
        }
        .slider-subtitle, .hero-subtitle {
            font-size: <?php echo esc_attr($chosen_sizes['subtitle']); ?>;
        }

        /* Trennlinie unter dem Header */
        .site-header {
            border-bottom: 4px solid var(--primary-accent);
        }

        /* Trennlinie unter dem Slider */
        .hero-slider {
            border-bottom: 4px solid var(--primary-accent);
        }

        /* Trennlinie am oberen Rand des Footers */
        .site-footer {
            border-top: 4px solid var(--primary-accent);
        }
    </style>
<?php
}
add_action( 'wp_head', 'minecraft_modern_dynamic_css_output' );

// =========================================================================
// === THEME PRESET LOGIC (JAVASCRIPT) =====================================
// =========================================================================

/**
 * Verbindet das Preset-Dropdown mit der Akzentfarbe-Einstellung.
 * Sobald ein Preset gewählt wird, wird die Farbe im Customizer aktualisiert.
 */
function minecraft_preset_customize_js() {
    ?>
    <script type="text/javascript">
        (function($) {
            // Definiere die Farben für die Presets
            var presetColors = {
                'classic': '#00d4ff', // Diamant Blau
                'nether':  '#ff3333', // Lava Rot
                'end':     '#aa00ff'  // Ender Purpur
            };

            // Warten bis der Customizer bereit ist
            wp.customize.bind('ready', function() {
                
                // Listener für das Preset-Dropdown
                wp.customize('theme_color_preset', function(setting) {
                    setting.bind(function(to) {
                        // Wenn eine Farbe für das gewählte Preset existiert...
                        if (presetColors[to]) {
                            // ...setze die Akzentfarbe auf diesen Wert.
                            // Das aktualisiert auch den Color Picker und die Live-Vorschau.
                            wp.customize('primary_accent_color').set(presetColors[to]);
                        }
                    });
                });

            });
        })(jQuery);
    </script>
    <?php
}
add_action('customize_controls_print_footer_scripts', 'minecraft_preset_customize_js');