@layer tm-components {
    .tm-modal {
        position: fixed;
        inset: 0;
        z-index: 1000;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;

    }

    .tm-modal__backdrop {
        position: absolute;
        inset: 0;
        background: rgb(0 0 0 / 50%);
    }

    .tm-modal__panel {
        position: relative;
        max-width: 64rem;
        max-height: 92vh;
        width:var(--tm-layout-modal-width);
        overflow-y: auto;
        background: #fff;
        border-radius: var(--tm-radius-2);
        box-shadow: var(--tm-shadow-2);
    }

    .tm-modal__header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: var(--tm-space-4);
        padding: var(--tm-space-4);
        border-bottom: 1px solid var(--tm-color-border);
    }

    .tm-modal__title {
        margin: 0;
        font-size: var(--tm-font-size-400);
        font-weight: var(--tm-font-weight-600);
        line-height: var(--tm-line-height-tight);
        color: var(--tm-color-text-brand-dark);
        padding-bottom:0;
    }

    .tm-modal__text {
        margin: var(--tm-space-2) 0 0;
        font-size: var(--tm-font-size-200);
        line-height: var(--tm-line-height-base);
        color: var(--tm-color-text);
    }

    .tm-modal__intro {
        margin-block:auto;
    }

    .tm-modal__close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        inline-size: 2.5rem;
        block-size: 2.5rem;
        padding: 0;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: var(--tm-color-text);
        font-size: 1.25rem;
        cursor: pointer;
    }

    .tm-modal__close:hover {
        box-shadow: var(--tm-shadow-2);
    }

    .tm-modal__close:focus-visible {
        outline: 2px solid var(--tm-color-text);
        outline-offset: 2px;
    }

    @media (min-width: 640px) {
        .tm-modal {
            align-items: center;
            padding: var(--tm-space-6);
        }

        .tm-modal__panel {
            border-radius: 1rem;
        }

        .tm-modal__header {
            padding: var(--tm-space-3);
        }
    }

    html.tm-modal-open,
    body.tm-modal-open {
        overflow: hidden;
    }
}