.app-modal {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: var(--ctev-spacing-16);
    max-width: 96vw;
    max-height: calc(100dvh - 2rem);
    padding: var(--ctev-spacing-16);
    overflow: hidden;
    border-radius: var(--ctev-radius-8);
    background: var(--ctev-white);
    color: var(--ctev-black);
}

    .app-modal .bm-header {
        flex: 0 0 auto;
        min-width: 0;
        padding: 0 0 var(--ctev-spacing-8);
    }

    .app-modal .bm-title {
        font-family: var(--ctev-type-heading-family);
        font-size: var(--ctev-m-fluid-size-clamp);
        font-weight: var(--ctev-font-weight-semibold);
        line-height: var(--ctev-line-height-150);
    }

    .app-modal .bm-close {
        padding: var(--ctev-spacing-8) var(--ctev-spacing-16) var(--ctev-spacing-16);
    }

    .app-modal .bm-content {
        flex: 1 1 auto;
        min-width: 0;
        min-height: 0;
        overflow-x: hidden;
        overflow-x: clip;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .app-modal.app-modal--search-results-filter {
        width: min(96vw, 40rem);
        max-width: 40rem;
    }

        .app-modal.app-modal--search-results-filter .app-modal__footer {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
            gap: var(--ctev-spacing-12);
        }

    .app-modal.app-modal--add-preferred-doctor {
        width: min(96vw, 32rem);
        max-width: 32rem;
    }
        .app-modal.app-modal--results-legend {
            width: min(96vw, 50rem);
            max-width: 50rem;
            gap: var(--ctev-spacing-8);
            padding: var(--ctev-spacing-24);
        }

        .app-modal.app-modal--results-legend .bm-header {
            padding: 0;
        }

@media (max-width: 36rem) {
    .app-modal.app-modal--search-results-filter {
        width: min(96vw, 30rem);
    }

        .app-modal.app-modal--search-results-filter .app-modal__footer {
            justify-content: stretch;
        }

            .app-modal.app-modal--search-results-filter .app-modal__footer .app-button {
                flex: 1 1 0;
            }

    .app-modal.app-modal--add-preferred-doctor {
        width: min(96vw, 30rem);
    }
}
