/**
 * Modales visibles en tablet / touch (p. ej. Redmi Pad 2).
 * Evita que el diálogo quede arriba del documento cuando la página tiene scroll.
 */

@media (max-width: 1199.98px) {
    .modal {
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .modal-backdrop {
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        height: 100dvh !important;
    }

    .modal-dialog {
        margin-left: auto;
        margin-right: auto;
    }

    .modal-dialog-centered {
        align-items: flex-start !important;
        min-height: calc(100dvh - var(--bs-modal-margin, 0.5rem) * 2) !important;
        padding-top: max(0.5rem, env(safe-area-inset-top, 0px));
        padding-bottom: max(0.5rem, env(safe-area-inset-bottom, 0px));
    }

    .modal-dialog-scrollable {
        max-height: calc(100dvh - 1rem);
    }

    .modal-dialog-scrollable .modal-content {
        max-height: calc(100dvh - 1rem);
    }

    .cv-auth-modal {
        top: max(0.75rem, env(safe-area-inset-top, 0px)) !important;
        bottom: auto !important;
        max-height: calc(100dvh - 1.5rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        transform: translateX(-50%) scale(0.94) !important;
    }

    .cv-auth-modal.is-open {
        transform: translateX(-50%) scale(1) !important;
    }

    .cv-session-expired {
        align-items: flex-start !important;
        padding-top: max(1rem, env(safe-area-inset-top, 0px));
        padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }
}

html.cv-modal-scroll-lock,
body.cv-modal-scroll-lock {
    overflow: hidden !important;
    touch-action: none;
}
