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

@mixin _horizontal-list {
    .jkl-description-list__term {
        grid-column-start: 1;
        margin: 0;
        overflow-wrap: break-word;
    }

    .jkl-description-list__detail {
        grid-column-start: 2;
    }

    @content;
}

@layer jokul.components {
    .jkl-description-list {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: var(--jkl-unit-05);

        .seperator {
            display: none;
        }

        &__detail + .seperator {
            grid-column: 1 / -1;
            width: 100%;
            border: 0 solid transparent;
            margin-block: var(--jkl-unit-05);

            &:not(:first-of-type) {
                display: unset;
            }
        }

        &__term {
            font-weight: jkl.$typography-weight-bold;
        }

        &__detail {
            margin-left: 0;
        }

        @include jkl.screen-from(60ch) {
            &[data-alignment="horizontal"] {
                grid-template-columns: fit-content(40%) 1fr;
                grid-auto-flow: column;
                column-gap: 1.5em;

                @include _horizontal-list
            }

            &[data-alignment="justified"] {
                grid-template-columns: 1fr max-content;
                grid-auto-flow: column;
                column-gap: 1.5em;

                @include _horizontal-list {
                    .jkl-description-list__detail {
                        text-align: end;
                    }
                }
            }
        }

        &[data-separators="true"] {
            .seperator:not(:first-of-type) {
                margin-block: var(--jkl-unit-15);
                border-top: 1px solid var(--jkl-color-border-separator);
            }
        }
    }
}
