﻿.p-r-5 {
  padding-right: 5px !important;
}

.pre-line {
    white-space: pre-line;
}
.table .stt {
    width: 40px;
    text-align: right;
}
.giuabang {
    text-align: center;
}


.side-menu.left {
    background: #f8f9fa!important;
}

#sidebar-menu > ul > li > a {
    color: #4c4d4e !important;
}
    #sidebar-menu > ul > li > a:hover {
        color: #4b88b7 !important;
        background-color: #f5f5f5 !important;
    }
    #sidebar-menu > ul > li > a.active {
        background: #f5f7fa !important;
        border-left: 3px solid #2b7dbc !important;
        color: #2b7dbc !important;
    }

#sidebar-menu ul li:before, #sidebar-menu ul ul li {
}
#sidebar-menu ul ul a {
    color: #4c4d4e !important;
    padding: 12px 20px 12px 35px;
}
    #sidebar-menu ul ul a:hover {
        color: #4b88b7 !important;
        background-color: #f5f5f5 !important;
    }


#sidebar-menu ul ul li.active a {
    color: #23527c;
}

#sidebar-menu ul ul li:before {
    border-color: #8eb3d0;
}
#sidebar-menu .subdrop {
    color: #2b7dbc !important;
}


#sidebar-menu ul ul li.active, #sidebar-menu ul li.active, #wrapper.enlarged #sidebar-menu ul ul li a.active, #wrapper.enlarged #sidebar-menu ul li a.active {
    color: #4c4d4e !important;
    background-color: #fff !important;
}
.khach-item {
    padding: 5px;
    border: 1px solid #e4e4e4;
  
    align-items: center;
    justify-content: space-between;
    margin-bottom: 5px;
    border-radius: 5px;
    position: relative; /* Để nút nằm tuyệt đối trong vùng này */
}
    .khach-item .btn-xoa-top-right {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 10;
        width: 20px;
        height: 20px;
        padding: 0;
        border-radius: 50%;
        background-color: #ff4d4f;
        color: white;
        font-size: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .khach-item .btn-xoa-top-right:hover {
            background-color: #d9363e;
        }

/* thu nhỏ menu */
#wrapper.enlarged .left #sidebar-menu > ul > li > a, #wrapper.enlarged .left #wrapper.enlarged #sidebar-menu > ul > li > a {
    color: #4c4d4e !important;
    background-color: #fff !important;
}

    #wrapper.enlarged .left #sidebar-menu > ul > li > a:hover, #wrapper.enlarged .left #wrapper.enlarged #sidebar-menu > ul > li > a:hover {
        color: #4b88b7 !important;
        background-color: #f5f5f5 !important;
    }

    #wrapper.enlarged .left #sidebar-menu > ul > li > a.active, #wrapper.enlarged .left #wrapper.enlarged #sidebar-menu > ul > li > a.active {
        background: #f5f7fa !important;
        border-left: 3px solid #2b7dbc !important;
        color: #2b7dbc !important;
    }


#wrapper.enlarged .left #sidebar-menu ul ul a, #wrapper.enlarged .left #wrapper.enlarged #sidebar-menu ul ul li a {
    color: #4c4d4e !important;
    padding: 12px 20px 12px 35px;
}

    #wrapper.enlarged .left #sidebar-menu ul ul a:hover, #wrapper.enlarged .left #wrapper.enlarged #sidebar-menu ul ul li a:hover {
        color: #4b88b7 !important;
        background-color: #f5f5f5 !important;
    }

#wrapper.enlarged .left.side-menu #sidebar-menu ul > li:hover > a, #wrapper.enlarged .left.side-menu #sidebar-menu ul > li:focus > a
 {
    color: #4b88b7 !important;
    background-color: #f5f5f5 !important;
}
#wrapper.enlarged .left.side-menu #sidebar-menu ul > li:hover > ul a {
    color: #4b88b7 !important;
    background-color: #fff !important;
}
    #wrapper.enlarged .left.side-menu #sidebar-menu ul > li:hover > ul a:hover {
        color: #4b88b7 !important;
        background-color: #f5f5f5 !important;
    }

#wrapper.enlarged #sidebar-menu ul ul {
    border: 2px solid #f5f5f5;
    background: #fff !important;
}
#wrapper.enlarged #sidebar-menu ul ul li {

    background: #fff !important;
}

table#tableDs, .dataTables {
    width: 100% !important; /* Thay đổi độ rộng cố định thành 100% */
    /* Các thuộc tính khác (như table-layout) giữ nguyên hoặc điều chỉnh tùy mục đích */
}

th.text-center.sorting_disabled {
    padding-right: 20px;
}
/* làm cái checkbox chọn ở table */
.checkbox.checkbox-primary.center-block {
    padding-left: 10px;
}

