/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/
<?php
/**
 * FATIMASTYLE — Snippets complets
 * Commandes +212 715 008 986 | Support +212 707 504 004
 * Email : contact@timastyle.com
 * Adresse : N° 410 Résidence Riad Alqods, Boulevard Haifa Ain Chock, Casablanca
 */

// 1. DEVISE MAD
add_filter('woocommerce_currency_symbol', function($symbol, $currency) {
    return $currency === 'MAD' ? 'MAD' : $symbol;
}, 10, 2);

add_filter('woocommerce_price_format', function() {
    return '%2$s&nbsp;%1$s';
}, 10, 2);

// 2. TEXTE BOUTON
add_filter('woocommerce_product_single_add_to_cart_text', function() { return 'Ajouter au panier'; });
add_filter('woocommerce_product_add_to_cart_text', function() { return 'Ajouter'; });

// 3. LIVRAISON GRATUITE MESSAGE
add_action('woocommerce_before_cart', 'fs_free_shipping_msg');
add_action('woocommerce_before_mini_cart', 'fs_free_shipping_msg');
function fs_free_shipping_msg() {
    if (!WC()->cart) return;
    $total = WC()->cart->subtotal;
    $threshold = 500;
    if ($total < $threshold) {
        $remaining = $threshold - $total;
        echo '<div class="woocommerce-message" style="border-left-color:#D4AF37;"><strong>🚚 Livraison gratuite !</strong> Plus que <strong>' . number_format($remaining, 0, ',', ' ') . ' MAD</strong>.</div>';
    } else {
        echo '<div class="woocommerce-message" style="border-left-color:#D4AF37;">🎉 <strong>Félicitations !</strong> Livraison gratuite activée.</div>';
    }
}

// 4. BADGE "DERNIÈRE PIÈCE"
add_action('woocommerce_before_shop_loop_item_title', function() {
    global $product;
    if (!$product->managing_stock()) return;
    $stock = $product->get_stock_quantity();
    if ($stock !== null && $stock > 0 && $stock < 5) {
        echo '<span class="product-label" style="background:#fff3cd;color:#856404;font-weight:600;">Dernière pièce</span>';
    }
}, 15);

// 5. BADGE "NOUVEAU"
add_action('woocommerce_before_shop_loop_item_title', function() {
    global $product;
    $days = floor((time() - strtotime($product->get_date_created())) / 86400);
    if ($days < 30) echo '<span class="product-label label-new">Nouveau</span>';
}, 14);

// 6. PANIER VIDE
add_filter('woocommerce_cart_empty_message', function() {
    return 'Votre panier est vide. Découvrez nos nouveautés !';
});

// 7. CHECKOUT — VILLES MAROC
add_filter('woocommerce_checkout_fields', function($fields) {
    $fields['billing']['billing_city']['type'] = 'select';
    $fields['billing']['billing_city']['options'] = array(
        '' => 'Sélectionnez votre ville',
        'casablanca' => 'Casablanca',
        'rabat' => 'Rabat',
        'marrakech' => 'Marrakech',
        'fes' => 'Fès',
        'tanger' => 'Tanger',
        'agadir' => 'Agadir',
        'meknes' => 'Meknès',
        'oujda' => 'Oujda',
        'kenitra' => 'Kénitra',
        'tetouan' => 'Tétouan',
        'safi' => 'Safi',
        'mohammedia' => 'Mohammedia',
        'el-jadida' => 'El Jadida',
        'settat' => 'Settat',
        'beni-mellal' => 'Beni Mellal',
        'nador' => 'Nador',
    );
    $fields['billing']['billing_phone']['placeholder'] = '+212 6XX XXX XXX';
    $fields['billing']['billing_phone']['required'] = true;
    return $fields;
});

