/* Modern FAQ Pro Elementor Specific Styles */

/* Elementor Editor Overrides */
.elementor-editor-active .modern-faq-container {
    pointer-events: auto;
}

.elementor-editor-active .modern-faq-question {
    cursor: pointer;
}

/* Elementor Widget Icon in Panel */
.elementor-element .icon .eicon-help-o:before {
    content: "\e8af";
}

/* Elementor Preview Mode Specific Styles */
.elementor-widget-modern-faq-pro {
    position: relative;
}

.elementor-widget-modern-faq-pro .modern-faq-container {
    width: 100%;
    max-width: none;
}

/* Elementor Column Integration */
.elementor-column .modern-faq-container {
    margin: 0;
}

/* Elementor Section Spacing Override */
.elementor-section .modern-faq-list {
    margin: 0;
}

/* Elementor Responsive Breakpoints */
@media (max-width: 1024px) {
    .elementor-widget-modern-faq-pro .modern-faq-question {
        padding: 18px 55px 18px 20px;
    }
    
    .elementor-widget-modern-faq-pro .modern-faq-question-text {
        font-size: 17px;
    }
}

@media (max-width: 767px) {
    .elementor-widget-modern-faq-pro .modern-faq-question {
        padding: 14px 45px 14px 14px;
    }
    
    .elementor-widget-modern-faq-pro .modern-faq-question-text {
        font-size: 15px;
    }
    
    .elementor-widget-modern-faq-pro .modern-faq-answer-content {
        padding: 0 14px 14px 14px;
        font-size: 14px;
    }
    
    .elementor-widget-modern-faq-pro .modern-faq-toggle-icon {
        right: 10px;
        width: 26px;
        height: 26px;
    }
}

/* Elementor Theme Compatibility */
.elementor-widget-modern-faq-pro .modern-faq-item {
    font-family: inherit;
}

.elementor-widget-modern-faq-pro .modern-faq-question-text {
    font-family: inherit;
}

.elementor-widget-modern-faq-pro .modern-faq-answer-content {
    font-family: inherit;
}

/* Elementor Color Scheme Integration */
.elementor-widget-modern-faq-pro .modern-faq-question-text {
    color: var(--e-global-color-text, #333333);
}

.elementor-widget-modern-faq-pro .modern-faq-answer-content {
    color: var(--e-global-color-secondary, #666666);
}

.elementor-widget-modern-faq-pro .modern-faq-item {
    background-color: var(--e-global-color-primary, #ffffff);
}

/* Elementor Editor Enhancements */
.elementor-editor .modern-faq-item {
    transition: none;
}

.elementor-editor .modern-faq-answer {
    max-height: none;
    overflow: visible;
}

.elementor-editor .modern-faq-item.active .modern-faq-answer {
    display: block;
}

/* Elementor Kit Defaults Override */
.elementor-kit-default .modern-faq-question-text {
    margin: 0;
    line-height: 1.4;
}

.elementor-kit-default .modern-faq-answer-content p {
    margin-bottom: 1em;
}

.elementor-kit-default .modern-faq-answer-content p:last-child {
    margin-bottom: 0;
}

/* Elementor Animation Support */
.elementor-widget-modern-faq-pro[data-settings*="animation"] {
    opacity: 0;
}

.elementor-widget-modern-faq-pro.elementor-invisible {
    opacity: 0;
}

/* Elementor Motion Effects Compatibility */
.elementor-motion-effects-element .modern-faq-container {
    will-change: auto;
}

/* Elementor Popup Compatibility */
.elementor-popup-modal .modern-faq-container {
    max-height: 70vh;
    overflow-y: auto;
}

.elementor-popup-modal .modern-faq-item {
    margin-bottom: 8px;
}

/* Elementor Grid Container Support */
.elementor-widget-modern-faq-pro .e-con {
    width: 100%;
}

.elementor-widget-modern-faq-pro .e-con-inner {
    width: 100%;
}

/* Elementor Flexbox Container Support */
.elementor-widget-modern-faq-pro .e-con[data-type="flex"] {
    display: flex;
    flex-direction: column;
}

/* Elementor Background Overlay Compatibility */
.elementor-widget-modern-faq-pro .elementor-background-overlay {
    z-index: 0;
}

.elementor-widget-modern-faq-pro .modern-faq-container {
    position: relative;
    z-index: 1;
}

/* Elementor Custom CSS Support */
.elementor-widget-modern-faq-pro .elementor-widget-container {
    width: 100%;
}

/* High Contrast Mode for Elementor */
@media (prefers-contrast: high) {
    .elementor-widget-modern-faq-pro .modern-faq-item {
        border-width: 2px;
    }
    
    .elementor-widget-modern-faq-pro .modern-faq-question:focus {
        outline-width: 3px;
    }
}

/* Reduced Motion for Elementor */
@media (prefers-reduced-motion: reduce) {
    .elementor-widget-modern-faq-pro .modern-faq-item,
    .elementor-widget-modern-faq-pro .modern-faq-question,
    .elementor-widget-modern-faq-pro .modern-faq-toggle-icon,
    .elementor-widget-modern-faq-pro .modern-faq-answer {
        transition: none;
    }
    
    .elementor-widget-modern-faq-pro .modern-faq-item.opening .modern-faq-answer {
        animation: none;
    }
}

/* Print Styles for Elementor Pages */
@media print {
    .elementor-widget-modern-faq-pro .modern-faq-answer {
        max-height: none !important;
        overflow: visible !important;
    }
    
    .elementor-widget-modern-faq-pro .modern-faq-toggle-icon {
        display: none;
    }
    
    .elementor-widget-modern-faq-pro .modern-faq-item {
        break-inside: avoid;
        page-break-inside: avoid;
    }
}

/* RTL Support for Elementor */
.rtl .elementor-widget-modern-faq-pro .modern-faq-question {
    padding: 20px 24px 20px 60px;
}

.rtl .elementor-widget-modern-faq-pro .modern-faq-toggle-icon {
    right: auto;
    left: 20px;
}

.rtl .elementor-widget-modern-faq-pro .modern-faq-featured::before {
    right: auto;
    left: 60px;
}