.dataTables tbody p {
    /* Các quy tắc CSS bạn muốn áp dụng cho thẻ p trong bảng này */
    margin-bottom: 2px; /* Ví dụ: giảm khoảng cách dưới */
}

.dataTables tbody tbody b > a {
    color: #fff;
}

.dataTables tbody .text-primary {
    color: #0056b3;
}
.dataTables tbody a {
    color: #0c6efb;
    text-decoration: none;
}
    .dataTables tbody a:focus, .dataTables tbody a:hover {
        color: #ce3900;
        text-decoration: underline;
    }
.dataTables tbody {
    color: #112340;
}
.dark {
    color: #333 !important
}
.black {
    color: #000 !important
}
.white {
    color: #fff !important
}

.red {
    color: #dd5a43 !important
}

.red2 {
    color: #e08374 !important
}

.light-red {
    color: #f77 !important
}

.blue {
    color: #478fca !important
}

.light-blue {
    color: #93cbf9 !important
}

.green {
    color: #69aa46 !important
}

.light-green {
    color: #b0d877 !important
}

.orange {
    color: #ff892a !important
}

.orange2 {
    color: #feb902 !important
}

.light-orange {
    color: #fcac6f !important
}

.purple {
    color: #a069c3 !important
}

.pink {
    color: #c6699f !important
}

.pink2 {
    color: #d6487e !important
}

.brown {
    color: brown !important
}

.grey {
    color: #777 !important
}

.light-grey {
    color: #bbb !important
}



.clipboard:hover {
    color: #fff !important;
    background-color: #009cde !important;
    cursor: crosshair !important;
}
.clipboard:active {
    background-color: #ff0!important;
    color: #00f!important;
    font-weight: 700!important;
}
.form-text-row {
    padding-top: 7px;
}
.form-actions {
    display: block;
    background-color: #F5F5F5;
    border-top: 1px solid #E5E5E5;
    margin-bottom: 20px;
    margin-top: 20px;
    padding: 19px 20px 20px;
}
.bolder {
    font-weight: bolder;
}
.select2-container--default .select2-selection--single .select2-selection__clear {
   
    padding-right: 15px;
}
.form-horizontal .label-wrapper {
    display: table;
    float: right;
    min-height: 28px;
}
.block_product_post {
    background-color: #ffffff;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 15px;
    padding-bottom: 15px;
}
.header_block_product_post {
    overflow: hidden;
 
}
.wrap_img_upload_from_computer {
     position: relative;

 }

.upload_image_web {
    overflow: hidden;
    margin-top: 15px;
}
#image_upload {
    position: relative;
    overflow: hidden;
    padding: 15px;
    border: 1px solid #e4e4e4;
}

.icon_delete_img, .icon_copy_img 
{
    cursor: pointer;
}

.icon_delete_img:hover, .icon_copy_img:hover 
{
    opacity: .9;
}
.icon_copy_img {
    color: white;
    position: absolute;
    right: 45px;
    top: 5px;
    background: #1853fa;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    text-align: center;
}
.icon_delete_img {
    color: white;
    position: absolute;
    right: 19px;
    top: 5px;
    background: #1853fa;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    text-align: center;
}
.icon_delete_img i,  .icon_copy_img i{
    font-size: 12px;
    line-height: 20px;
}
.checkbox_img {
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    margin: 0px !important;

    font-size: 13px;
    padding: 0px 5px 0px 5px;
    width: 95%;
}

.singleImgUpload {
    position: relative;
    height: 190px;
    overflow: hidden;
    margin-bottom: 10px;
    cursor: pointer;
    
}
.singleImgUpload img {
     position: absolute;
     top: 0;
     left: 0;
     width: 95%;
 }

img {
      height: auto;
  }

.wrap_img_upload_from_computer input {
    position: absolute;
    z-index: 2;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.a_upload_image {
    cursor: pointer;
    font-size: 12px;
    display: block;
    min-height: 100%;
    position: absolute;
    white-space: nowrap
}
.upload_image_web {
    overflow: hidden;
    margin-top: 15px;
}


#tagselector {
    border: 1px solid #dcdcdc;
    margin-top: 5px;
    padding: 5px
}

.rounded {
    border-radius: 5px
}

#tagselector a {
    cursor: pointer;
    display: block;
    float: left;
    margin-right: 5px;
    padding: 5px;
    margin-bottom: 3px;
}
.badge-danger {
    color: #fff;
    background-color: #f86c6b;
}
.badge-danger[href]:focus, .badge-danger[href]:hover {
    color: #fff;
    text-decoration: none;
    background-color: #f63c3a;
}
/*a,a:visited {
    color: #ce3900;
    position: relative;
    text-decoration: none
}*/