// 8. EMAIL COORDONNÉES
add_action('woocommerce_email_footer', function() {
    echo '<div style="margin-top:30px;padding:25px;background:#FAFAFA;border-top:3px solid #D4AF37;">';
    echo '<h3 style="color:#000;font-family:Georgia,serif;margin-bottom:15px;font-size:18px;">FatimaStyle — L\'Élégance au Féminin</h3>';
    echo '<p style="color:#666;font-size:13px;line-height:1.8;">';
    echo '📍 <strong>N° 410 Résidence Riad Alqods, Boulevard Haifa Ain Chock, Casablanca</strong><br>';
    echo '📞 Commandes : <strong>+212 715 008 986</strong><br>';
    echo '📞 Support : <strong>+212 707 504 004</strong><br>';
    echo '✉️ Email : <strong>contact@timastyle.com</strong><br>';
    echo '📷 <a href="https://www.instagram.com/fatimaa.style" style="color:#D4AF37;">@fatimaa.style</a> | ';
    echo '👍 <a href="https://www.facebook.com/fatimaa.style" style="color:#D4AF37;">fatimaa.style</a>';
    echo '</p></div>';
});

// 9. GOOGLE FONTS
add_action('wp_enqueue_scripts', function() {
    wp_enqueue_style('fs-fonts', 'https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap', array(), null);
});

// 10. MESSAGE AJOUT PANIER
add_filter('wc_add_to_cart_message_html', function($msg, $products) {
    $titles = array();
    foreach ($products as $id => $qty) $titles[] = get_the_title($id);
    return '✨ "' . implode('", "', $titles) . '" ajouté(s) à votre panier.';
}, 10, 2);

// 11. DÉSACTIVER NOTES
add_filter('woocommerce_enable_order_notes_field', '__return_false');

// 12. TITRE BOUTIQUE
add_filter('woocommerce_page_title', function($title) {
    return is_shop() ? 'Notre Collection' : $title;
});

// 13. WHATSAPP FLOTTANT
add_action('wp_footer', function() {
    if (is_admin()) return;
    ?>
    <a href="https://wa.me/212715008986?text=Bonjour%20FatimaStyle%20!%20Je%20souhaite%20passer%20une%20commande." target="_blank" rel="noopener noreferrer" class="fs-whatsapp-btn" aria-label="Commander par WhatsApp">
        <div class="fs-whatsapp-pulse"></div>
        <svg viewBox="0 0 24 24" style="width:32px;height:32px;fill:white;"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/></svg>
    </a>
    <?php
});

// 14. BACK TO TOP
add_action('wp_footer', function() {
    ?>
    <button class="fs-back-to-top" id="fsBackToTop" aria-label="Retour en haut">
        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m18 15-6-6-6 6"/></svg>
    </button>
    <script>
    (function(){
        var btn=document.getElementById('fsBackToTop');
        if(!btn)return;
        window.addEventListener('scroll',function(){
            btn.classList.toggle('visible',window.scrollY>400);
        });
        btn.addEventListener('click',function(){
            window.scrollTo({top:0,behavior:'smooth'});
        });
    })();
    </script>
    <?php
});

// 15. COOKIE BANNER
add_action('wp_footer', function() {
    ?>
    <div class="fs-cookie-banner" id="fsCookieBanner">
        <p>🍪 Nous utilisons des cookies pour améliorer votre expérience. En continuant, vous acceptez notre <a href="/politique-de-confidentialite">politique de confidentialité</a>.</p>
        <button class="fs-cookie-banner-btn" onclick="document.getElementById('fsCookieBanner').style.display='none';localStorage.setItem('fs_cookie','1');">J'accepte</button>
    </div>
    <script>(function(){if(!localStorage.getItem('fs_cookie'))document.getElementById('fsCookieBanner').classList.add('visible');})();</script>
    <?php
});

// 16. STICKY ADD TO CART (MOBILE)
add_action('wp_footer', function() {
    if (!is_product()) return;
    global $product;
    if (!$product) return;
    ?>
    <div class="fs-sticky-bar" id="fsStickyBar">
        <div class="fs-sticky-bar-info">
            <?php echo woocommerce_get_product_thumbnail('thumbnail', array('class'=>'fs-sticky-bar-img')); ?>
            <div style="min-width:0;">
                <div class="fs-sticky-bar-title"><?php echo esc_html(get_the_title()); ?></div>
                <div class="fs-sticky-bar-price"><?php echo $product->get_price_html(); ?></div>
            </div>
        </div>
        <button type="submit" form="fsStickyForm" class="fs-sticky-bar-btn">Ajouter</button>
    </div>
    <script>
    (function(){
        var bar=document.getElementById('fsStickyBar');
        var form=document.querySelector('form.cart');
        if(!bar||!form)return;
        form.id='fsStickyForm';
        window.addEventListener('scroll',function(){
            var r=form.getBoundingClientRect();
            bar.classList.toggle('visible',r.bottom<0);
        });
    })();
    </script>
    <?php
});

