@charset "UTF-8";
@use "../../jkl";

@layer jokul.components {
    .jkl-modal-container,
    .jkl-modal-overlay {
        position: fixed;
        inset: 0;
    }

    .jkl-modal-container {
        --jkl-floating-z-index: #{jkl.$z-index--floating};

        z-index: jkl.$z-index--modal;
        display: flex;

        &[aria-hidden="true"] {
            display: none;
        }
    }

    .jkl-modal-overlay {
        background-color: rgb(27 25 23 / 80%);
    }

    .jkl-modal {
        --jkl-modal-padding: var(--jkl-unit-50);
        --jkl-modal-min-width: #{jkl.rem(220px)};
        --jkl-modal-max-width: #{jkl.rem(660px)};

        margin: auto;
        z-index: jkl.$z-index--modal;
        position: relative;

        background-color: var(--jkl-color-background-container);
        border-radius: var(--jkl-border-radius-l);
        box-shadow: jkl.$shadow-task-card;

        width: 100%;
        min-width: var(--jkl-modal-min-width);
        max-width: var(--jkl-modal-max-width);
        max-height: 90vh;
        overflow: auto;

        padding: var(--jkl-modal-padding);
        display: flex;
        flex-direction: column;

        @include jkl.forced-colors-mode {
            border-color: CanvasText;
        }

        @include jkl.small-device {
            margin: auto var(--jkl-unit-30);
        }
    }

    .jkl-modal-header {
        --jkl-modal-header-margin: 0 0 var(--jkl-unit-20);

        @include jkl.small-device {
            --jkl-modal-header-margin: 0 0 var(--jkl-unit-15);
        }

        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        margin: var(--jkl-modal-header-margin);
        gap: var(--jkl-modal-gap);
    }

    .jkl-modal-body {
        @include jkl.text-style("paragraph-medium");
    }

    .jkl-modal-title {
        @include jkl.text-style("heading-3");
    }

    .jkl-modal-actions {
        --jkl-modal-actions-margin: var(--jkl-unit-50) 0 0 0;

        @include jkl.small-device {
            --jkl-modal-actions-margin: var(--jkl-unit-40) 0 0 0;
        }

        margin: var(--jkl-modal-actions-margin);
        display: flex;
        flex-direction: column;
        gap: var(--jkl-unit-20);

        @include jkl.screen-from(60ch) {
            flex-direction: row-reverse;
            align-self: flex-end;
        }
    }
}