#tagselector a.close {
    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMxQTFRF////jCcnhiUlxDY2dyEhiSoqZzY2yTo6qC4ukigooCwsvjQ0sDExmisruDMzdiEhfE9PwoCA1IWFz2pq9uTkpUpKzENDr2Fh8OLiax4efCsrcR8foUVF0IODWhkZZx0dr0xMz7m5zI6Oy11dlikpqFNTZhwc6MfHrlVVgyQk4K2t3qurjScnkSgookZGeiIi+PHxyY6O+vHxbDU1Yhsb1sPDgCMjeTs70ZCQxlxcXhoaeyIi1ZGRx09PhyUlfyMjcB8f2ZKSxoCA////JcQwLAAAAER0Uk5T/////////////////////////////////////////////////////////////////////////////////////////wBx0o8SAAAAmElEQVR42lzKxxKDMAxFUaXHGJuSQAIppPfee+P//ynPGw/DXUiaM6I4FcVzr6DzZoCVX9L5HcA0l2gAeHP+rFY476uxBNyldInc646+Ui4AlmmaLUIPHC9Ao4wuRGO1T4DAMIyf+ujhWAMiIRwiZ7KhrRAW4MBYs15jbKjGB3DLJAoA7WyiEWAf5nXhGXC0izq7C0j1F2AA+C0bsdWikZQAAAAASUVORK5CYII=') no-repeat scroll center center rgba(0,0,0,0);
    display: block;
    float: right;
    height: 14px;
    margin: 1px;
    padding: 0;
    width: 14px
}
.bootstrap-tagsinput {
    width: 100%;
}

.tt-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 5px 0;
    margin: 2px 0 0;
    list-style: none;
    font-size: 14px;
    background-color: #ffffff;
    border: 1px solid #cccccc;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    background-clip: padding-box;
    cursor: pointer;
}

.tt-suggestion {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 1.428571429;
    color: #333333;
    white-space: nowrap;
}

.tt-suggestion:hover,
.tt-suggestion:focus {
    color: #ffffff;
    text-decoration: none;
    outline: 0;
    background-color: #428bca;
}
.tt-suggestion.tt-cursor {
    color: #fff;
    background-color: #0097cf;

}

.tt-suggestion p {
    margin: 0;
}

.gist {
    font-size: 14px;
}
/* sticky section-header*/
/* sticky section-header*/

.section-header.sticky {
    position: fixed;
    z-index: 600;
    left: 0px;
    right: 0;
    top: 60px;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-right: 20px;
    padding-left: 20px;
    height: 70px;
    background: #f8f9fa;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    border-top: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 2px 3px -2px rgba(0, 0, 0, 0.15);
}

    .section-header.sticky .page-title-alt {
        margin-top: 5px;
    }

@media (min-width: 768px) {


    .section-header.sticky {
        left: 70px;
        right: 0;
    }
}

@media (min-width: 992px) {


    .section-header.sticky {
        left: 70px;
        right: 0;
    }
    .fixed-left  .section-header.sticky {
        left: 240px;
        right: 0;
    }
}
/* // sticky section-header*/
    @media all and ( max-width: 1000px ) {
        .table-mobi {
            display: block;
            border: none;
        }

            .table-mobi colgroup, .table-mobi thead {
                display: none
            }

            .table-mobi tbody {
                display: block;
                overflow: hidden
            }

            .table-mobi tr {
                display: block;
                float: left;
                width: 100%;
                margin: 40px 0 0;
                border: 1px solid #ddd;
                -webkit-box-shadow: 0 0 5px 0 #e2e3e4;
                -moz-box-shadow: 0 0 5px 0 #e2e3e4;
                box-shadow: 0 0 5px 0 #e2e3e4;
            }

            .table-mobi td {
                display: block;
                border: none;
                padding: 10px;
                /*text-align: right;*/
            }

                .table-mobi td.tool {
                    /* display: block; */
                    border: none;
                    /* padding: 10px; */
                    text-align: left;
                    background: #a479dc;
                }

                .table-mobi td.mNoiDungTrai {
                    /* display: block; */
                    border: none;
                    /* padding: 10px; */
                    text-align: left;
                }

                .table-mobi td.remove-from-cart {
                    margin: 0 0 15px;
                    border-bottom: 1px solid #ddd;
                    background-color: #eee;
                    padding: 10px
                }

                .table-mobi td.product-picture {
                    border-top: 1px solid #ddd;
                    padding: 15px 10px 5px
                }

                .table-mobi td.product {
                    min-width: 0;
                    border-bottom: 1px solid #ddd;
                    padding: 5px 10px 15px;
                    text-align: center
                }

                .table-mobi td.quantity {
                    display: inline-block;
                    padding: 0 10px;
                    vertical-align: middle
                }

                .table-mobi td.unit-price, .table-mobi td.subtotal {
                    display: inline-block;
                    padding: 20px 10px;
                    vertical-align: middle
                }
    }


