/* Fix for overlay blocking content */
body {
    position: relative;
}

/* Ensure hidden popups don't block - CRITICAL FIX */
.age-popup.hidden,
.cookie-banner.hidden,
.age-popup[style*="display: none"],
.cookie-banner[style*="display: none"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: -1 !important;
    opacity: 0 !important;
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    touch-action: none !important;
}

/* Force hide if display none in inline style */
div[id="ageVerification"][style*="display: none"],
div[id="ageDenial"][style*="display: none"],
div[id="cookieConsent"][style*="display: none"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: -1 !important;
    opacity: 0 !important;
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Ensure main content is always accessible */
main,
section,
.hero,
.container {
    position: relative;
    z-index: 1;
    pointer-events: auto;
}

/* Buttons and interactive elements */
button,
a,
input,
textarea,
select,
.filter-btn,
.tab-button,
.article-card,
.guide-card,
.review-card,
.compliance-text-block,
.compliance-logo {
    position: relative;
    z-index: 10;
    pointer-events: auto !important;
}

/* Mobile menu - ensure it's always clickable */
.mobile-menu-toggle {
    pointer-events: auto !important;
    z-index: 1001 !important;
    position: relative !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent;
}

.mobile-menu {
    pointer-events: none !important;
    z-index: 999 !important;
    position: fixed !important;
    visibility: hidden !important;
    display: none !important;
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.mobile-menu.active {
    pointer-events: auto !important;
    visibility: visible !important;
    display: block !important;
}

.mobile-menu ul {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    position: relative !important;
}

.mobile-menu ul li {
    width: 100% !important;
    margin: 0 !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
    display: block !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.mobile-menu ul li a {
    pointer-events: auto !important;
    position: relative !important;
    cursor: pointer !important;
    width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    -webkit-tap-highlight-color: rgba(74, 95, 199, 0.3);
}

/* Ensure mobile menu is above everything when active */
.mobile-menu.active {
    z-index: 1000 !important;
    pointer-events: auto !important;
    display: block !important;
    transform: translateY(0) !important;
}

.mobile-menu-toggle.active {
    z-index: 1002 !important;
}
