/* Modal positioning fixes for all reveal modals */
.reveal-modal,
.reveal-modal[data-reveal],
.reveal-modal.reveal-modal {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    max-height: 90vh !important;
    z-index: 1005 !important;
    overflow: hidden !important;
}

/* Override Foundation size classes to maintain proper positioning */
.reveal-modal.small,
.reveal-modal.medium,
.reveal-modal.large,
.reveal-modal.xlarge,
.reveal-modal.tiny {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    right: auto !important;
}

/* Force override any inline styles with maximum specificity */
.reveal-modal[style*="top"],
.reveal-modal[style*="position"],
.reveal-modal[style*="transform"] {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
}

/* Only show scrollbar when content exceeds modal height */
.reveal-modal.scrollable {
    overflow-y: auto !important;
}

/* Comprehensive approach: disable pointer events on body to prevent scrolling */
body.modal-open {
    pointer-events: none !important;
}

/* Re-enable pointer events for modal and its contents */
body.modal-open .reveal-modal,
body.modal-open .reveal-modal *,
body.modal-open .reveal-modal-bg {
    pointer-events: auto !important;
}

/* Ensure modal backdrop covers entire viewport */
.reveal-modal-bg {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1004 !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .reveal-modal {
        width: 95% !important;
        max-width: none !important;
    }
} 