.border-top--line {
    border-top: 1px solid #dfe3e8;
}


/*Slider*/

.thumbnail {
    -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.05);
    box-shadow: 0 1px 1px rgba(0,0,0,.05);
}

.thumbnail .thumb {
    position: relative;
    display: block;
    text-align: center;
    padding: 0;
    margin-top: 0;
}

.thumbnail .thumb:not(.thumb-rounded) img {
    border-radius: 3px;
}

.thumbnail .thumb img:not(.media-preview) {
    display: inline-block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.columnImg .imageZoomHover {
    position: absolute;
    right: 0;
    left: 100%;
    top: 0;
    display: none;
    width: 200px;
    height: 200px;
    background: #fff;
    border: 2px solid #5bc42b;
    z-index: 100;
}

.columnImg .imageZoomHover img {
    object-fit: contain;
    width: 100%;
    height: 100%
}

.columnImg {
    position: relative
}

.columnImg:hover .imageZoomHover {
    display: block
}
.auto_search {
    border-bottom: 1px solid #f1f1f1;
}
.auto_search  img {
    height: 32px;
    margin: 0 6px 6px 0;
    padding: 0px;
    width: 32px;
    vertical-align: top;
    max-width: 100%;
}
.auto_search span.price_a {
    color: #92538b;
}


@keyframes chu_nhap_nhay {
    0% {
        color: #ff0000;
    }

    20% {
        color: #fb6262;
    }

    40% {
        color: #00ff12;
    }

    60% {
        color: #626afb;
    }

    80% {
        color: #0000ff;
    }
}
.chu-nhap-nhay {
    font-size: 16px;
    font-weight: bold;
    -webkit-animation: chu_nhap_nhay 1000ms infinite;
    -moz-animation: chu_nhap_nhay 1000ms infinite;
    -o-animation: chu_nhap_nhay 1000ms infinite;
    animation: chu_nhap_nhay 1000ms infinite;
}


/* Responsive Hidden */
.desktop-hidden {
  display: none;
}

@media (max-width: 991px) {
  .mobi-hidden {
    display: none;
  }

  .desktop-hidden {
    display: block;
  }
}

/* End Responsive Hidden */
input.error, textarea.error {
    border-color: #ff0000 !important;
}

#loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  display: none;
  z-index: 99999;
  &.active {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}


.popup__thank {
  .icon {
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: rgb(36, 192, 36);
    margin: 30px auto;
    i {
      font-size: 48px;
      color: #fff;
    }
  }
  .title {
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
  }
  .desc {
    font-size: 14px;
    font-weight: 300;
    text-align: center;
  }
}

/* Ẩn phần "ranges" chỉ trên mobile */
@media (max-width: 768px) {
    .daterangepicker {
        width: 100vw !important; /* Chiếm toàn bộ chiều rộng màn hình */
        height: auto !important; /* Chiều cao tự động theo nội dung */
        max-height: 60vh; /* Giới hạn chiều cao tối đa */
        position: fixed;
        bottom: 0;
        left: 0;
        border-radius: 12px 12px 0 0;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
        overflow: auto;
    
    }

    .daterangepicker .calendar {
        width: 100%; /* Chiếm hết chiều rộng */
        max-width: 100%;
        margin: 0!important;
        padding: 0!important;
    }

    /*.daterangepicker .ranges {
        display: none;*/ /* Ẩn phần ranges trên di động */
    /*}*/

    /*.daterangepicker .calendar.right {
        display: none;*/ /* Ẩn lịch bên phải */
    /*}*/

    .daterangepicker .calendar.left {
        border-right: none;
        width: 100% !important;
    }

    .daterangepicker .drp-buttons {
        width: 100%; /* Đặt nút hành động chiếm toàn bộ chiều rộng */
        text-align: center; /* Căn giữa các nút */
        padding-bottom: 10px; /* Khoảng cách ở đáy để nút không sát mép */
    }       
  
    .daterangepicker .calendar.left .daterangepicker_input{
        display: none;/* Loại bỏ đường viền phải của bảng lịch bên trái */
       
    }

   /* .daterangepicker .calendar.left .prev   i {
        display: none
    }*/
    
}

@media only screen and (max-width: 768px) {
    .slideIn {
        -webkit-animation-name: slideIn;
        animation-name: slideIn;
        -webkit-animation-duration: 0.4s;
        animation-duration: 0.4s;
    }
    .daterangepicker .calendar-table .calendar-header-mb {
        display: flex;
        height: auto;
    }
    .daterangepicker .calendar-table .calendar-header-mb .drag-handle {
        width: 100px;
        height: 6px;
        border-radius: 8px;
        background-color: #e9eaec;
        margin: 10px auto;
        display: block;
    }
}



/*popup_notyfy*/
#popup_notyfy .content_popup {
    width: 440px !important;
}

