// Add Cookie Consent Popup HTML
add_action( 'wp_footer', 'freeio_cookie_consent_popup' );
function freeio_cookie_consent_popup() {
    ?>
    <div id="cookie-overlay" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:99998;"></div>

    <div id="cookie-consent-popup" style="display:none; position:fixed; bottom:20px; left:50%; transform:translateX(-50%); max-width:500px; background:#fff; padding:20px; border-radius:12px; box-shadow:0 4px 20px rgba(0,0,0,0.15); z-index:99999; font-size:14px; line-height:1.5;">
        <h3 style="margin-top:0;">🍪 Cookies</h3>

        <p>Nous utilisons des cookies pour améliorer votre expérience sur notre site. Veuillez sélectionner votre préférence ci-dessous :</p>

        <p><strong>Informations sur les cookies :</strong></p>
        <ul>
            <li><strong>Cookies nécessaires :</strong> Ces cookies sont essentiels pour le fonctionnement du site et ne peuvent pas être désactivés.</li>
            <li><strong>Cookies de performance :</strong> Ces cookies nous aident à comprendre comment les visiteurs interagissent avec notre site, en collectant et en rapportant des informations de manière anonyme.</li>
            <li><strong>Cookies de ciblage :</strong> Ces cookies peuvent être utilisés par des partenaires publicitaires pour créer un profil de vos intérêts et vous montrer des publicités pertinentes sur d'autres sites.</li>
        </ul>

        <!-- Accordion for cookie duration -->
        <div id="cookie-duration">
            <button id="toggle-duration" style="background:none; border:none; color:#007bff; cursor:pointer; padding:0; margin-top:10px; text-decoration:underline;">
                ➕ Durée de conservation des cookies
            </button>
            <div id="duration-content" style="display:none; margin-top:8px;">
                <ul>
                    <li>Cookies nécessaires : jusqu'à 12 mois</li>
                    <li>Cookies de performance : jusqu'à 24 mois</li>
                    <li>Cookies de ciblage : jusqu'à 24 mois</li>
                </ul>
            </div>
        </div>

        <p style="margin-top:10px;">
            Pour en savoir plus et paramétrer vos préférences, consultez la section
            <a href="#footer" id="cookie-footer-link">Gestion des cookies.</a>
        </p>

        <div style="margin-top:15px; display:flex; gap:10px; flex-wrap:wrap;">
            <button id="cookie-accept-all" style="background:#28a745; color:#fff; padding:8px 16px; border:none; border-radius:6px; cursor:pointer;">Tout accepter</button>
            <button id="cookie-reject-all" style="background:#dc3545; color:#fff; padding:8px 16px; border:none; border-radius:6px; cursor:pointer;">Tout refuser</button>
            <button id="cookie-customize" style="background:#ffc107; color:#000; padding:8px 16px; border:none; border-radius:6px; cursor:pointer;">Personnaliser</button>
        </div>

        <!-- Custom settings (hidden by default) -->
        <div id="cookie-settings" style="margin-top:15px; display:none;">
            <label><input type="checkbox" checked disabled> Cookies nécessaires (toujours activés)</label><br>
            <label><input type="checkbox" id="cookie-analytics" checked> Cookies de performance</label><br>
            <label><input type="checkbox" id="cookie-marketing"> Cookies de ciblage</label><br>
            <button id="cookie-save-settings" style="margin-top:10px; background:#007bff; color:#fff; padding:8px 16px; border:none; border-radius:6px; cursor:pointer;">Enregistrer</button>
        </div>
    </div>

    <script>
    document.addEventListener("DOMContentLoaded", function() {
        const overlay = document.getElementById("cookie-overlay");
        const popup = document.getElementById("cookie-consent-popup");
        const acceptAll = document.getElementById("cookie-accept-all");
        const rejectAll = document.getElementById("cookie-reject-all");
        const customize = document.getElementById("cookie-customize");
        const settings = document.getElementById("cookie-settings");
        const saveSettings = document.getElementById("cookie-save-settings");
        const toggleDuration = document.getElementById("toggle-duration");
        const durationContent = document.getElementById("duration-content");
        const footerLink = document.getElementById("cookie-footer-link");

        // Show popup only if not accepted/rejected before
        if (!localStorage.getItem("cookieConsent")) {
            overlay.style.display = "block";
            popup.style.display = "block";
            document.body.style.overflow = "hidden"; // prevent scrolling
        }

        // Accept all
        acceptAll.addEventListener("click", function() {
            localStorage.setItem("cookieConsent", "all");
            popup.style.display = "none";
            overlay.style.display = "none";
            document.body.style.overflow = ""; // restore scrolling
        });

        // Reject all
        rejectAll.addEventListener("click", function() {
            localStorage.setItem("cookieConsent", "none");
            popup.style.display = "none";
            overlay.style.display = "none";
            document.body.style.overflow = "";
        });

        // Customize toggle
        customize.addEventListener("click", function() {
            settings.style.display = (settings.style.display === "none" ? "block" : "none");
        });

        // Save settings
        saveSettings.addEventListener("click", function() {
            const preferences = {
                analytics: document.getElementById("cookie-analytics").checked,
                marketing: document.getElementById("cookie-marketing").checked
            };
            localStorage.setItem("cookieConsent", JSON.stringify(preferences));
            popup.style.display = "none";
            overlay.style.display = "none";
            document.body.style.overflow = "";
        });

        // Accordion toggle
        toggleDuration.addEventListener("click", function() {
            if (durationContent.style.display === "none") {
                durationContent.style.display = "block";
                toggleDuration.textContent = "➖ Durée de conservation des cookies";
            } else {
                durationContent.style.display = "none";
                toggleDuration.textContent = "➕ Durée de conservation des cookies";
            }
        });

        // Smooth scroll to footer
        if (footerLink) {
            footerLink.addEventListener("click", function(e) {
                e.preventDefault();
                setTimeout(() => {
                    const footer = document.getElementById("site-footer");
                    if (footer) {
                        footer.scrollIntoView({ behavior: "smooth", block: "start" });
                        footer.style.transition = "box-shadow 0.5s ease";
                        footer.style.boxShadow = "0 0 20px 5px yellow";
                        setTimeout(() => {
                            footer.style.boxShadow = "none";
                        }, 2000);
                    }
                }, 300);
            });
        }
    });

    // Reopen settings from footer button
    document.addEventListener("DOMContentLoaded", function() {
        const manageBtn = document.getElementById("manage-cookies");
        const popup = document.getElementById("cookie-consent-popup");
        const overlay = document.getElementById("cookie-overlay");

        if (manageBtn) {
            manageBtn.addEventListener("click", function(e) {
                e.preventDefault();
                popup.style.display = "block"; 
                overlay.style.display = "block";
                document.getElementById("cookie-settings").style.display = "block"; 
            });
        }
    });
    </script>
    <?php
}
