@use '../abstracts/cds-vars' as vars;
@use '../abstracts/cds-mixins' as mixins;
@use '../abstracts/cds-config' as config;

$_cds-banner-border-radius: var(--cds-banner-br) !default;

.cds-banner {
    display: flex;
    flex-direction: row;
    padding: vars.$cds-spacing-100;
    border-radius: $_cds-banner-border-radius;
    gap: vars.$cds-spacing-50;
    width: 100%;

    /* DEFAULT */
    @include mixins.cds-feedback(information);

    //&__icon {
    &::before {
        @include mixins.cds-icon-size(vars.$cds-icon-150);
    }

    &__close {
        //@include mixins.cds-icon-size(vars.$cds-icon-150);
        @include mixins.cds-icon(config.$default-icon-close);
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
        height: fit-content;

        &:before {
            @include mixins.cds-icon-size(vars.$cds-icon-150);
        }

        &:hover {
            opacity: 0.5;
        }
    }

    &__content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        //gap: vars.$cds-spacing-25;
        width: 100%;
    }

    &__title {
        @include mixins.cds-paragraph-m;
        text-align: left;
    }

    &__text {
        @include mixins.cds-paragraph-m;
        padding-top: vars.$cds-spacing-25;
        text-align: left;
    }

    &:has(.cds-banner__text) {
        .cds-banner__title {
            @include mixins.cds-paragraph-m(bold);
        }
    }

    //VARIANT MODIFIERS
    &--information {
        @include mixins.cds-feedback(information);
    }

    &--alert {
        @include mixins.cds-feedback(alert);
    }

    &--error {
        @include mixins.cds-feedback(error);
    }

    &--success {
        @include mixins.cds-feedback(success);
    }

    &--neutral {
        @include mixins.cds-feedback(neutral);
    }
}