/* ===================================
            Notifications
====================================== */
.gn-notification-wrapper {
    padding: 16px;
    background-color: #fff;
    border-radius: var(--gigneo-border-radius-xl);
}

.gn-notification-wrapper .gn-bulk-action-bar {
    margin-bottom: 0;
    gap: 8px;
}

.gn-notification-wrapper .gn-bulk-action-bar > .gn-btn::after {
    content: attr(data-gn-select-text);
}

.gn-notification-wrapper.gn-selection-active .gn-bulk-action-bar > .gn-btn {
    color: #fff;
    border-color: rgb(var(--gigneo-primary-color));
    background: rgb(var(--gigneo-primary-color));
    -webkit-box-shadow: none;
            box-shadow: none;
}

.gn-notification-wrapper.gn-selection-active .gn-bulk-action-bar > .gn-btn:hover {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-primary-color), .95);
    border-color: rgba(var(--gigneo-primary-color), .95);
}

.gn-notification-wrapper.gn-selection-active .gn-bulk-action-bar > .gn-btn:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-primary-color), .95);
    border-color: rgba(var(--gigneo-primary-color), .95);
    box-shadow: 0 4px 18px 0 rgba(232, 223, 255, 0.10) inset, 0 0 0 3px rgba(var(--gigneo-primary-color), .2);
}

.gn-notification-wrapper .gn-bulk-action-bar > .gn-btn i {
    font-size: 18px;
}

.gn-notification-wrapper.gn-selection-active .gn-bulk-action-bar > .gn-btn:after {
    content: attr(data-gn-cancel-text);
}

.gn-notification-wrapper.gn-selection-active .gn-bulk-action-bar > .gn-btn i:before {
    content: "\ea39";
}

.gn-notification-wrapper .gn-notification-group {
    display: none;
}

.gn-notification-wrapper .gn-notification-group:has(.gn-notification-item) {
    display: block;
}

.gn-notification-list {
    margin-top: 20px;
}

.gn-bulk-action-bar .gn-action-bar-actions .gn-checkbox.gn-btn {
    padding-top: 11px;
    padding-bottom: 11px;
}

.gn-notification-wrapper .gn-checkbox label {
    position: relative;
}

.gn-notification-wrapper .gn-notification-list .gn-checkbox label {
    margin-top: 13px;
}

.gn-select-all.gn-checkbox label {
    gap: 6px;
    display: flex;
    margin: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: rgb(var(--gigneo-primary-font-color));
}

.gn-select-all.gn-checkbox .gn-btn:after {
    left: 18px;
}