// 17. PRODUITS RÉCEMMENT VUS
add_action('woocommerce_after_single_product', function() {
    if (!is_product()) return;
    $viewed = !empty($_COOKIE['fs_viewed']) ? explode('|', sanitize_text_field(wp_unslash($_COOKIE['fs_viewed']))) : array();
    $viewed = array_filter(array_map('intval', $viewed));
    global $post;
    $current = $post->ID;
    if (!in_array($current, $viewed)) $viewed[] = $current;
    $viewed = array_slice($viewed, -12);
    setcookie('fs_viewed', implode('|', $viewed), time()+2592000, COOKIEPATH, COOKIE_DOMAIN);
    $viewed = array_diff($viewed, array($current));
    if (empty($viewed)) return;
    $q = new WP_Query(array('post_type'=>'product','posts_per_page'=>4,'post__in'=>$viewed,'orderby'=>'post__in'));
    if ($q->have_posts()) {
        echo '<div style="margin-top:60px;padding-top:40px;border-top:1px solid #eee;"><h2 style="font-family:Playfair Display,serif;font-size:24px;margin-bottom:24px;text-align:center;">Récemment consultés</h2><div class="products columns-4">';
        while ($q->have_posts()) { $q->the_post(); wc_get_template_part('content','product'); }
        echo '</div></div>'; wp_reset_postdata();
    }
}, 20);

// 18. QUANTITY STEPPERS
add_action('wp_footer', function() {
    if (!is_product()) return;
    ?>
    <script>
    document.addEventListener('DOMContentLoaded',function(){
        var qty=document.querySelector('input.qty');
        if(!qty)return;
        var wrap=document.createElement('div');
        wrap.style.cssText='display:flex;align-items:center;border:1px solid #e5e5e5;width:fit-content;';
        var minus=document.createElement('button');
        minus.type='button'; minus.innerHTML='−';
        minus.style.cssText='width:36px;height:44px;border:none;background:#fff;cursor:pointer;font-size:16px;';
        var plus=document.createElement('button');
        plus.type='button'; plus.innerHTML='+';
        plus.style.cssText='width:36px;height:44px;border:none;background:#fff;cursor:pointer;font-size:16px;';
        qty.style.cssText='width:40px;height:44px;border:none;border-left:1px solid #e5e5e5;border-right:1px solid #e5e5e5;text-align:center;font-size:14px;';
        qty.parentNode.insertBefore(wrap,qty);
        wrap.appendChild(minus); wrap.appendChild(qty); wrap.appendChild(plus);
        minus.addEventListener('click',function(){var v=parseInt(qty.value)||1;if(v>1)qty.value=v-1;qty.dispatchEvent(new Event('change'));}); 
        plus.addEventListener('click',function(){var v=parseInt(qty.value)||1;qty.value=v+1;qty.dispatchEvent(new Event('change'));});
    });
    </script>
    <?php
});

// 19. HIDE ADMIN BAR
add_action('after_setup_theme', function() {
    if (!current_user_can('administrator') && !is_admin()) show_admin_bar(false);
});

// 20. LOGIN LOGO
add_action('login_enqueue_scripts', function() {
    ?>
    <style>
    #login h1 a { background-image:none !important; width:auto; height:auto; text-indent:0; font-family:'Playfair Display',serif; font-size:28px; color:#D4AF37; text-decoration:none; text-align:center; display:block; margin-bottom:20px; }
    #login h1 a::before { content:'FatimaStyle'; }
    body.login { background:#000; }
    body.login form { background:#fff; border-radius:0; }
    body.login input[type="submit"] { background:#D4AF37; border-color:#D4AF37; color:#000; border-radius:0; }
    </style>
    <?php
});

// 21. FOOTER CREDITS
add_filter('woodmart_copyrights_text', function($text) {
    return '© ' . date('Y') . ' FatimaStyle. Tous droits réservés. — N° 410 Résidence Riad Alqods, Boulevard Haifa Ain Chock, Casablanca';
});