/* =========================================================
   DEMO VISIBILITY FIX
   Ensures demo content is always visible below popups
   ========================================================= */

/* Ensure water crystal demo is always visible */
.water-crystal-demo {
    position: relative !important;
    z-index: 1 !important;
    background: #FFF8DC !important;
    padding: 60px 0 !important;
    margin-top: 40px !important;
}

/* Fix assessment container z-index */
.assessment-container,
.matching-container {
    position: relative !important;
    z-index: 100 !important;
    background: rgba(255, 248, 220, 0.95) !important;
    border-radius: 20px !important;
    padding: 40px !important;
    margin-bottom: 60px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1) !important;
}

/* Ensure wellness-match section doesn't overlay other content */
.wellness-match {
    position: relative !important;
    z-index: 10 !important;
    background: linear-gradient(135deg, #FFF8DC 0%, #FAEBD7 50%, #FFE4B5 100%) !important;
    margin-bottom: 0 !important;
}

/* Fix progress bar container */
.assessment-progress {
    position: relative !important;
    z-index: 101 !important;
}

/* Ensure question cards don't overflow */
.question-card {
    position: relative !important;
    z-index: 102 !important;
    max-height: 600px !important;
    overflow-y: auto !important;
}

/* Fix matching container when at 100% */
.matching-container {
    max-height: 80vh !important;
    overflow-y: auto !important;
}

/* Ensure content below wellness section is visible */
#contact,
section:not(#wellness-match) {
    position: relative !important;
    z-index: 1 !important;
}

/* Crystal comparison visibility fix */
.crystal-comparison {
    position: relative !important;
    z-index: 2 !important;
    margin-top: 40px !important;
    padding: 20px !important;
}

.crystal-before,
.crystal-after {
    position: relative !important;
    z-index: 3 !important;
}

/* Mobile responsive fixes */
@media (max-width: 768px) {
    .assessment-container,
    .matching-container {
        margin-bottom: 40px !important;
        padding: 20px !important;
    }

    .water-crystal-demo {
        padding: 40px 0 !important;
        margin-top: 20px !important;
    }
}

/* Ensure no overlap with fixed elements */
@media (min-width: 1200px) {
    .assessment-container {
        min-height: auto !important;
        max-height: 80vh !important;
        overflow-y: auto !important;
    }
}