@use "../../core";
@use "../../core/size";

@mixin button-group-margin($margin-bottom, $margin-right) {
    margin-bottom: $margin-bottom;
    margin-right: $margin-right;

    &:last-child {
        margin-right: 0;
    }
}

.button-group {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: core.densify(size.$margin-050);
    margin-top: core.densify(size.$margin-025);

    &--end {
        justify-content: flex-end;
    }

    &__item {
        margin: 0;
        margin-bottom: core.densify(size.$margin-100);

        @include core.breakpoint-up(md) {
            @include button-group-margin(core.densify(size.$margin-100), size.$margin-125);
        }
    }

    > .button--discrete {
        @include button-group-margin(core.densify(size.$margin-100), size.$margin-150);
    }

    > .button--small {
        @include button-group-margin(core.densify(size.$margin-075), size.$margin-075);

        &.button--full-width {
            @include core.breakpoint-down(sm) {
                margin-right: 0;
            }
        }
    }

    > .button--medium {
        @include button-group-margin(core.densify(size.$margin-075), size.$margin-100);

        &.button--full-width {
            @include core.breakpoint-down(sm) {
                margin-right: 0;
            }
        }
    }

    > .button--large {
        @include core.breakpoint-up(md) {
            @include button-group-margin(core.densify(size.$margin-100), size.$margin-125);
        }
    }
}
