.chat-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

    .chat-sidebar {
        width: 100%;
        @include media(md) {
            width: 300px;
        }
        @include media(xl) {
            width: 390px;
        }

        &.profile-setting {
            padding: rem(24px);
        }
    }

    .chat-main {
        width: 100%;
        margin-top: rem(30px);
        @include media(md) {
            width: calc(100% - (300px + 24px));
            margin-top: 0;
        }
        @include media(xl) {
            width: calc(100% - (390px + 24px));
        }
    }
}

.chat-main-profile {
    display: flex;
    flex-flow: column;
    align-items: center;
    margin-top: rem(30px);
    gap: rem(15px);

    .img {
        position: relative;
        width: 80px;
        height: 80px;

        &::after {
            position: absolute;
            content: '';
            bottom: 4px;
            inset-inline-end: 9px;
            width: 12px;
            height: 12px;
            background-color: var(--success-main);
            @include border-radius(50%);
        }

        img {
            width: 80px;
            height: 80px;
            object-fit: cover;
            -o-object-fit: cover;
            @include border-radius(50%);
        }
    }
}

.chat-search {
    padding: 0 rem(24px);
    border-top: 1px solid var(--neutral-200);
    border-bottom: 1px solid var(--neutral-200);
    display: flex;
    align-items: center;

    .icon {
        font-size: rem(22px);
        line-height: 1;
        padding-top: 5px;
    }

    input {
        flex-grow: 1;
        border: none;
        height: 48px;
        background-color: transparent;
        font-size: rem(18px);
        padding-inline-start: rem(10px);
    }
}

.chat-all-list {
    max-height: 534px;
    overflow-y: auto;
    @include media(xl) {
        max-height: 400px;
    }
    @include media(xxl) {
        max-height: 534px;
    }

    &::-webkit-scrollbar {
        width: 10px;
        background-color: var(--white);
    }

    &::-webkit-scrollbar-thumb {
        background-color: var(--bg-color);
        border: 3px solid var(--white);
    }
}

.chat-sidebar-single {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: rem(11px) rem(24px);
    cursor: pointer;

    &.top-profile {
        padding: rem(24px) rem(24px) rem(16px) rem(24px);
    }

    &.active {
        .img {
            &::after {
                background-color: var(--success-main);
            }
        }
    }

    .img {
        position: relative;

        &::after {
            position: absolute;
            content: '';
            bottom: 1px;
            right: 2px;
            width: 8px;
            height: 8px;
            background-color: var(--neutral-400);
            @include border-radius(50%);
        }

        img {
            width: 40px;
            height: 40px;
            object-fit: cover;
            -o-object-fit: cover;
        }
    }

    .info {
        flex-grow: 1;
        padding: 0 rem(12px);
    }

    .action {
        margin-inline-start: auto;
    }
}

.chat-main {
    display: flex;
    flex-flow: column;

    .chat-sidebar-single {
        padding: rem(20px) rem(24px);
        border-bottom: 1px solid var(--input-form-light);
    }

    .chat-empty {
        flex-grow: 1;
        padding: rem(24px);
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }
}

.chat-message-list {
    flex-grow: 1;
    min-height: 350px;
    max-height: 511px;
    padding: rem(24px);
    display: flex;
    flex-flow: column;
    overflow-y: auto;
    @include media(xl) {
        max-height: 375px;
    }
    @include media(xxl) {
        max-height: 511px;
    }

    &::-webkit-scrollbar {
        width: 10px;
        background-color: var(--white);
    }

    &::-webkit-scrollbar-thumb {
        background-color: var(--bg-color);
        border: 3px solid var(--white);
    }
}

.chat-single-message + .chat-single-message {
    margin-top: rem(32px);
}

.chat-single-message {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    max-width: 100%;
    @include media(sm) {
        width: 90%;
    }
    @include media(lg) {
        width: 60%;
    }

    &.left {
        .chat-message-content {
            background-color: var(--input-bg);
            @include border-radius(16px 16px 16px 0);

            p {
                color: var(--text-primary-light);

                &.chat-time {
                    color: var(--text-secondary-light);
                    text-align: end;
                }
            }
        }
    }

    &.right {
        margin-inline-start: auto;

        .chat-message-content {
            width: 100%;
            background-color: var(--brand);
            @include border-radius(16px 16px 0 16px);

            p {
                color: #fff;

                &.chat-time {
                    color: #fff;
                }
            }
        }
    }

    .chat-message-content {
        width: calc(100% - 56px);
        padding: rem(20px);

        .chat-time {
            font-size: rem(12px);
        }
    }
}

.chat-message-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: rem(15px);
    padding: rem(16px) rem(24px);
    border-top: 1px solid var(--neutral-300);

    input {
        flex-grow: 1;
    }

    &-action {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: rem(20px);
    }
}

.list-style {
    list-style: outside;
    list-style-position: inside;
}

.ai-chat-list {
    max-height: 644px;
    overflow-y: auto;
}
