/**
 * Search Visibility Fix
 * Prevents Elementor and other scripts from hiding the search dropdown
 * after it's been opened
 * 
 * CRITICAL: Uses attribute selectors to override inline styles
 */

/* Force search results to stay visible when they should be visible */
.bmm-search-results:not(:empty),
.bmm-search-results .relevanssi_live_search_results,
.bmm-search-results .relevanssi-live-search-results,
.bmm-search-results .custom-search-dropdown,
.bmm-search-results .search-results-dropdown,
.bmm-search-results .weighted-search-results {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Hide empty results containers */
.bmm-search-results:empty,
.weighted-search-results:empty {
    display: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Also hide results that are shown but have no inner content */
.weighted-search-results:not(.force-visible) {
    display: none !important;
}

/* Show when it has the force-visible class AND content */
.weighted-search-results.force-visible:not(:empty) {
    display: block !important;
}

/* Target elements with inline opacity: 0 style - OVERRIDE INLINE STYLES */
.bmm-search-results[style*="opacity: 0"],
.bmm-search-results[style*="opacity:0"],
.weighted-search-results[style*="opacity: 0"],
.weighted-search-results[style*="opacity:0"] {
    opacity: 1 !important;
}

/* Target elements with display: none inline style */
.bmm-search-results[style*="display: none"],
.bmm-search-results[style*="display:none"],
.weighted-search-results[style*="display: none"],
.weighted-search-results[style*="display:none"] {
    display: block !important;
}

/* Add a forcing class that JS can add */
.bmm-search-results.force-visible,
.bmm-search-results.force-visible > *,
.bmm-search-results.force-visible .weighted-search-results,
.force-visible.relevanssi_live_search_results,
.force-visible.relevanssi-live-search-results,
.force-visible.custom-search-dropdown,
.force-visible.search-results-dropdown,
.force-visible.weighted-search-results {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* BUT don't force block display on inline elements */
.bmm-search-results.force-visible mark,
.bmm-search-results.force-visible button,
.bmm-search-results.force-visible a,
.bmm-search-results.force-visible span,
.weighted-search-results mark,
.weighted-search-results button,
.weighted-search-results a,
.weighted-search-results span {
    display: inline !important;
}

/* Inline-block for buttons that need to be clickable blocks */
.bmm-search-results .page-btn,
.weighted-search-results .page-btn,
.search-pagination button {
    display: inline-block !important;
}

/* Prevent ANY script from hiding these when open */
.bmm-search-overlay.is-open .bmm-search-results,
.bmm-search-overlay.is-open .bmm-search-results *[class*="results"],
.bmm-search-overlay.is-open .weighted-search-results {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Nuclear option - target any results container with inline opacity */
[class*="search-results"][style*="opacity"],
[class*="weighted-search"][style*="opacity"] {
    opacity: 1 !important;
}

/* FIX: Ensure mark/highlight tags display inline, not block */
.bmm-search-results mark,
.weighted-search-results mark,
.result-excerpt mark {
    display: inline !important;
    padding: 2px 4px;
    background-color: #ffb81c;
    color: #003594;
    font-weight: 600;
    border-radius: 2px;
}
