/* Smooth open/close for support flow modals (.me-modal) — only when .me-modal--animated */

.me-modal:not([hidden]) {
    display: flex;
}

.me-modal.me-modal--animated .me-modal__backdrop {
    transition: opacity 0.26s ease;
}

.me-modal.me-modal--animated .me-modal__dialog {
    transition:
        opacity 0.26s ease,
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.me-modal.me-modal--animated:not(.me-modal--open) .me-modal__backdrop {
    opacity: 0;
}

.me-modal.me-modal--animated:not(.me-modal--open) .me-modal__dialog {
    opacity: 0;
    transform: translateY(14px) scale(0.985);
}

.me-modal.me-modal--animated.me-modal--open .me-modal__backdrop {
    opacity: 1;
}

.me-modal.me-modal--animated.me-modal--open .me-modal__dialog {
    opacity: 1;
    transform: translateY(0) scale(1);
}

@media (max-width: 639px) {
    .me-modal.me-modal--animated:not(.me-modal--open) .me-modal__dialog {
        transform: translateY(100%);
    }

    .me-modal.me-modal--animated.me-modal--open .me-modal__dialog {
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .me-modal.me-modal--animated .me-modal__backdrop,
    .me-modal.me-modal--animated .me-modal__dialog {
        transition: none;
        transform: none;
        will-change: auto;
    }
}