.gn-bulk-action-bar .gn-action-bar-actions {
    gap: 8px;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.gn-bulk-action-bar .gn-action-bar-actions .gn-btn.gn-btn-outline-danger{
    border: 1px solid rgba(var(--gigneo-danger-color),0.2);
}

.gn-bulk-action-bar .gn-action-bar-actions .gn-btn.gn-btn-outline-danger[disabled]{
    border-color: rgb(var(--gigneo-grey-color));
}

.gn-bulk-action-bar .gn-action-bar-actions .gn-btn i{
    font-size: 18px;
}

.gn-notification-list .gn-group-title {
    margin: 0;
    display: flex;
    font-size: 12px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-block: 10px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    color: rgb(var(--gigneo-primary-font-color));
}

.gn-notification-list .gn-group-title + .gn-group-title {
    margin-top: 4px;
}

.gn-notification-item {
    gap: 10px;
    display: flex;
    margin-top: 8px;
    padding: 16px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    background-color: #fff;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-transition: background-color 0.3s ease;
    -o-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
    border-radius: var(--gigneo-border-radius-lg);
}

.gn-notification-item:not(.gn-unread):hover {
    background-color: rgb(var(--gigneo-light-grey-color));
}

.gn-notification-item:first-child {
    margin-top: 0;
}

.gn-notification-item.gn-unread{
    background-color: rgba(var(--gigneo-primary-color),0.05);
}

.gn-notification-item .gn-avatar {
    width: 44px;
    height: 44px;
}

.gn-notification-item .gn-icon {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 44px;
    height: 44px;
    font-size: 18px;
    display: flex;
    border-radius: 50%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fff;
    border: 1px solid rgb(var(--gigneo-grey-color));
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.gn-notification-item .gn-info {
    width: 100%;
    display: flex;
    gap: 10px 20px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.gn-notification-item .gn-title {
    margin: 0;
    font-size: 16px;
}

.gn-notification-item .gn-description {
    margin: 2px 0 0;
    font-size: 14px;
}

.gn-notification-item .gn-footer {
    width: 100%;
}

.gn-notification-item .gn-footer .gn-date {
    font-size: 12px;
    display: block;
    color: rgba(var(--gigneo-primary-font-color), 0.7);
}

.gn-notification-item .gn-footer .gn-btn {
    font-size: 12px;
    background: #fff;
    color: rgb(var(--gigneo-primary-font-color));
    border-color: rgba(var(--gigneo-grey-color));
}

.gn-notification-item .gn-footer .gn-btn:hover {
    color: #fff;
    background: rgba(var(--gigneo-primary-color));
    border-color: rgba(var(--gigneo-primary-color));
}

.gn-notification-item .gn-meta,
.gn-notification-item .gn-actions {
    gap: 8px;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.gn-notification-item .gn-time {
    font-size: 12px;
    color: rgb(var(--gigneo-primary-font-color));
}

.gn-notification-item .gn-actions .gn-btn {
    border: 0;
    padding: 0;
    width: 36px;
    height: 36px;
}

.gn-notification-item .gn-actions .gn-btn i {
    font-size: 14px;
}

.gn-notification-item .gn-actions .gn-btn:not(.gn-btn-outline-danger){
    border: 1px solid rgb(var(--gigneo-grey-color));
    background: #fff;
    color: rgb(var(--gigneo-primary-font-color));
}

.gn-notification-item .gn-actions button.gn-btn:after {
    position: absolute;
}

.gn-notification-item .gn-actions button.gn-loading i{
    opacity: 0;
}

.gn-notification-item.gn-read .gn-actions button.gn-notification-mark-read > i::before {
    content: "\e9a7";
}

.gn-notification-item .gn-actions button.gn-notification-mark-read i {
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    color: rgb(var(--gigneo-primary-font-color));
}

.gn-load-more-wrapper {
    display: flex;
    margin: 16px 0 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.gn-notification-wrapper:has(.gn-load-more-wrapper) {
    display: flex;
    min-height: calc(100dvh - 132px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.gn-notification-wrapper .gn-load-more-wrapper{
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
}

.gn-notification-wrapper .gn-load-more-wrapper:empty {
    display: none;
    margin: 0;
}

.gn-notification-wrapper .gn-load-more-wrapper .gn-link.gn-link-primary:after {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
}

.gn-notification-wrapper .gn-load-more-wrapper .gn-link.gn-link-primary.gn-loading:after {
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    width: 14px;
    height: 14px;
    background: transparent;
    border: 2px solid rgb(var(--gigneo-primary-color));
    border-top-color: rgb(255 255 255 / 10%);
    position: relative;
    border-radius: 50%;
    bottom: auto;
}

.gn-notification-wrapper .gn-notification-item .gn-icon {
    background-color: transparent;
}

.gn-notification-item .gn-info .gn-body {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
}

@media (min-width: 421px){
    .gn-notification-item {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    }
}

@media (min-width: 768px){
    .gn-notification-item .gn-info .gn-head {
        width: calc(100% - 200px);
    }
    .gn-notification-item .gn-info .gn-body {
        -webkit-box-ordinal-group: inherit;
            -ms-flex-order: inherit;
                order: inherit;
    }
    .gn-notification-item .gn-actions {
        opacity: 0;
        visibility: hidden;
        -webkit-transition: all .3s ease-in-out;
        -o-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out;
    }
    .gn-notification-item:hover .gn-actions {
        opacity: 1;
        visibility: visible;
    }
}