#popup_notyfy .content_popup {
    margin: 100px auto;
}

.popup_notyfy .content_popup {
    padding: 0;
}

@media (max-width: 768px) {
    #popup_notyfy .content_popup {
        width: unset !important;
    }
}

#popup_notyfy .modal-header {
    color: #fff;
    background-color: #337ab7;
}

#popup_notyfy {
    z-index: 999999
}



/* Style cho label với icon */
.category-label {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 4px;
    color: white;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    min-width: 100px;
    vertical-align: middle;
}

    .category-label i {
        margin-right: 6px;
        font-size: 14px;
    }

/* Style cho icon tròn */
.category-icon {
    display: inline-block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    text-align: center;
    line-height: 32px;
    color: white;
    font-size: 16px;
    margin-right: 8px;
    vertical-align: middle;
}

/* Style cho label pill */
.category-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 15px;
    border-radius: 20px;
    color: white;
    font-size: 13px;
    font-weight: 500;
}

    .category-pill i {
        margin-right: 8px;
        font-size: 14px;
    }



/* Hiệu ứng border thu phóng mượt mà */
@keyframes borderPulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(80,84,88,0.7), inset 0 0 0 0 rgba(255,255,255,0);
        border-width: 3px;
    }

    50% {
        box-shadow: 0 0 0 4px rgba(80,84,88,0.3), inset 0 0 0 2px rgba(80,84,88,0.5);
        border-width: 2px;
    }
}

/* Tương thích webkit (Chrome, Safari) */
@-webkit-keyframes borderPulse {
    0%, 100% {
        -webkit-box-shadow: 0 0 0 0 rgba(80,84,88,0.7), inset 0 0 0 0 rgba(255,255,255,0);
        border-width: 3px;
    }

    50% {
        -webkit-box-shadow: 0 0 0 4px rgba(80,84,88,0.3), inset 0 0 0 2px rgba(80,84,88,0.5);
        border-width: 2px;
    }
}

.img-circle.border-animate {
    display: inline-block;
    border: 3px solid #505458;
    border-radius: 50%; /* đảm bảo border tròn */
    /* Animation mượt mà hơn */
    animation: borderPulse 2s ease-in-out infinite;
    -webkit-animation: borderPulse 2s ease-in-out infinite;
    /* Tối ưu hiệu suất */
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    will-change: box-shadow, border-width;
}

/* ===================================================
   portfolioFilter — Tabs bộ lọc loại tour (DatCho)
   =================================================== */
.portfolioFilter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding: 2px 0;
}

.portfolioFilter a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    color: #555 !important;
    background: #f0f2f5;
    border: 1.5px solid #d8dce3;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    transition: all 0.22s ease;
    text-decoration: none !important;
    white-space: nowrap;
    cursor: pointer;
}

.portfolioFilter a i {
    font-size: 12px;
    opacity: 0.75;
}

