/* رفع مشکل کلید شناور */
.parsian-floating-btn {
    position: fixed !important;
    bottom: 20px !important;
    z-index: 99999 !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease !important;
    max-width: calc(100vw - 40px) !important;
    overflow: hidden !important;
}

/* اطمینان از قرارگیری در داخل کانتینر */
.elementor-section-wrap .parsian-floating-btn,
.elementor .parsian-floating-btn,
.site-content .parsian-floating-btn,
.container .parsian-floating-btn,
.wrap .parsian-floating-btn {
    right: 20px !important;
    left: auto !important;
}

/* برای حالت‌های مختلف صفحه */
@media (max-width: 767px) {
    .parsian-floating-btn {
        right: 10px !important;
        left: auto !important;
        bottom: 70px !important; /* بالاتر از منوی موبایل */
        max-width: calc(100vw - 20px) !important;
        font-size: 14px !important;
        padding: 10px 15px !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .parsian-floating-btn {
        right: 30px !important;
        left: auto !important;
    }
}

/* برای حالت چاپ */
@media print {
    .parsian-floating-btn {
        display: none !important;
    }
}

/* رفع مشکل overflow */
body.parsian-modal-open {
    overflow: hidden !important;
    position: relative !important;
}

/* اطمینان از نمایش صحیح مودال */
.parsian-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 9999999 !important;
    display: none !important;
    justify-content: center !important;
    align-items: center !important;
    background: rgba(0, 0, 0, 0.8) !important;
}

.parsian-modal.active {
    display: flex !important;
}

.parsian-modal-content {
    position: relative !important;
    background: white !important;
    border-radius: 15px !important;
    max-width: 90vw !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    animation: parsianModalFadeIn 0.3s ease !important;
}

@keyframes parsianModalFadeIn {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* رفع مشکلات نمایش در المنتور */
.elementor-element .parsian-insurance-widget {
    position: relative !important;
    overflow: visible !important;
}

.elementor-widget-parsian_insurance_voucher {
    overflow: visible !important;
}

jQuery(document).ready(function($) {
    'use strict';
    
    console.log('Parsian Insurance Frontend JS Loaded');
    
    // تابع اصلی فعال‌سازی
    function initAllEvents() {
        console.log('Initializing all insurance events...');
        
        // 1. فعال‌سازی دکمه‌های مودال
        $(document).off('click', '.parsian-btn-modal').on('click', '.parsian-btn-modal', function(e) {
            e.preventDefault();
            e.stopPropagation();
            console.log('Frontend: Modal button clicked');
            
            var modalId = $(this).data('modal-target');
            if (modalId && $(modalId).length) {
                $(modalId).fadeIn(300).css('display', 'flex');
                $('body').addClass('parsian-modal-open');
                console.log('Frontend: Modal opened:', modalId);
            }
        });
        
        // 2. بستن مودال‌ها
        $(document).off('click', '.parsian-modal-close, .parsian-modal-overlay').on('click', '.parsian-modal-close, .parsian-modal-overlay', function(e) {
            e.preventDefault();
            e.stopPropagation();
            console.log('Frontend: Closing modal');
            $('.parsian-modal').fadeOut(300);
            $('body').removeClass('parsian-modal-open');
        });
        
        // 3. کلیه دکمه‌های دیگر
        $(document).off('click', '.parsian-print-btn').on('click', '.parsian-print-btn', function(e) {
            e.preventDefault();
            window.print();
        });
        
        $(document).off('click', '.parsian-copy-btn').on('click', '.parsian-copy-btn', function(e) {
            e.preventDefault();
            var textToCopy = $(this).data('copy-text');
            if (textToCopy) {
                navigator.clipboard.writeText(textToCopy).then(function() {
                    alert('متن کپی شد!');
                });
            }
        });
        
        // 4. رفع مشکل کلید شناور
        function fixFloatingBtn() {
            var $floatingBtn = $('.parsian-floating-btn');
            if ($floatingBtn.length) {
                var windowWidth = $(window).width();
                var $container = $('.elementor-container, .container').first();
                var containerWidth = $container.length ? $container.outerWidth() : windowWidth;
                var containerOffset = $container.length ? $container.offset().left : 0;
                
                var rightPosition = Math.max(20, containerOffset);
                $floatingBtn.css({
                    'right': rightPosition + 'px',
                    'max-width': (containerWidth - 40) + 'px'
                });
            }
        }
        
        // اجرا
        $(window).on('load resize', fixFloatingBtn);
        setTimeout(fixFloatingBtn, 300);
        
        console.log('Frontend events initialized');
    }
    
    // اجرای اولیه
    initAllEvents();
    
    // اجرای مجدد برای اطمینان
    setTimeout(initAllEvents, 1000);
    setTimeout(initAllEvents, 3000);
    
    // برای المنتور
    if (typeof elementorFrontend !== 'undefined') {
        elementorFrontend.hooks.addAction('frontend/element_ready/global', function() {
            setTimeout(initAllEvents, 500);
        });
    }
});