.ft-modal {
    --modal-background-color: #f9f9f9;

    overflow: hidden;
    margin: 0 auto;
    position: relative;
    background-color: var(--modal-background-color);
    padding: 2rem;
    border-radius: 0.5rem;

    .ft-modal-edge {
        position: absolute;
        box-shadow: inset 0 0 1.25rem 0.75rem #f9f9f9;

        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1;
        pointer-events: none;
    }

    .ft-modal-close-button {
        display: block;
        aspect-ratio: 1/1;
        position: absolute;
        top: 16px;
        right: 16px;
        padding: 0.3rem 0.6rem;
        z-index: 2;
    }

    .ft-modal-content {
        position: relative;
    }
}

.ft-modal-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100svh;

    z-index: 10000;
    pointer-events: none;

    background: rgba(0, 0, 0, 0.75);

    display: none;
    place-items: center;

    &.ft-modal-container-visible {
        pointer-events: auto;
        display: grid;
    }
}

@media (max-width: 767px) {
    .ft-modal {
        padding: 2rem !important;
        margin-top: 50px;
    }
}

@media (max-width: 425px) {
    .ft-modal {
        padding: 1rem !important;
    }
}