.portfolioFilter a:hover {
    background: linear-gradient(135deg, #1a73e8, #0d5ecf) !important;
    color: #fff !important;
    border-color: #1a73e8 !important;
    box-shadow: 0 3px 8px rgba(26,115,232,0.35) !important;
    transform: translateY(-1px);
    text-decoration: none !important;
}

.portfolioFilter a.current {
    background: linear-gradient(135deg, #1a73e8, #0d5ecf) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 3px 10px rgba(26,115,232,0.4) !important;
    font-weight: 700;
}

/* Nút "Tất cả" — nổi bật hơn khi active */
.portfolioFilter a:first-child.current {
    background: linear-gradient(135deg, #34a853, #1e8a3b) !important;
    box-shadow: 0 3px 10px rgba(52,168,83,0.4) !important;
}

/* Badge "Hot" bên trong tab */
.portfolioFilter a span {
    display: inline-flex;
    align-items: center;
    background: #ff4d4f;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 10px;
    margin-left: 3px;
    letter-spacing: 0.3px;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .portfolioFilter {
        gap: 6px;
    }
    .portfolioFilter a {
        padding: 6px 12px;
        font-size: 12px;
    }
}

/* ── BADGE PULSE ANIMATION ─────────────────────────────────── */
@keyframes badgePulse {
    0%   { transform: scale(1);    box-shadow: 0 0 0 0   rgba(255,77,79,0.7); }
    45%  { transform: scale(1.18); box-shadow: 0 0 0 6px rgba(255,77,79,0);   }
    100% { transform: scale(1);    box-shadow: 0 0 0 0   rgba(255,77,79,0);   }
}
@keyframes badgeGlow {
    0%, 100% { background: #ff4d4f; }
    50%       { background: #ff1a1c; filter: brightness(1.3); }
}

.portfolioFilter a span {
    animation: badgePulse 1.6s ease-in-out infinite,
               badgeGlow  1.6s ease-in-out infinite;
    transform-origin: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ── Breadcrumb: cắt ngắn khi quá dài ── */
.page-title-box .breadcrumb {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    max-width: 100%;
    white-space: nowrap;
}
.page-title-box .breadcrumb > li {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    flex-shrink: 1;
}
.page-title-box .breadcrumb > li:first-child {
    flex-shrink: 0; /* Home không bị cắt */
}
.page-title-box .breadcrumb > li.active {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.page-title-box .breadcrumb > li + li::before {
    padding: 0 5px;
    color: #ccc;
    content: "/\00a0";
    flex-shrink: 0;
}

/* Yêu thích heart icon trong datatable */
.btn-yeu-thich {
    background: none;
    border: none;
    padding: 2px 6px;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    color: #ccc;
    transition: color 0.2s, transform 0.15s;
}
.btn-yeu-thich:hover { color: #e74c3c; transform: scale(1.2); }
.btn-yeu-thich.active { color: #e74c3c; }
.btn-yeu-thich.active i::before { content: "\f004"; } /* fa-heart solid */

/* ── BOOTSTRAP DATEPICKER — Larger, modern, mobile-friendly ──────────────── */
.datepicker {
    padding: 8px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    border: 1px solid #dde3ea;
    font-size: 14px;
    min-width: 260px;
    z-index: 9999 !important;
}
.datepicker table {
    width: 100%;
}
/* Header: năm/tháng */
.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next {
    font-size: 15px;
    font-weight: 600;
    padding: 8px 10px;
    color: #2b7dbc;
    border-radius: 6px;
    transition: background 0.15s;
}
.datepicker .datepicker-switch:hover,
.datepicker .prev:hover,
.datepicker .next:hover {
    background: #e8f1fa !important;
    color: #1a5a9a;
}
/* Tên thứ trong tuần */
.datepicker table tr th.dow {
    font-size: 12px;
    color: #888;
    font-weight: 600;
    padding: 6px 0;
    text-align: center;
}
/* Ngày */
.datepicker table tr td.day {
    padding: 7px 5px;
    font-size: 14px;
    text-align: center;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    min-width: 34px;
    height: 34px;
    line-height: 1;
}
.datepicker table tr td.day:hover {
    background: #e8f1fa !important;
    color: #1a5a9a;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover {
    background: #2b7dbc !important;
    color: #fff !important;
    border-radius: 6px;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(43,125,188,0.35);
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover {
    background: #fff3cd !important;
    color: #856404 !important;
    font-weight: 700;
    border: 1px solid #ffc107;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
    color: #bbb;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
    color: #ddd;
    cursor: default;
}
/* Tháng/năm trong view tháng */
.datepicker table tr td span {
    border-radius: 6px;
    padding: 10px 6px;
    font-size: 14px;
    display: inline-block;
    width: 48px;
    height: 40px;
    line-height: 20px;
    text-align: center;
    cursor: pointer;
    transition: background 0.15s;
}
.datepicker table tr td span:hover {
    background: #e8f1fa !important;
    color: #1a5a9a;
}
/* Nút Hôm nay / Xóa */
.datepicker .datepicker-days tfoot tr th,
.datepicker tfoot tr th {
    border-top: 1px solid #eee;
    padding: 6px;
    font-size: 13px;
    cursor: pointer;
    color: #2b7dbc;
    font-weight: 500;
    border-radius: 0 0 6px 6px;
}
.datepicker .datepicker-days tfoot tr th:hover,
.datepicker tfoot tr th:hover {
    background: #e8f1fa !important;
}

@media (max-width: 767px) {
    .datepicker {
        min-width: 280px;
        font-size: 15px;
        padding: 10px;
    }
    .datepicker table tr td.day {
        padding: 9px 4px;
        font-size: 15px;
        min-width: 38px;
        height: 38px;
    }
    .datepicker table tr th.dow {
        font-size: 13px;
        padding: 8px 0;
    }
    .datepicker .datepicker-switch,
    .datepicker .prev,
    .datepicker .next {
        font-size: 16px;
        padding: 10px 12px;
    }
}
/* ── END DATEPICKER ──────────────────────────────────────────────────────── */

/* ═══════════════════════════════════════════════════════════════════════════
   SIDEBAR HOVER-EXPAND v4 – width approach
   Dùng width + overflow:hidden để animate mượt, tránh clip-path normalize issue.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Sidebar: fixed, overflow hidden, transition trên width */
.side-menu.left {
    position:   fixed   !important;
    width:      240px   !important;
    overflow-x: hidden  !important;
    top:        60px    !important;
    bottom:     0       !important;
    left:       0       !important;
    height:     calc(100% - 60px) !important;
    margin:     0       !important;
    padding:    0       !important;
    transition: width 0.42s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Collapsed: thu về 70px */
#wrapper.enlarged .left.side-menu {
    width: 70px !important;
}

/* Pin mở rộng: full 240px (override enlarged) */
#wrapper:not(.enlarged) .left.side-menu {
    width: 240px !important;
}

/* Hover-only: full 240px overlay (content không dịch) */
#wrapper.sidebar-hover-only .left.side-menu {
    width:      240px !important;
    box-shadow: 3px 0 16px rgba(0, 0, 0, 0.14);
    z-index:    999;
}
#wrapper.sidebar-hover-only .content-page     { margin-left: 70px  !important; }
#wrapper.sidebar-hover-only .footer           { left:         70px  !important; }
#wrapper.sidebar-hover-only .topbar .topbar-left { width:     70px  !important; }

/* Tắt expand từng item khi collapsed (dùng hover toàn sidebar thay thế) */
#wrapper.enlarged .left.side-menu #sidebar-menu ul > li:hover > a {
    width: auto !important;
    position: static !important;
}
/* CSS fallback: LUÔN ẩn submenu khi collapsed (fix khoảng trống do submenu còn mở) */
#wrapper.enlarged .left.side-menu #sidebar-menu ul > li > ul {
    display: none !important;
}

/* ── FIX: menu items đồng đều khi collapsed ─────────────────────────────── */
/* Tất cả <a> trực tiếp trong top-level li (kể cả has_sub + waves-effect) */
#wrapper.enlarged .left.side-menu #sidebar-menu > ul > li > a,
#wrapper.enlarged .left.side-menu #sidebar-menu > ul > li.has_sub > a,
#wrapper.enlarged .left.side-menu #sidebar-menu > ul > li > a.waves-effect,
#wrapper.enlarged .left.side-menu #sidebar-menu > ul > li.has_sub > a.waves-effect {
    padding:        10px 0 !important;
    width:          70px   !important;
    display:        block  !important;
    text-align:     center !important;
    line-height:    1      !important;
    box-sizing:     border-box !important;
}

/* Icon căn giữa trong 70px */
#wrapper.enlarged .left.side-menu #sidebar-menu > ul > li > a > i,
#wrapper.enlarged .left.side-menu #sidebar-menu > ul > li.has_sub > a > i {
    float:       none   !important;
    display:     inline-block !important;
    margin:      0      !important;
    font-size:   18px   !important;
    line-height: 20px   !important;
    width:       auto   !important;
}

/* Ẩn text label và mũi tên khi collapsed */
#wrapper.enlarged .left.side-menu #sidebar-menu > ul > li > a > span:not(.badge),
#wrapper.enlarged .left.side-menu #sidebar-menu > ul > li > a > .pull-right,
#wrapper.enlarged .left.side-menu #sidebar-menu > ul > li.has_sub > a > span:not(.badge),
#wrapper.enlarged .left.side-menu #sidebar-menu > ul > li.has_sub > a > .pull-right {
    display: none !important;
}

/* Badge vẫn hiện (nếu có) */
#wrapper.enlarged .left.side-menu #sidebar-menu > ul > li > a > .badge {
    position: absolute;
    top:   6px;
    right: 6px;
}

/* User-details block: cắt gọn trong 70px khi collapsed */
#wrapper.enlarged .left.side-menu .user-details {
    padding:    8px 0 !important;
    text-align: center !important;
}
#wrapper.enlarged .left.side-menu .user-details .pull-left {
    float:  none  !important;
    margin: 0 auto !important;
    display: block !important;
}
#wrapper.enlarged .left.side-menu .user-details .user-info,
#wrapper.enlarged .left.side-menu .user-details h5,
#wrapper.enlarged .left.side-menu .user-details p {
    display: none !important;
}

/* ── FIX: Topbar logo không tràn khi thu hẹp / hover ────────────────────── */
.topbar-left {
    overflow: hidden !important;
}

/* Hover-only: giữ icon logo giống collapsed, ẩn text span */
#wrapper.sidebar-hover-only .topbar-left .logo i.icon-c-logo {
    display: inline-block !important;
}
#wrapper.sidebar-hover-only .topbar-left .logo span {
    display: none !important;
}

/* ── FIX: Hover-only – user-details hiển thị đầy đủ lại ─────────────────── */
#wrapper.sidebar-hover-only .left.side-menu .user-details {
    padding:    10px 15px !important;
    text-align: left !important;
}
#wrapper.sidebar-hover-only .left.side-menu .user-details .pull-left {
    float:   left  !important;
    display: block !important;
    margin:  0     !important;
}
#wrapper.sidebar-hover-only .left.side-menu .user-details .user-info,
#wrapper.sidebar-hover-only .left.side-menu .user-details h5,
#wrapper.sidebar-hover-only .left.side-menu .user-details p {
    display: block !important;
}

/* Hover-only: <a> items trở lại style mở rộng bình thường (dùng !important để override inline styles từ applyCollapsedItemStyle) */
#wrapper.sidebar-hover-only .left.side-menu #sidebar-menu > ul > li > a {
    padding:     12px 20px  !important;
    width:       auto       !important;
    text-align:  left       !important;
    display:     flex       !important;
    align-items: center     !important;
    box-sizing:  border-box !important;
}
#wrapper.sidebar-hover-only .left.side-menu #sidebar-menu > ul > li > a > i {
    float:        none    !important;
    margin-right: 8px     !important;
    width:        18px    !important;
    font-size:    16px    !important;
    text-align:   center  !important;
}
#wrapper.sidebar-hover-only .left.side-menu #sidebar-menu > ul > li > a > span:not(.badge),
#wrapper.sidebar-hover-only .left.side-menu #sidebar-menu > ul > li > a > .pull-right {
    display: inline-block !important;
}

/* Trong lúc animation mở (sb-opening): items full-width, icon left-align, text ẩn → không reflow dọc */
#wrapper.sb-opening.sidebar-hover-only .left.side-menu #sidebar-menu > ul > li > a,
#wrapper.sb-opening.sidebar-hover-only .left.side-menu #sidebar-menu > ul > li.has_sub > a {
    padding:     10px 20px  !important;
    display:     flex       !important;
    align-items: center     !important;
    width:       100%       !important;
    box-sizing:  border-box !important;
    text-align:  left       !important;
}
#wrapper.sb-opening.sidebar-hover-only .left.side-menu #sidebar-menu > ul > li > a > span:not(.badge),
#wrapper.sb-opening.sidebar-hover-only .left.side-menu #sidebar-menu > ul > li > a > .pull-right,
#wrapper.sb-opening.sidebar-hover-only .left.side-menu #sidebar-menu > ul > li.has_sub > a > span:not(.badge),
#wrapper.sb-opening.sidebar-hover-only .left.side-menu #sidebar-menu > ul > li.has_sub > a > .pull-right {
    display: none !important;
}
/* Span fade in sau khi sb-opening kết thúc */
#wrapper.sidebar-hover-only:not(.sb-opening) .left.side-menu #sidebar-menu > ul > li > a > span:not(.badge) {
    animation: sbSpanFadeIn 0.12s ease forwards;
}
@keyframes sbSpanFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Nút hamburger: màu xanh khi đã pin mở rộng */
#wrapper:not(.enlarged):not(.sidebar-hover-only) .button-menu-mobile {
    color: #2b7dbc !important;
}

/* ── END SIDEBAR HOVER-EXPAND ────────────────────────────────────────────── */

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE SIDEBAR – ẩn hoàn toàn, hamburger toggle overlay
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

    /* Collapsed / enlarged: ẩn sidebar hoàn toàn (width = 0) */
    #wrapper.enlarged .left.side-menu {
        width: 0 !important;
    }

    /* Content full-width khi sidebar ẩn */
    #wrapper.enlarged .content-page {
        margin-left: 0 !important;
    }
    #wrapper.enlarged .footer {
        left: 0 !important;
    }

    /* Topbar-left không chiếm rộng trên mobile */
    #wrapper.enlarged .topbar-left,
    #wrapper.sidebar-hover-only .topbar-left {
        width: 70px !important;
    }

    /* Sidebar open overlay: full width, NO content shift */
    #wrapper.sidebar-hover-only .left.side-menu {
        width: 240px !important;
        z-index: 1001 !important;
    }
    #wrapper.sidebar-hover-only .content-page {
        margin-left: 0 !important;
    }
    #wrapper.sidebar-hover-only .footer {
        left: 0 !important;
    }

    /* Backdrop */
    #sb-backdrop {
        display: none;
        position: fixed;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(0, 0, 0, 0.45);
        z-index: 1000;
        cursor: pointer;
    }
    #sb-backdrop.active {
        display: block;
    }
}
/* ── END MOBILE SIDEBAR ─────────────────────────────────────────────────── */