/*
 * Trường Trần Shop - CSS riêng cho trang chủ
 * Tách từ index.php để dễ bảo trì.
 * Thứ tự các khối được giữ nguyên để không đổi độ ưu tiên CSS.
 */

#ttFloatFilter #ttStepCat .tt-filter-choice.tt-cat-sell{
    background:linear-gradient(135deg,#0f766e,#0891b2)!important;
    color:#ecfeff!important;
    border-color:#67e8f9!important;
}

#ttFloatFilter #ttStepCat .tt-filter-choice.tt-cat-new{
    background:linear-gradient(135deg,#7f1d1d,#dc2626)!important;
    color:#fff!important;
    border-color:#fca5a5!important;
}

#ttFloatFilter #ttStepCat .tt-filter-choice.tt-cat-rental{
    background:linear-gradient(135deg,#4c1d95,#6d28d9)!important;
    color:#f5f3ff!important;
    border-color:#c4b5fd!important;
}

#ttFloatFilter #ttStepCat .tt-filter-choice.tt-cat-sold{
    background:linear-gradient(135deg,#92400e,#f59e0b)!important;
    color:#111827!important;
    border-color:#fde68a!important;
}

#ttFloatFilter #ttStepCat .tt-filter-choice.active{
    filter:brightness(1.25);
    box-shadow:0 0 0 3px rgba(255,255,255,.14),0 12px 28px rgba(0,0,0,.35)!important;
}
.tt-empty-search-box{
    width:100%;
    margin:34px 0 38px;
    padding:34px 20px;
    border-radius:26px;
    background:rgba(15,23,42,.92);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:0 18px 45px rgba(0,0,0,.22);
    clear:both;
}

/* ===== KHỐI CSS TIẾP THEO ===== */

/* ===== THANH DANH MỤC NỔI KHI LƯỚT QUA KHU VỰC DANH MỤC ===== */
#ttFilterOrigin{
    width:100%;
    height:1px;
}

.tt-float-filter{
    position:fixed!important;
    top:0!important;
    left:50%!important;
    transform:translate(-50%,-120%)!important;
    width:min(100% - 16px, 1080px)!important;
    z-index:99999!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .22s ease, opacity .18s ease!important;
}

.tt-float-filter.show{
    transform:translate(-50%,8px)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
}

.tt-filter-split{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:8px!important;
    border-radius:14px!important;
    background:rgba(7,13,26,.96)!important;
    border:1px solid rgba(56,189,248,.22)!important;
    box-shadow:0 12px 30px rgba(0,0,0,.32)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
}

.tt-filter-half{
    min-width:0!important;
    min-height:46px!important;
    padding:8px 12px!important;
    border-radius:10px!important;
    border:1px solid rgba(148,163,184,.18)!important;
    background:#121b2b!important;
    color:#f8fafc!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    font-size:13px!important;
    font-weight:700!important;
    text-align:left!important;
}

.tt-filter-half span{
    min-width:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
}

.tt-filter-half b{
    color:#22d3ee!important;
    font-weight:900!important;
}

.tt-filter-half em{
    color:#facc15!important;
    font-style:normal!important;
    flex:none!important;
}

.tt-float-filter-panel{
    display:none;
    margin-top:7px!important;
    padding:12px!important;
    border-radius:14px!important;
    background:rgba(7,13,26,.98)!important;
    border:1px solid rgba(56,189,248,.22)!important;
    box-shadow:0 18px 40px rgba(0,0,0,.4)!important;
    max-height:70vh!important;
    overflow:auto!important;
}

.tt-float-filter-panel.show{
    display:block!important;
}

.tt-step-box{
    display:none;
}

.tt-step-box.show{
    display:block!important;
}

.tt-step-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-bottom:10px!important;
}

.tt-step-title{
    color:#f8fafc!important;
    font-size:15px!important;
    font-weight:900!important;
}

.tt-step-back{
    border:0!important;
    background:transparent!important;
    color:#22d3ee!important;
    font-size:13px!important;
    font-weight:800!important;
}

.tt-mini-list-2col{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
}

.tt-filter-choice{
    min-height:44px!important;
    padding:9px 10px!important;
    border-radius:10px!important;
    border:1px solid rgba(148,163,184,.18)!important;
    background:#121b2b!important;
    color:#f8fafc!important;
    font-size:13px!important;
    font-weight:800!important;
}

.tt-filter-choice.active{
    outline:2px solid rgba(34,211,238,.45)!important;
}

@media(max-width:768px){
    .tt-float-filter{
        width:calc(100% - 12px)!important;
    }

    .tt-float-filter.show{
        transform:translate(-50%,6px)!important;
    }

    .tt-filter-split{
        padding:6px!important;
        gap:6px!important;
        border-radius:12px!important;
    }

    .tt-filter-half{
        min-height:42px!important;
        padding:7px 9px!important;
        font-size:11.5px!important;
    }

    .tt-float-filter-panel{
        padding:10px!important;
        border-radius:12px!important;
    }

    .tt-mini-list-2col{
        gap:7px!important;
    }

    .tt-filter-choice{
        min-height:41px!important;
        padding:8px!important;
        font-size:12px!important;
    }
}

/* ===== KHỐI CSS TIẾP THEO ===== */

/* FIX TOP SLIDER: dùng ảnh AG nhẹ, kéo full ngang, giữ chiều cao đều, không crop */
.tt-top-box{
    overflow:hidden!important;
}

.tt-top-slider{
    display:flex!important;
    gap:18px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-behavior:smooth!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x pan-y!important;
    padding-bottom:8px!important;
    scrollbar-width:thin;
}

.tt-top-card{
    flex:0 0 calc((100% - 54px) / 4)!important;
    min-width:0!important;
}

.tt-top-img{
    width:100%!important;
    height:180px!important;
    aspect-ratio:auto!important;
    display:block!important;
    object-fit:fill!important;
    border-radius:12px 12px 0 0!important;
}

.tt-top-slider::-webkit-scrollbar{
    height:6px;
}

.tt-top-slider::-webkit-scrollbar-thumb{
    background:rgba(148,163,184,.45);
    border-radius:999px;
}

@media(max-width:768px){
    .tt-top-slider{
        gap:12px!important;
        scroll-snap-type:x proximity;
    }

    .tt-top-card{
        flex:0 0 72vw!important;
        min-width:72vw!important;
        scroll-snap-align:start;
    }

    .tt-top-img{
        width:100%!important;
        height:165px!important;
        aspect-ratio:auto!important;
        object-fit:fill!important;
    }
}

/* ===== KHỐI CSS TIẾP THEO ===== */

.tt-custom-price-cat-open{
    border:none;
    cursor:pointer;
    background:linear-gradient(135deg,#facc15,#f59e0b)!important;
    color:#111827!important;
    font-weight:900!important;
}
.tt-custom-price-cat-open i{
    color:#111827!important;
}

/* ===== KHỐI CSS TIẾP THEO ===== */

/* FIX CUỐI: thanh được đưa ra body, không bị SPA/transform/overflow giữ lại */
body > #ttFloatFilter{
    position:fixed!important;
    top:0!important;
    left:50%!important;
    right:auto!important;
    bottom:auto!important;
    margin:0!important;
    width:min(calc(100vw - 16px),1080px)!important;
    max-width:1080px!important;
    z-index:2147483000!important;
}

body > #ttFloatFilter.show{
    transform:translate(-50%,8px)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
}

@media(max-width:768px){
    body > #ttFloatFilter{
        width:calc(100vw - 12px)!important;
    }

    body > #ttFloatFilter.show{
        transform:translate(-50%,6px)!important;
    }
}

/* ===== KHỐI CSS TIẾP THEO ===== */

/* Modal sửa nhanh phải nằm trên mọi overlay/loading của SPA */
#quickEditModal,
.modal#quickEditModal,
#adminQuickEditModal,
.modal.admin-quick-edit-modal{
    z-index:2147483646!important;
    pointer-events:auto!important;
}

#quickEditModal .modal-dialog,
#quickEditModal .modal-content,
#quickEditModal input,
#quickEditModal select,
#quickEditModal textarea,
#quickEditModal button,
#adminQuickEditModal .modal-dialog,
#adminQuickEditModal .modal-content{
    pointer-events:auto!important;
}

body.tt-quick-edit-open .modal-backdrop{
    z-index:2147483644!important;
}

body > #quickEditModal,
body > #adminQuickEditModal,
body > .admin-quick-edit-modal{
    position:fixed!important;
    inset:0!important;
    z-index:2147483646!important;
    pointer-events:auto!important;
}

/* Các lớp loading phổ biến không được chặn modal sửa nhanh */
body.tt-quick-edit-open #pageLoader,
body.tt-quick-edit-open #page-loader,
body.tt-quick-edit-open #loadingOverlay,
body.tt-quick-edit-open #loading-overlay,
body.tt-quick-edit-open .page-loader,
body.tt-quick-edit-open .loading-overlay,
body.tt-quick-edit-open .spa-loading-overlay,
body.tt-quick-edit-open .tt-page-loader,
body.tt-quick-edit-open .tt-loading-overlay{
    pointer-events:none!important;
}

/* ===== KHỐI CSS TIẾP THEO ===== */

.tt-money-input{
    position:relative;
}

.tt-money-input input{
    width:100%;
    padding-right:78px!important;
}

.tt-money-unit{
    position:absolute;
    right:18px;
    bottom:13px;
    color:#9ca3af;
    font-weight:800;
    pointer-events:none;
    user-select:none;
}
.btn-wa-tac{
    background: linear-gradient(135deg,#22c55e,#16a34a);
    color:#fff!important;
}

.btn-wa-tac:hover{
    background: linear-gradient(135deg,#16a34a,#15803d);
    color:#fff!important;
}
.btn-tele-tac{
    background:linear-gradient(135deg,#229ED9,#0088cc);
    color:#fff!important;
}

.btn-tele-tac:hover{
    background:linear-gradient(135deg,#0088cc,#0077b5);
    color:#fff!important;
}

/* Ngày treo hộ: chỉ hiện ở card Acc Order, nằm cạnh dòng Mã */
.tt-product-title-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-width:0;
}

.tt-product-code-wrap{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    flex:1 1 auto;
}

.tt-product-code-wrap .product-title{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tt-product-code-wrap .btn-copy-code{
    flex:0 0 auto;
}

.tt-order-card-date{
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    flex:0 0 auto;
    white-space:nowrap;
    color:#94a3b8;
    font-size:12px;
    font-weight:700;
    line-height:1.2;
    text-align:right;
}

@media(max-width:768px){
    .tt-product-title-row{
        gap:7px;
    }

    .tt-product-code-wrap{
        gap:6px;
    }

    .tt-order-card-date{
        font-size:10px;
        letter-spacing:-0.15px;
    }
}
/* =====================================================
   FIX THANH DƯỚI CARD: GỌN, ĐỀU, KHÔNG XUỐNG DÒNG
===================================================== */

.product-card .product-body{
    padding:14px 14px 12px!important;
}

/* Thanh Size + Đề xuất + Còn hàng */
.product-card .product-meta{
    display:grid!important;
    grid-template-columns:minmax(82px, 1fr) auto auto!important;
    align-items:center!important;
    gap:7px!important;

    width:100%!important;
    min-height:42px!important;
    margin-top:10px!important;
}

/* Size và giá luôn nằm một dòng */
.product-card .price-tag{
    min-width:0!important;
    margin:0!important;

    display:flex!important;
    align-items:baseline!important;
    gap:4px!important;

    white-space:nowrap!important;
    overflow:hidden!important;

    font-size:17px!important;
    font-weight:800!important;
    line-height:1.1!important;
}

/* Chữ Size nhỏ lại */
.product-card .price-tag > span{
    flex:0 0 auto!important;
    font-size:12px!important;
    line-height:1!important;
}

/* Badge ACC ĐỀ XUẤT */
.product-card .tt-recommend-badge{
    height:36px!important;
    min-height:36px!important;
    padding:0 11px!important;

    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;

    border-radius:11px!important;
    white-space:nowrap!important;

    font-size:11px!important;
    font-weight:900!important;
    line-height:1!important;
}

/* Nút CÒN HÀNG / ĐÃ BÁN */
.product-card .btn-detail{
    height:36px!important;
    min-height:36px!important;
    padding:0 11px!important;

    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;

    border-radius:11px!important;
    white-space:nowrap!important;

    font-size:10.5px!important;
    font-weight:800!important;
    line-height:1!important;
}

/* Màn hình desktop đang chia 3 card */
@media (min-width:769px) and (max-width:1400px){

    .product-card .product-body{
        padding:12px 11px 10px!important;
    }

    .product-card .product-meta{
        grid-template-columns:minmax(72px,1fr) auto auto!important;
        gap:5px!important;
        min-height:38px!important;
    }

    .product-card .price-tag{
        font-size:15px!important;
        gap:3px!important;
    }

    .product-card .price-tag > span{
        font-size:10.5px!important;
    }

    .product-card .tt-recommend-badge{
        height:32px!important;
        min-height:32px!important;
        padding:0 8px!important;
        border-radius:9px!important;
        font-size:9.5px!important;
    }

    .product-card .btn-detail{
        height:32px!important;
        min-height:32px!important;
        padding:0 8px!important;
        border-radius:9px!important;
        font-size:9px!important;
    }
}

/* Mobile */
@media (max-width:768px){

    .product-card .product-body{
        padding:14px 13px 12px!important;
    }

    .product-card .product-meta{
        grid-template-columns:minmax(90px,1fr) auto auto!important;
        align-items:center!important;
        gap:7px!important;
        min-height:40px!important;
        margin-top:10px!important;
    }

    .product-card .price-tag{
        font-size:18px!important;
        gap:4px!important;
        line-height:1.1!important;
    }

    .product-card .price-tag > span{
        font-size:12px!important;
    }

    .product-card .tt-recommend-badge{
        height:36px!important;
        min-height:36px!important;
        padding:0 11px!important;
        border-radius:10px!important;
        font-size:10.5px!important;
    }

    .product-card .btn-detail{
        height:36px!important;
        min-height:36px!important;
        padding:0 11px!important;
        border-radius:10px!important;
        font-size:10px!important;
    }
}

/* ===== KHỐI CSS TIẾP THEO ===== */

/* =========================================================
   MOBILE GOLDEN LAYOUT
   - Profile gọn, avatar không lẻ
   - Bảng thống kê thấp hơn, thoáng hơn
   - Bỏ tiêu đề Danh sách Acc thừa
========================================================= */

.tt-home-live-panel{
    margin:16px 0 18px;
    padding:15px;
    border-radius:20px;
    background:
        radial-gradient(circle at 8% 0%,rgba(245,158,11,.09),transparent 30%),
        linear-gradient(145deg,#08111f,#0d1a2e);
    border:1px solid rgba(245,158,11,.34);
    box-shadow:0 16px 38px rgba(0,0,0,.24);
}

.tt-home-live-title{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
    color:#fbbf24;
    font-size:17px;
    font-weight:950;
    letter-spacing:.15px;
}

.tt-live-fire{
    font-size:20px;
    filter:drop-shadow(0 0 7px rgba(249,115,22,.42));
}

.tt-home-live-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
}

.tt-live-stat{
    position:relative;
    min-width:0;
    min-height:98px;
    padding:8px 6px 7px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    text-decoration:none!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    transition:transform .16s ease;
}

.tt-live-stat:not(:last-child)::after{
    content:"";
    position:absolute;
    top:16px;
    right:0;
    bottom:16px;
    width:1px;
    background:linear-gradient(
        to bottom,
        transparent,
        rgba(148,163,184,.28),
        transparent
    );
}

.tt-live-stat:active{
    transform:scale(.97);
}

.tt-live-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:color-mix(in srgb,currentColor 18%,#0b1424);
    border:1px solid color-mix(in srgb,currentColor 68%,transparent);
}

.tt-live-icon i{
    color:currentColor;
    font-size:19px;
}

.tt-live-stat strong{
    margin-top:6px;
    color:currentColor;
    font-size:28px;
    line-height:1;
    font-weight:950;
}

.tt-live-stat small{
    min-height:27px;
    margin-top:7px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#eef2f7;
    font-size:9px;
    line-height:1.2;
    font-weight:850;
}

.tt-live-green{color:#22c55e!important}
.tt-live-blue{color:#0ea5e9!important}
.tt-live-purple{color:#c044ff!important}
.tt-live-gold{color:#f59e0b!important}

.tt-live-latest{
    min-height:40px;
    margin-top:9px;
    padding:0 13px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#f8fafc!important;
    text-decoration:none!important;
    font-size:12.5px;
    font-weight:850;
    background:rgba(15,23,42,.66);
    border:1px solid rgba(245,158,11,.52);
}

.tt-live-latest > i:last-child{
    margin-left:auto;
    color:#f59e0b;
}

.tt-search-after-stats{
    margin-top:0!important;
}

/* Desktop/tablet giữ cân đối */
@media(min-width:769px){
    .tt-home-live-panel{
        padding:16px 18px;
    }

    .tt-live-stat{
        min-height:104px;
    }
}

/* iPhone / mobile */
@media(max-width:768px){
    .container.py-4{
        padding-top:12px!important;
    }

    .profile-tactical{
        overflow:hidden!important;
        border-radius:20px!important;
    }

    .profile-tactical .pt-cover{
        height:auto!important;
        min-height:0!important;
        aspect-ratio:16/6.35!important;
        background-size:cover!important;
        background-position:center!important;
    }

    /*
      Tỷ lệ 38.2 / 61.8:
      avatar ~38%, nội dung ~62%
    */
    .profile-tactical .pt-body{
        display:grid!important;
        grid-template-columns:38.2% minmax(0,61.8%)!important;
        align-items:center!important;
        column-gap:13px!important;
        row-gap:12px!important;
        padding:15px 14px 14px!important;
    }

    .profile-tactical .pt-avatar-box{
        width:100%!important;
        height:auto!important;
        aspect-ratio:1/1!important;
        margin:0!important;
        align-self:start!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
    }

    .profile-tactical .pt-avatar{
        width:100%!important;
        height:100%!important;
        max-width:116px!important;
        max-height:116px!important;
        object-fit:cover!important;
        border-width:4px!important;
        box-shadow:0 10px 25px rgba(0,0,0,.32)!important;
    }

    .profile-tactical .pt-info{
        min-width:0!important;
        padding:0!important;
        text-align:left!important;
    }

    .profile-tactical .pt-name{
        margin:0 0 8px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:5px!important;
        font-size:20px!important;
        line-height:1.1!important;
        white-space:nowrap!important;
    }

    .profile-tactical .pt-rank-badge{
        font-size:16px!important;
    }

    .profile-tactical .pt-bio{
        font-size:11.2px!important;
        line-height:1.42!important;
    }

    .profile-tactical .pt-bio p{
        margin-bottom:4px!important;
        text-align:left!important;
    }

    .profile-tactical .pt-actions{
        grid-column:1/-1!important;
        width:100%!important;
        margin-top:0!important;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:8px!important;
    }

    .profile-tactical .btn-tactical{
        width:100%!important;
        min-width:0!important;
        min-height:43px!important;
        padding:0 7px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:6px!important;
        border-radius:12px!important;
        font-size:11.5px!important;
        font-weight:900!important;
        white-space:nowrap!important;
    }

    .tt-home-live-panel{
        margin:14px 0 14px!important;
        padding:12px 10px 10px!important;
        border-radius:17px!important;
    }

    .tt-home-live-title{
        margin-bottom:8px!important;
        font-size:15.5px!important;
    }

    .tt-live-fire{
        font-size:18px!important;
    }

    .tt-home-live-grid{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }

    .tt-live-stat{
        min-height:84px!important;
        padding:6px 3px!important;
    }

    .tt-live-stat:not(:last-child)::after{
        top:12px!important;
        bottom:12px!important;
    }

    .tt-live-icon{
        width:27px!important;
        height:27px!important;
        border-radius:8px!important;
    }

    .tt-live-icon i{
        font-size:15px!important;
    }

    .tt-live-stat strong{
        margin-top:5px!important;
        font-size:21px!important;
    }

    .tt-live-stat small{
        min-height:24px!important;
        margin-top:5px!important;
        font-size:7.7px!important;
        line-height:1.15!important;
        letter-spacing:-.12px!important;
    }

    .tt-live-latest{
        min-height:37px!important;
        margin-top:7px!important;
        padding:0 10px!important;
        border-radius:11px!important;
        font-size:11px!important;
    }

    .tt-search-after-stats{
        margin-top:0!important;
        margin-bottom:10px!important;
    }
}

/* iPhone nhỏ */

.tt-live-time-value{
    display:inline-flex!important;
    align-items:baseline!important;
    justify-content:center!important;
    gap:3px!important;
    white-space:nowrap!important;
}

.tt-live-time-value span{
    font-size:.46em!important;
    font-weight:900!important;
    letter-spacing:.1px!important;
}

@media(max-width:390px){
    .profile-tactical .pt-body{
        grid-template-columns:36% minmax(0,64%)!important;
        column-gap:10px!important;
        padding:13px 11px 12px!important;
    }

    .profile-tactical .pt-name{
        font-size:18px!important;
    }

    .profile-tactical .pt-bio{
        font-size:10.3px!important;
    }

    .profile-tactical .btn-tactical{
        min-height:41px!important;
        font-size:10.7px!important;
    }

    .tt-live-stat strong{
        font-size:19px!important;
    }

    .tt-live-stat small{
        font-size:7px!important;
    }
}

/* ===== KHỐI CSS TIẾP THEO ===== */

/* =========================================================
   FIX MOBILE PROFILE V3
   Sửa lỗi avatar phóng to / đè banner / lệch bố cục
========================================================= */
@media(max-width:768px){

    .profile-tactical{
        position:relative!important;
        overflow:hidden!important;
        border-radius:20px!important;
    }

    .profile-tactical .pt-cover{
        position:relative!important;
        inset:auto!important;
        transform:none!important;
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        aspect-ratio:16/6.35!important;
        margin:0!important;
        background-size:cover!important;
        background-position:center!important;
    }

    .profile-tactical .pt-body{
        position:relative!important;
        inset:auto!important;
        transform:none!important;
        margin:0!important;

        display:grid!important;
        grid-template-columns:112px minmax(0,1fr)!important;
        align-items:start!important;
        column-gap:12px!important;
        row-gap:12px!important;

        width:100%!important;
        min-height:0!important;
        padding:15px 14px 14px!important;
    }

    .profile-tactical .pt-avatar-box{
        position:static!important;
        inset:auto!important;
        top:auto!important;
        right:auto!important;
        bottom:auto!important;
        left:auto!important;
        transform:none!important;

        width:112px!important;
        height:112px!important;
        min-width:112px!important;
        max-width:112px!important;
        min-height:112px!important;
        max-height:112px!important;

        margin:0!important;
        padding:0!important;
        align-self:start!important;
        justify-self:start!important;
        overflow:visible!important;
    }

    .profile-tactical .pt-avatar{
        position:static!important;
        inset:auto!important;
        transform:none!important;

        display:block!important;
        width:112px!important;
        height:112px!important;
        min-width:112px!important;
        max-width:112px!important;
        min-height:112px!important;
        max-height:112px!important;

        margin:0!important;
        padding:0!important;
        object-fit:cover!important;
        border-radius:50%!important;
        border-width:4px!important;
        box-sizing:border-box!important;
    }

    .profile-tactical .pt-info{
        position:static!important;
        inset:auto!important;
        transform:none!important;

        min-width:0!important;
        width:100%!important;
        margin:0!important;
        padding:0!important;
        text-align:left!important;
        align-self:center!important;
    }

    .profile-tactical .pt-name{
        margin:0 0 7px!important;
        padding:0!important;
        font-size:19px!important;
        line-height:1.15!important;
        white-space:normal!important;
    }

    .profile-tactical .pt-bio{
        font-size:10.8px!important;
        line-height:1.42!important;
    }

    .profile-tactical .pt-bio p{
        margin:0 0 4px!important;
    }

    .profile-tactical .pt-actions{
        position:static!important;
        inset:auto!important;
        transform:none!important;

        grid-column:1/-1!important;
        width:100%!important;
        margin:0!important;
        padding:0!important;

        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:8px!important;
    }

    .profile-tactical .btn-tactical{
        min-height:42px!important;
        height:42px!important;
        padding:0 7px!important;
        font-size:11px!important;
        border-radius:12px!important;
    }

    /* Bảng thống kê thấp hơn và cân đối hơn */
    .tt-home-live-panel{
        margin:14px 0!important;
        padding:12px 10px 10px!important;
    }

    .tt-live-stat{
        min-height:80px!important;
    }

    .tt-live-stat strong{
        font-size:20px!important;
    }

    .tt-live-stat small{
        font-size:7.4px!important;
        line-height:1.12!important;
    }

    .tt-live-time-value span{
        font-size:.48em!important;
    }
}

@media(max-width:390px){
    .profile-tactical .pt-body{
        grid-template-columns:98px minmax(0,1fr)!important;
        column-gap:10px!important;
        padding:13px 11px 12px!important;
    }

    .profile-tactical .pt-avatar-box,
    .profile-tactical .pt-avatar{
        width:98px!important;
        height:98px!important;
        min-width:98px!important;
        max-width:98px!important;
        min-height:98px!important;
        max-height:98px!important;
    }

    .profile-tactical .pt-name{
        font-size:17px!important;
    }

    .profile-tactical .pt-bio{
        font-size:9.9px!important;
    }
}

/* ===== KHỐI CSS TIẾP THEO ===== */

/* =========================================================
   FIX MOBILE PROFILE V4 - RESET SẠCH, XẾP NGAY NGẮN
========================================================= */
@media(max-width:768px){

    .profile-tactical{
        position:relative!important;
        overflow:hidden!important;
        border-radius:20px!important;
        background:#0d1728!important;
    }

    .profile-tactical::before,
    .profile-tactical::after,
    .profile-tactical .pt-body::before,
    .profile-tactical .pt-body::after,
    .profile-tactical .pt-avatar-box::before,
    .profile-tactical .pt-avatar-box::after{
        content:none!important;
        display:none!important;
    }

    .profile-tactical .pt-cover{
        position:relative!important;
        inset:auto!important;
        transform:none!important;
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        aspect-ratio:16/6.2!important;
        margin:0!important;
        border-radius:0!important;
        background-size:cover!important;
        background-position:center!important;
    }

    .profile-tactical .pt-body{
        position:relative!important;
        inset:auto!important;
        transform:none!important;
        width:100%!important;
        min-height:0!important;
        margin:0!important;
        padding:16px 14px 14px!important;

        display:grid!important;
        grid-template-columns:108px minmax(0,1fr)!important;
        grid-template-areas:
            "avatar info"
            "actions actions"!important;
        column-gap:12px!important;
        row-gap:13px!important;
        align-items:center!important;

        background:#111a29!important;
        background-image:none!important;
        border:0!important;
        border-radius:0 0 20px 20px!important;
        box-shadow:none!important;
    }

    .profile-tactical .pt-avatar-box{
        grid-area:avatar!important;
        position:static!important;
        inset:auto!important;
        transform:none!important;
        width:108px!important;
        height:108px!important;
        min-width:108px!important;
        max-width:108px!important;
        min-height:108px!important;
        max-height:108px!important;
        margin:0!important;
        padding:0!important;
        background:transparent!important;
        background-image:none!important;
        border:0!important;
        border-radius:50%!important;
        box-shadow:none!important;
        overflow:visible!important;
        align-self:center!important;
        justify-self:start!important;
    }

    .profile-tactical .pt-avatar{
        position:static!important;
        inset:auto!important;
        transform:none!important;
        display:block!important;
        width:108px!important;
        height:108px!important;
        min-width:108px!important;
        max-width:108px!important;
        min-height:108px!important;
        max-height:108px!important;
        margin:0!important;
        padding:0!important;
        object-fit:cover!important;
        border-radius:50%!important;
        border:4px solid #178eea!important;
        box-sizing:border-box!important;
        box-shadow:0 8px 22px rgba(0,0,0,.28)!important;
    }

    .profile-tactical .pt-info{
        grid-area:info!important;
        position:static!important;
        inset:auto!important;
        transform:none!important;
        width:100%!important;
        min-width:0!important;
        margin:0!important;
        padding:0!important;
        text-align:left!important;
        background:transparent!important;
        background-image:none!important;
        border:0!important;
        box-shadow:none!important;
        align-self:center!important;
    }

    .profile-tactical .pt-name{
        margin:0 0 8px!important;
        padding:0!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:5px!important;
        font-size:20px!important;
        line-height:1.15!important;
        white-space:nowrap!important;
    }

    .profile-tactical .pt-rank-badge{
        font-size:16px!important;
        flex:0 0 auto!important;
    }

    .profile-tactical .pt-bio{
        margin:0!important;
        font-size:10.8px!important;
        line-height:1.42!important;
        color:#cbd5e1!important;
    }

    .profile-tactical .pt-bio p{
        margin:0 0 4px!important;
        padding:0!important;
        text-align:left!important;
    }

    .profile-tactical .pt-actions{
        grid-area:actions!important;
        position:static!important;
        inset:auto!important;
        transform:none!important;
        width:100%!important;
        margin:0!important;
        padding:0!important;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:8px!important;
        background:transparent!important;
        background-image:none!important;
    }

    .profile-tactical .btn-tactical{
        width:100%!important;
        min-width:0!important;
        height:42px!important;
        min-height:42px!important;
        margin:0!important;
        padding:0 8px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:6px!important;
        border-radius:12px!important;
        font-size:11px!important;
        font-weight:900!important;
        line-height:1!important;
        white-space:nowrap!important;
    }

    .profile-tactical .btn-tactical i{
        font-size:16px!important;
    }

    /* Bảng thống kê gọn, không quá cao */
    .tt-home-live-panel{
        margin:14px 0!important;
        padding:12px 10px 10px!important;
        border-radius:17px!important;
    }

    .tt-home-live-title{
        margin-bottom:8px!important;
    }

    .tt-live-stat{
        min-height:78px!important;
        padding:5px 3px!important;
    }

    .tt-live-icon{
        width:26px!important;
        height:26px!important;
    }

    .tt-live-stat strong{
        font-size:20px!important;
    }

    .tt-live-stat small{
        min-height:22px!important;
        font-size:7.3px!important;
        line-height:1.12!important;
    }

    .tt-live-latest{
        min-height:36px!important;
        margin-top:7px!important;
        font-size:10.8px!important;
    }
}

@media(max-width:390px){
    .profile-tactical .pt-body{
        grid-template-columns:94px minmax(0,1fr)!important;
        column-gap:10px!important;
        padding:13px 11px 12px!important;
    }

    .profile-tactical .pt-avatar-box,
    .profile-tactical .pt-avatar{
        width:94px!important;
        height:94px!important;
        min-width:94px!important;
        max-width:94px!important;
        min-height:94px!important;
        max-height:94px!important;
    }

    .profile-tactical .pt-name{
        font-size:17px!important;
    }

    .profile-tactical .pt-bio{
        font-size:9.8px!important;
    }

    .profile-tactical .btn-tactical{
        height:40px!important;
        min-height:40px!important;
        font-size:10.4px!important;
    }
}

/* ===== KHỐI CSS TIẾP THEO ===== */

/* =========================================================
   DASHBOARD PC/MOBILE V5 - GỌN, KHÔNG LẶP THÔNG TIN
========================================================= */

.tt-home-live-title{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
}

.tt-live-title-left{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
}

.tt-live-auto-badge{
    flex:0 0 auto!important;
    min-height:28px!important;
    padding:0 10px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    color:#86efac!important;
    background:rgba(34,197,94,.10)!important;
    border:1px solid rgba(34,197,94,.28)!important;
    font-size:10px!important;
    font-weight:900!important;
    white-space:nowrap!important;
}

.tt-live-auto-badge i{
    color:#22c55e!important;
    font-size:8px!important;
    animation:ttLivePulse 1.5s ease-in-out infinite!important;
}

@keyframes ttLivePulse{
    0%,100%{opacity:.35;transform:scale(.86)}
    50%{opacity:1;transform:scale(1.18)}
}

/* Thanh thông báo chạy */
.tt-live-ticker{
    min-height:39px!important;
    margin-top:8px!important;
    padding:0 5px 0 12px!important;
    border-radius:12px!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    overflow:hidden!important;
    background:rgba(15,23,42,.68)!important;
    border:1px solid rgba(245,158,11,.50)!important;
}

.tt-live-ticker-window{
    flex:1 1 auto!important;
    min-width:0!important;
    overflow:hidden!important;
}

.tt-live-ticker-track{
    height:38px!important;
    display:flex!important;
    flex-direction:column!important;
    animation:ttTickerVertical 16s cubic-bezier(.4,0,.2,1) infinite!important;
}

.tt-live-ticker-track span{
    flex:0 0 38px!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    color:#f8fafc!important;
    font-size:12px!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

.tt-live-ticker-track i{
    color:#f59e0b!important;
    font-size:15px!important;
}

.tt-live-ticker-more{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    border-radius:10px!important;
    display:grid!important;
    place-items:center!important;
    color:#f59e0b!important;
    text-decoration:none!important;
}

@keyframes ttTickerVertical{
    0%,26%{transform:translateY(0)}
    33%,59%{transform:translateY(-38px)}
    66%,92%{transform:translateY(-76px)}
    100%{transform:translateY(0)}
}

/* Desktop: hạ chiều cao, giảm khoảng trống */
@media(min-width:769px){
    .tt-home-live-panel{
        padding:13px 18px 12px!important;
        margin:14px 0 16px!important;
        border-radius:18px!important;
    }

    .tt-home-live-title{
        margin-bottom:6px!important;
        font-size:15px!important;
    }

    .tt-home-live-grid{
        margin-top:0!important;
    }

    .tt-live-stat{
        min-height:74px!important;
        padding:3px 8px!important;
    }

    .tt-live-stat:not(:last-child)::after{
        top:10px!important;
        bottom:10px!important;
    }

    .tt-live-icon{
        width:27px!important;
        height:27px!important;
        border-radius:8px!important;
    }

    .tt-live-icon i{
        font-size:15px!important;
    }

    .tt-live-stat strong{
        margin-top:4px!important;
        font-size:23px!important;
    }

    .tt-live-stat small{
        min-height:18px!important;
        margin-top:4px!important;
        font-size:7.5px!important;
        line-height:1.1!important;
    }

    .tt-live-ticker{
        margin-top:5px!important;
        min-height:34px!important;
    }

    .tt-live-ticker-track{
        height:33px!important;
    }

    .tt-live-ticker-track span{
        flex-basis:33px!important;
        font-size:11px!important;
    }

    @keyframes ttTickerVertical{
        0%,26%{transform:translateY(0)}
        33%,59%{transform:translateY(-33px)}
        66%,92%{transform:translateY(-66px)}
        100%{transform:translateY(0)}
    }
}

@media(max-width:768px){
    .tt-live-auto-badge{
        min-height:24px!important;
        padding:0 8px!important;
        font-size:8px!important;
    }

    .tt-live-ticker-track span{
        font-size:10.5px!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .tt-live-auto-badge i,
    .tt-live-ticker-track{
        animation:none!important;
    }
}

/* ===== KHỐI CSS TIẾP THEO ===== */

/* =========================================================
   THÔNG BÁO ADMIN CHẠY NGANG
========================================================= */
.tt-admin-announcement{
    position:relative!important;
    min-height:44px!important;
    margin-top:8px!important;
    padding:0 8px!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    overflow:hidden!important;
    border-radius:13px!important;
    color:#fbbf24!important;
    background:
        radial-gradient(circle at 50% 100%,rgba(245,158,11,.10),transparent 48%),
        rgba(8,17,31,.90)!important;
    border:1px solid rgba(245,158,11,.70)!important;
    box-shadow:
        0 0 0 1px rgba(245,158,11,.06) inset,
        0 0 18px rgba(245,158,11,.10)!important;
}

.tt-admin-announcement.is-disabled{
    display:none!important;
}

body.admin-logged-in .tt-admin-announcement.is-disabled,
.tt-admin-announcement.is-disabled:has(.tt-announcement-edit-btn){
    display:flex!important;
    opacity:.55!important;
}

.tt-admin-announcement-icon{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:10px!important;
    color:#f59e0b!important;
    background:rgba(245,158,11,.12)!important;
}

.tt-admin-announcement-icon i{
    font-size:19px!important;
}

.tt-admin-announcement-window{
    position:relative!important;
    flex:1 1 auto!important;
    min-width:0!important;
    height:42px!important;
    overflow:hidden!important;
}

.tt-admin-announcement-runner{
    position:absolute!important;
    top:50%!important;
    left:0!important;
    width:max-content!important;
    max-width:none!important;
    transform:translateY(-50%) translateX(-100%)!important;
    color:#fbbf24!important;
    font-size:13px!important;
    font-weight:900!important;
    white-space:nowrap!important;
    will-change:transform!important;
    animation:ttAnnouncementLeftToRight 18s linear infinite!important;
}

.tt-admin-announcement:hover .tt-admin-announcement-runner{
    animation-play-state:paused!important;
}

@keyframes ttAnnouncementLeftToRight{
    from{
        transform:translateY(-50%) translateX(-100%);
    }
    to{
        transform:translateY(-50%) translateX(calc(100vw + 100%));
    }
}

.tt-admin-announcement-arrow,
.tt-announcement-edit-btn{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:10px!important;
    color:#f59e0b!important;
}

.tt-announcement-edit-btn{
    border:1px solid rgba(245,158,11,.32)!important;
    background:rgba(245,158,11,.10)!important;
    cursor:pointer!important;
}

.tt-announcement-edit-btn:hover{
    background:rgba(245,158,11,.20)!important;
}

/* Modal sửa thông báo */
.tt-announcement-modal{
    position:fixed!important;
    inset:0!important;
    z-index:2147483645!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    padding:18px!important;
}

.tt-announcement-modal.show{
    display:flex!important;
}

.tt-announcement-modal-backdrop{
    position:absolute!important;
    inset:0!important;
    background:rgba(0,0,0,.72)!important;
    backdrop-filter:blur(5px)!important;
    -webkit-backdrop-filter:blur(5px)!important;
}

.tt-announcement-modal-card{
    position:relative!important;
    z-index:1!important;
    width:min(520px,100%)!important;
    padding:18px!important;
    border-radius:18px!important;
    background:#0d1728!important;
    border:1px solid rgba(245,158,11,.42)!important;
    box-shadow:0 25px 70px rgba(0,0,0,.55)!important;
}

.tt-announcement-modal-head{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-bottom:13px!important;
}

.tt-announcement-modal-head strong{
    display:block!important;
    color:#fbbf24!important;
    font-size:17px!important;
}

.tt-announcement-modal-head small{
    display:block!important;
    margin-top:4px!important;
    color:#94a3b8!important;
    font-size:11px!important;
}

.tt-announcement-modal-head button{
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    border:0!important;
    border-radius:10px!important;
    color:#fff!important;
    background:rgba(255,255,255,.07)!important;
}

#ttAnnouncementInput{
    width:100%!important;
    min-height:120px!important;
    resize:vertical!important;
    padding:13px!important;
    border-radius:12px!important;
    color:#fff!important;
    background:#111c30!important;
    border:1px solid rgba(148,163,184,.25)!important;
    outline:none!important;
    font-size:14px!important;
    line-height:1.5!important;
}

#ttAnnouncementInput:focus{
    border-color:#f59e0b!important;
    box-shadow:0 0 0 3px rgba(245,158,11,.12)!important;
}

.tt-announcement-enable-row{
    margin-top:12px!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    color:#e2e8f0!important;
    font-size:13px!important;
    font-weight:750!important;
}

.tt-announcement-enable-row input{
    width:18px!important;
    height:18px!important;
    accent-color:#22c55e!important;
}

.tt-announcement-modal-actions{
    margin-top:15px!important;
    display:grid!important;
    grid-template-columns:110px 1fr!important;
    gap:9px!important;
}

.tt-announcement-modal-actions button{
    min-height:42px!important;
    border-radius:11px!important;
    font-size:12px!important;
    font-weight:900!important;
}

.tt-announcement-cancel{
    color:#cbd5e1!important;
    background:#1e293b!important;
    border:1px solid rgba(148,163,184,.20)!important;
}

.tt-announcement-save{
    color:#111827!important;
    background:linear-gradient(135deg,#facc15,#f59e0b)!important;
    border:0!important;
}

.tt-announcement-save:disabled{
    opacity:.6!important;
    cursor:wait!important;
}

.tt-announcement-save-status{
    min-height:18px!important;
    margin-top:9px!important;
    color:#86efac!important;
    font-size:11px!important;
    font-weight:750!important;
    text-align:center!important;
}

@media(max-width:768px){
    .tt-admin-announcement{
        min-height:42px!important;
        margin-top:7px!important;
        padding:0 6px!important;
        gap:6px!important;
        border-radius:12px!important;
    }

    .tt-admin-announcement-icon{
        flex-basis:30px!important;
        width:30px!important;
        height:30px!important;
    }

    .tt-admin-announcement-icon i{
        font-size:17px!important;
    }

    .tt-admin-announcement-window{
        height:40px!important;
    }

    .tt-admin-announcement-runner{
        font-size:11px!important;
        animation-duration:14s!important;
    }

    .tt-admin-announcement-arrow,
    .tt-announcement-edit-btn{
        flex-basis:30px!important;
        width:30px!important;
        height:30px!important;
    }

    .tt-announcement-modal-card{
        padding:15px!important;
        border-radius:15px!important;
    }

    .tt-announcement-modal-actions{
        grid-template-columns:90px 1fr!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .tt-admin-announcement-runner{
        position:static!important;
        transform:none!important;
        animation:none!important;
        width:auto!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }
}


/* =========================================================
   OVERLAY TẢI TRANG - HIỆN NGAY KHI VÀO TRANG
========================================================= */
html.tt-page-loading,
html.tt-page-loading body{
    overflow:hidden!important;
}

.tt-page-loader{
    position:fixed!important;
    inset:0!important;
    z-index:2147483647!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
    background:
        radial-gradient(circle at 50% 38%,rgba(37,99,235,.10),transparent 34%),
        #050b16!important;
    opacity:1!important;
    visibility:visible!important;
    transition:opacity .55s ease,visibility .55s ease!important;
}

.tt-page-loader.is-finished{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
}

.tt-page-loader-inner{
    width:min(92vw,760px)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
}

.tt-page-loader-image-wrap{
    width:min(68vw,620px)!important;
    aspect-ratio:1/1!important;
    overflow:hidden!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 22px 70px rgba(0,0,0,.48)!important;
}

.tt-page-loader-image{
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
}

.tt-page-loader-percent{
    margin-top:16px!important;
    color:#f8fafc!important;
    font-size:46px!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:-1px!important;
    text-shadow:0 5px 20px rgba(0,0,0,.38)!important;
}

.tt-page-loader-bar{
    width:min(52vw,520px)!important;
    height:10px!important;
    margin-top:14px!important;
    overflow:hidden!important;
    border-radius:999px!important;
    background:#111c31!important;
    border:1px solid rgba(148,163,184,.32)!important;
}

.tt-page-loader-bar span{
    display:block!important;
    width:0;
    height:100%!important;
    border-radius:inherit!important;
    background:linear-gradient(90deg,#22c1f1,#20c7b7,#8b5cf6)!important;
    box-shadow:0 0 16px rgba(34,193,241,.35)!important;
    transition:width .18s ease!important;
}

.tt-page-loader-status{
    margin-top:15px!important;
    color:#e2e8f0!important;
    font-size:16px!important;
    font-weight:850!important;
    text-align:center!important;
}

@media(max-width:768px){
    .tt-page-loader{
        padding:16px!important;
    }

    .tt-page-loader-inner{
        width:100%!important;
    }

    .tt-page-loader-image-wrap{
        width:min(82vw,430px)!important;
        border-radius:18px!important;
    }

    .tt-page-loader-percent{
        margin-top:14px!important;
        font-size:38px!important;
    }

    .tt-page-loader-bar{
        width:min(72vw,390px)!important;
        height:9px!important;
        margin-top:12px!important;
    }

    .tt-page-loader-status{
        margin-top:13px!important;
        font-size:14px!important;
    }
}
/* Thu nhỏ khoảng cách profile -> HÔM NAY CÓ */
.profile-tactical{
    margin-bottom:6px !important;
}

.profile-tactical + .tt-home-live-panel{
    margin-top:0 !important;
}
/* Overlay phải là con trực tiếp của body, phủ cả header */
body > #ttPageLoader{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;

    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;

    margin:0!important;
    transform:none!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:2147483647!important;

    background:#050b16!important;
}

body > #ttPageLoader .tt-page-loader-inner{
    position:relative!important;
    inset:auto!important;
    transform:none!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;

    width:100%!important;
    opacity:1!important;
    visibility:visible!important;
}

body > #ttPageLoader .tt-page-loader-image-wrap,
body > #ttPageLoader .tt-page-loader-image,
body > #ttPageLoader .tt-page-loader-percent,
body > #ttPageLoader .tt-page-loader-bar,
body > #ttPageLoader .tt-page-loader-status{
    opacity:1!important;
    visibility:visible!important;
}

/* =====================================================
   THÔNG BÁO CHẠY PHẢI → TRÁI + TO NHỎ + PHÁT SÁNG
   DÙNG 1 ANIMATION DUY NHẤT ĐỂ KHÔNG XUNG ĐỘT
===================================================== */

.tt-admin-announcement-window{
    position:relative!important;
    flex:1 1 auto!important;
    min-width:0!important;
    height:42px!important;
    overflow:hidden!important;
}

.tt-admin-announcement-runner{
    position:absolute!important;
    top:50%!important;
    left:100%!important;

    width:max-content!important;
    max-width:none!important;
    margin:0!important;

    color:#ffd84a!important;
    font-size:14px!important;
    font-weight:950!important;
    line-height:1!important;
    white-space:nowrap!important;

    opacity:1!important;
    visibility:visible!important;

    text-shadow:
        0 0 5px rgba(255,216,74,.9),
        0 0 12px rgba(245,158,11,.75),
        0 0 24px rgba(245,158,11,.5)!important;

    will-change:transform,filter,opacity!important;

    animation:ttAnnouncementMaster 13s linear infinite!important;
}

@keyframes ttAnnouncementMaster{

    0%{
        transform:
            translateY(-50%)
            translateX(0)
            scale(1);
        filter:brightness(1);
        opacity:.9;
    }

    10%{
        transform:
            translateY(-50%)
            translateX(-12vw)
            scale(1.05);
        filter:brightness(1.25);
        opacity:1;
    }

    20%{
        transform:
            translateY(-50%)
            translateX(-24vw)
            scale(1.13);
        filter:brightness(1.55);
        opacity:1;
    }

    30%{
        transform:
            translateY(-50%)
            translateX(-36vw)
            scale(1);
        filter:brightness(1);
        opacity:.95;
    }

    40%{
        transform:
            translateY(-50%)
            translateX(-48vw)
            scale(1.10);
        filter:brightness(1.45);
        opacity:1;
    }

    50%{
        transform:
            translateY(-50%)
            translateX(-60vw)
            scale(1);
        filter:brightness(1);
        opacity:.95;
    }

    60%{
        transform:
            translateY(-50%)
            translateX(-72vw)
            scale(1.13);
        filter:brightness(1.55);
        opacity:1;
    }

    70%{
        transform:
            translateY(-50%)
            translateX(-84vw)
            scale(1);
        filter:brightness(1);
        opacity:.95;
    }

    80%{
        transform:
            translateY(-50%)
            translateX(-96vw)
            scale(1.08);
        filter:brightness(1.35);
        opacity:1;
    }

    90%{
        transform:
            translateY(-50%)
            translateX(calc(-108vw - 50%))
            scale(1);
        filter:brightness(1);
        opacity:.9;
    }

    100%{
        transform:
            translateY(-50%)
            translateX(calc(-120vw - 100%))
            scale(1);
        filter:brightness(1);
        opacity:.8;
    }
}

.tt-admin-announcement:hover .tt-admin-announcement-runner{
    animation-play-state:running!important;
}

@media(max-width:768px){
    .tt-admin-announcement-window{
        height:40px!important;
    }

    .tt-admin-announcement-runner{
        font-size:11px!important;
        animation-duration:10s!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .tt-admin-announcement-runner{
        animation:ttAnnouncementMaster 13s linear infinite!important;
    }
}
/* ÉP HIỆN CHỮ THÔNG BÁO */
#ttAdminAnnouncementText,
#ttAdminAnnouncementText.tt-admin-announcement-runner {
    color: #fff200 !important;
    -webkit-text-fill-color: #fff200 !important;

    opacity: 1 !important;
    visibility: visible !important;

    background: transparent !important;
    background-image: none !important;

    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;

    filter: none !important;
    mix-blend-mode: normal !important;

    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 18px !important;

    text-shadow:
        0 0 4px #fff200,
        0 0 10px rgba(255, 196, 0, .8) !important;
}

/* =========================================================
   BỘ LỌC GIÁ THỐNG NHẤT - PC / IPAD / ĐIỆN THOẠI
   ========================================================= */
.tt-price-filter-toggle {
    width: 100%;
    min-height: 62px;
    margin: 14px 0 0;
    padding: 14px 22px;
    border: 0;
    border-radius: 16px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    color: #fff;
    background: linear-gradient(135deg, #ff3158 0%, #f00635 100%);
    box-shadow: 0 9px 24px rgba(240, 6, 53, .22);
    font-size: 18px;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: .35px;
    text-align: center;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition: transform .18s ease, box-shadow .25s ease, background .25s ease;
}

.tt-price-filter-toggle:hover {
    background: linear-gradient(135deg, #ff4266 0%, #e9002f 100%);
    box-shadow: 0 11px 28px rgba(240, 6, 53, .28);
}

.tt-price-filter-toggle:active {
    transform: translateY(1px);
}

.tt-price-filter-toggle:focus-visible {
    outline: 3px solid rgba(240, 6, 53, .25);
    outline-offset: 3px;
}

.tt-price-filter-toggle .tt-price-caret {
    flex: 0 0 auto;
    font-size: 20px;
    transition: transform .28s ease;
}

.tt-price-filter-toggle.is-open .tt-price-caret {
    transform: rotate(180deg);
}

.tt-price-filter-panel {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    visibility: hidden;
    transition: grid-template-rows .32s ease, opacity .2s ease, visibility 0s linear .32s;
}

.tt-price-filter-panel.is-open {
    grid-template-rows: 1fr;
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

.tt-price-filter-panel-inner {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.tt-price-filter-panel .grid-price {
    width: 100%;
    min-width: 0;
    margin: 12px 0 18px !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
}

.tt-price-filter-panel .btn-price-flat,
#ttPriceList .btn-price-flat {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Không còn nút tùy chọn nhỏ: input luôn nằm trong bảng lọc. */
.tt-custom-price-open,
.tt-custom-price-float {
    display: none !important;
}

.tt-price-filter-panel #ttCustomPriceBox_main,
#ttPriceList #ttCustomPriceBox_float {
    display: block !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    margin: 2px 0 0 !important;
    padding: 14px !important;
    border-radius: 14px !important;
    box-sizing: border-box;
    overflow: hidden;
}

.tt-price-filter-panel #ttCustomPriceBox_main .tt-custom-price-row,
#ttPriceList #ttCustomPriceBox_float .tt-custom-price-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.tt-price-filter-panel #ttCustomPriceBox_main .tt-custom-price-row > div,
#ttPriceList #ttCustomPriceBox_float .tt-custom-price-row > div {
    min-width: 0;
}

.tt-price-filter-panel #ttCustomPriceBox_main input,
#ttPriceList #ttCustomPriceBox_float input {
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    height: 46px;
    padding: 10px 12px !important;
    box-sizing: border-box;
    font-size: 16px !important;
    line-height: 1.3;
}

.tt-price-filter-panel #ttCustomPriceBox_main .tt-custom-price-actions,
#ttPriceList #ttCustomPriceBox_float .tt-custom-price-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
}

.tt-price-filter-panel #ttCustomPriceBox_main .tt-custom-price-actions button,
#ttPriceList #ttCustomPriceBox_float .tt-custom-price-actions button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    box-sizing: border-box;
    touch-action: manipulation;
}

/* Bộ lọc nổi dùng cùng số cột với bộ lọc chính. */
#ttPriceList.tt-mini-list-2col {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

@media (min-width: 700px) and (max-width: 1180px) {
    .tt-price-filter-panel .grid-price,
    #ttPriceList.tt-mini-list-2col {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 699px) {
    .tt-price-filter-toggle {
        min-height: 56px;
        margin-top: 10px;
        padding: 12px 14px;
        border-radius: 13px;
        gap: 9px;
        font-size: 16px;
    }

    .tt-price-filter-panel,
    .tt-price-filter-panel-inner,
    .tt-price-filter-panel .grid-price {
        max-width: 100%;
        box-sizing: border-box;
    }

    .tt-price-filter-panel .grid-price,
    #ttPriceList.tt-mini-list-2col {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .tt-price-filter-panel .btn-price-flat,
    #ttPriceList .btn-price-flat {
        min-height: 42px;
        padding-left: 6px !important;
        padding-right: 6px !important;
        font-size: 12px !important;
    }

    .tt-price-filter-panel #ttCustomPriceBox_main,
    #ttPriceList #ttCustomPriceBox_float {
        padding: 12px !important;
    }
}

@media (max-width: 380px) {
    .tt-price-filter-panel #ttCustomPriceBox_main .tt-custom-price-row,
    #ttPriceList #ttCustomPriceBox_float .tt-custom-price-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 9px !important;
    }
}

@media (max-width: 340px) {
    .tt-price-filter-panel .grid-price,
    #ttPriceList.tt-mini-list-2col {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tt-price-filter-toggle,
    .tt-price-filter-toggle .tt-price-caret,
    .tt-price-filter-panel {
        transition-duration: .01ms !important;
    }
}

/* =========================================================
   BỘ LỌC GIÁ TRONG HÀNG DANH MỤC - CÂN CHỈNH MOBILE
   ========================================================= */
.grid-category .tt-customer-price-main {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    white-space: nowrap;
}

.grid-category .tt-customer-price-main span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tt-price-filter-panel:not(.is-open) {
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
}

.tt-price-filter-panel.is-open {
    pointer-events: auto;
}

.tt-price-filter-panel #ttCustomPriceBox_main .tt-money-input,
#ttPriceList #ttCustomPriceBox_float .tt-money-input {
    position: relative;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

.tt-price-filter-panel #ttCustomPriceBox_main .tt-money-input input,
#ttPriceList #ttCustomPriceBox_float .tt-money-input input {
    padding: 10px 68px 10px 14px !important;
    text-align: left !important;
    font-size: 16px !important;
    text-overflow: ellipsis;
}

.tt-price-filter-panel #ttCustomPriceBox_main .tt-money-input input::placeholder,
#ttPriceList #ttCustomPriceBox_float .tt-money-input input::placeholder {
    color: #94a3b8;
    font-size: 14px;
    font-weight: 700;
    opacity: .9;
}

.tt-price-filter-panel #ttCustomPriceBox_main .tt-money-unit,
#ttPriceList #ttCustomPriceBox_float .tt-money-unit {
    position: absolute;
    right: 15px;
    bottom: 14px;
    width: auto;
    margin: 0;
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 900;
    line-height: 18px;
    pointer-events: none;
    user-select: none;
}

@media (max-width: 699px) {
    .tt-price-filter-panel #ttCustomPriceBox_main .tt-custom-price-row,
    #ttPriceList #ttCustomPriceBox_float .tt-custom-price-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 11px !important;
    }

    .tt-price-filter-panel #ttCustomPriceBox_main .tt-money-input input,
    #ttPriceList #ttCustomPriceBox_float .tt-money-input input {
        height: 48px !important;
        padding-left: 13px !important;
        padding-right: 64px !important;
        font-size: 16px !important;
    }

    .tt-price-filter-panel #ttCustomPriceBox_main .tt-money-input input::placeholder,
    #ttPriceList #ttCustomPriceBox_float .tt-money-input input::placeholder {
        font-size: 13px;
    }

    .tt-price-filter-panel #ttCustomPriceBox_main .tt-money-unit,
    #ttPriceList #ttCustomPriceBox_float .tt-money-unit {
        right: 13px;
        bottom: 15px;
    }

    .tt-price-filter-panel #ttCustomPriceBox_main .tt-custom-price-actions,
    #ttPriceList #ttCustomPriceBox_float .tt-custom-price-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
    }

    .tt-price-filter-panel #ttCustomPriceBox_main .tt-custom-price-actions button,
    #ttPriceList #ttCustomPriceBox_float .tt-custom-price-actions button {
        min-height: 45px;
        padding: 8px 7px;
        font-size: 14px;
        line-height: 1.2;
        white-space: nowrap;
    }
}

/* =========================================================
   STICKY 2 NÚT THỐNG NHẤT - MOBILE / IPAD / PC
   ========================================================= */
#ttFloatFilter .tt-filter-split {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

#ttFloatFilter .tt-filter-half {
    width: 100%;
    min-width: 0;
    height: 54px;
    min-height: 54px;
    padding: 10px 15px !important;
    border-radius: 18px !important;
    box-sizing: border-box;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    overflow: hidden;
    white-space: nowrap;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-align: center;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .30) !important;
}

#ttFloatFilter .tt-sticky-desktop-label {
    display: none !important;
}

#ttFloatFilter .tt-sticky-mobile-label {
    min-width: 0;
    max-width: 100%;
    display: flex !important;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    gap: 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: inherit !important;
    font-weight: 900;
    text-align: center;
}

#ttFloatFilter .tt-sticky-mobile-label b {
    min-width: 0;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: inherit !important;
    font-weight: 900;
}

#ttFloatFilter .tt-sticky-mobile-label i {
    flex: 0 0 auto;
    margin: 0;
    color: inherit !important;
    font-size: 17px;
}

#ttFloatFilter #ttCatBtn > em {
    display: none !important;
}

#ttFloatFilter #ttPriceBtn > em {
    flex: 0 0 auto;
    margin: 0;
    color: inherit !important;
    font-size: 11px;
    font-style: normal;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-home {
    background: linear-gradient(145deg, #0b1220, #172033) !important;
    border: 1.5px solid rgba(148, 163, 184, .32) !important;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-sell {
    background: linear-gradient(135deg, #0e7490, #06b6d4) !important;
    border: 1.5px solid #67e8f9 !important;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-rental {
    background: linear-gradient(135deg, #5b21b6, #7c3aed) !important;
    border: 1.5px solid #c4b5fd !important;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-new {
    background: linear-gradient(135deg, #7f1d1d, #dc2626) !important;
    border: 1.5px solid #fca5a5 !important;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-sold {
    background: linear-gradient(135deg, #92400e, #f59e0b) !important;
    border: 1.5px solid #fde68a !important;
}

#ttFloatFilter #ttStepCat .tt-filter-choice.tt-cat-home {
    background: linear-gradient(145deg, #0b1220, #172033) !important;
    color: #f8fafc !important;
    border-color: rgba(148, 163, 184, .45) !important;
}

/* Cùng chiều rộng container Bootstrap của menu chính. */
@media (min-width: 601px) {
    #ttFloatFilter.tt-float-filter {
        top: 18px;
        left: 50%;
        right: auto;
        min-width: 0;
        max-width: none;
        padding: 0;
        background: transparent;
        backdrop-filter: none;
        transform: translateX(-50%) translateY(-130%);
    }

    #ttFloatFilter.tt-float-filter.show {
        transform: translateX(-50%) translateY(0);
    }
}

@media (min-width: 601px) and (max-width: 767px) {
    #ttFloatFilter.tt-float-filter { width: calc(100vw - 24px); }
}

@media (min-width: 768px) and (max-width: 991px) {
    #ttFloatFilter.tt-float-filter { width: 720px; }
}

@media (min-width: 992px) and (max-width: 1199px) {
    #ttFloatFilter.tt-float-filter { width: 960px; }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    #ttFloatFilter.tt-float-filter { width: 1140px; }
}

@media (min-width: 1400px) {
    #ttFloatFilter.tt-float-filter { width: 1320px; }
}

@media (max-width: 600px) {
    #ttFloatFilter .tt-filter-split {
        gap: 8px !important;
    }

    #ttFloatFilter .tt-filter-half {
        height: 50px;
        min-height: 50px;
        padding: 8px 8px !important;
        border-radius: 14px !important;
        gap: 5px !important;
        font-size: 10.5px !important;
        letter-spacing: -.1px;
    }

    #ttFloatFilter .tt-sticky-mobile-label {
        gap: 4px;
    }

    #ttFloatFilter .tt-sticky-mobile-label i {
        font-size: 15px;
    }

    #ttFloatFilter #ttPriceBtn > em {
        font-size: 9px;
    }
}

/* =========================================================
   HOÀN THIỆN STICKY: CONTAINER TRONG SUỐT, CHỈ CÒN 2 NÚT
   ========================================================= */
#ttFloatFilter.tt-float-filter {
    top: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: visible !important;
    opacity: 0 !important;
    transform: translateX(-50%) translateY(-8px) !important;
    transition:
        opacity 200ms ease,
        transform 200ms ease,
        visibility 0s linear 200ms !important;
}

#ttFloatFilter.tt-float-filter.show {
    opacity: 1 !important;
    transform: translateX(-50%) translateY(0) !important;
    transition-delay: 0s !important;
}

#ttFloatFilter .tt-filter-split {
    gap: 14px !important;
    padding: 0 !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Desktop/tablet: 9 mức giá chính luôn chia gọn thành đúng 2 hàng (5 + 4). */
@media (min-width: 700px) {
    html[data-layout="horizontal"] body:not(.tt-detail-page) #ttPriceFilterPanel_main .grid-price {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
        align-items: stretch !important;
    }
}


#ttFloatFilter .tt-filter-half {
    height: 54px;
    min-height: 54px;
    border: 1.5px solid rgba(255, 255, 255, .32) !important;
    border-radius: 18px !important;
    box-shadow: 0 9px 22px rgba(0, 0, 0, .34) !important;
    filter: saturate(1.04) brightness(1.03);
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-home {
    background: linear-gradient(135deg, #172033, #26344c) !important;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-sell {
    background: linear-gradient(135deg, #0e7490, #06b6d4) !important;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-rental {
    background: linear-gradient(135deg, #5b21b6, #7c3aed) !important;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-new {
    background: linear-gradient(135deg, #d97706, #f59e0b 55%, #f97316) !important;
    color: #fff !important;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-sold {
    background: linear-gradient(135deg, #92400e, #f59e0b) !important;
}

@media (max-width: 600px) {
    #ttFloatFilter .tt-filter-split {
        gap: 12px !important;
    }

    #ttFloatFilter .tt-filter-half {
        height: 50px;
        min-height: 50px;
        border-radius: 14px !important;
    }
}

/* =========================================================
   STICKY = MENU CHÍNH THU GỌN (FINAL)
   ========================================================= */
#ttFloatFilter.tt-float-filter {
    width: min(760px, calc(100vw - 24px)) !important;
}

#ttFloatFilter .tt-filter-split {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

#ttFloatFilter .tt-filter-half {
    position: relative;
    height: 54px;
    min-height: 54px;
    padding: 0 12px !important;
    border-radius: 18px !important;
    overflow: hidden;
    font-family: "Manrope", "Segoe UI", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: none;
    border: 1.5px solid rgba(255, 255, 255, .28) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .26) !important;
    filter: none;
    transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease !important;
}

#ttFloatFilter .tt-filter-half:hover {
    transform: translateY(-1px);
    filter: brightness(1.06);
}

#ttFloatFilter .tt-sticky-mobile-label {
    width: 100%;
    flex: 1 1 100%;
    gap: 6px;
    justify-content: center !important;
    font: inherit;
    letter-spacing: inherit;
}

#ttFloatFilter .tt-sticky-mobile-label b {
    flex: 0 1 auto;
    font: inherit;
    letter-spacing: inherit;
}

#ttFloatFilter .tt-sticky-mobile-label i {
    font-size: 18px;
}

/* Danh mục hiện tại luôn mang trạng thái active giống menu chính. */
#ttFloatFilter #ttCatBtn {
    border-width: 2px !important;
}

#ttFloatFilter #ttCatBtn::after {
    content: "✓";
    position: absolute;
    top: 7px;
    right: 9px;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, .72);
    color: #fff;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    box-shadow: 0 3px 9px rgba(0, 0, 0, .25);
    pointer-events: none;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-home {
    background: linear-gradient(180deg, #1b263a, #111827) !important;
    color: #f8fafc !important;
    border-color: rgba(226, 232, 240, .72) !important;
    box-shadow: 0 0 0 4px rgba(148, 163, 184, .12), 0 8px 20px rgba(0, 0, 0, .28) !important;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-sell {
    background: linear-gradient(135deg, #0f9f4f, #067a39) !important;
    color: #ffd44a !important;
    border-color: #ffd44a !important;
    box-shadow: 0 0 0 4px rgba(255, 212, 74, .14), 0 0 24px rgba(16, 185, 129, .18) !important;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-rental {
    background: linear-gradient(135deg, #7c3aed, #2563eb) !important;
    color: #fff !important;
    border-color: #a78bfa !important;
    box-shadow: 0 0 0 4px rgba(167, 139, 250, .16), 0 0 24px rgba(124, 58, 237, .24) !important;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-new {
    background: linear-gradient(135deg, #ef4444, #f97316) !important;
    color: #fff !important;
    border-color: #fdba74 !important;
    box-shadow: 0 0 0 4px rgba(249, 115, 22, .16), 0 0 24px rgba(239, 68, 68, .24) !important;
}

#ttFloatFilter #ttCatBtn.tt-sticky-current-sold {
    background: linear-gradient(135deg, #f59e0b, #fde047) !important;
    color: #111827 !important;
    border-color: #fef08a !important;
    box-shadow: 0 0 0 4px rgba(250, 204, 21, .16), 0 0 24px rgba(245, 158, 11, .22) !important;
}

@media (max-width: 600px) {
    #ttFloatFilter.tt-float-filter {
        width: calc(100vw - 12px) !important;
    }

    #ttFloatFilter .tt-filter-split {
        gap: 10px !important;
    }

    #ttFloatFilter .tt-filter-half {
        height: 48px;
        min-height: 48px;
        padding-left: 7px !important;
        padding-right: 7px !important;
        border-radius: 14px !important;
        font-size: 10.5px !important;
    }

    #ttFloatFilter #ttCatBtn::after {
        top: 5px;
        right: 6px;
        width: 18px;
        height: 18px;
        font-size: 10px;
    }

    #ttFloatFilter .tt-sticky-mobile-label {
        gap: 4px;
    }

    #ttFloatFilter .tt-sticky-mobile-label i {
        font-size: 15px;
    }
}

/* Chữ sticky: rõ dấu tiếng Việt và tách từ tự nhiên. */
#ttFloatFilter .tt-filter-half,
#ttFloatFilter .tt-sticky-mobile-label,
#ttFloatFilter .tt-sticky-mobile-label b {
    font-family: "Segoe UI", Arial, sans-serif !important;
    font-weight: 700 !important;
    font-style: normal !important;
    font-kerning: normal;
    font-feature-settings: "kern" 1;
    letter-spacing: .1px !important;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

#ttFloatFilter .tt-sticky-mobile-label b {
    word-spacing: 2.5px !important;
    white-space: nowrap !important;
}

@media (max-width: 600px) {
    #ttFloatFilter .tt-filter-half {
        font-size: 12px !important;
    }

    #ttFloatFilter .tt-sticky-mobile-label b {
        word-spacing: 2px !important;
    }
}

@media (max-width: 380px) {
    #ttFloatFilter .tt-filter-half {
        font-size: 11.5px !important;
    }
}

/* Chỉ bố trí sticky; diện mạo hai nút lấy trực tiếp từ menu chính. */
#ttFloatFilter .tt-filter-split.grid-category {
    margin-bottom: 0;
}

#ttFloatFilter .tt-filter-split.grid-category > .mode-tab,
#ttFloatFilter .tt-filter-split.grid-category > .btn-solid {
    width: 100%;
    min-width: 0;
}

#ttFloatFilter #ttCatText,
#ttFloatFilter #ttPriceText {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Nền đỡ sticky đồng bộ với tone navy của giao diện. */
#ttFloatFilter.tt-float-filter {
    box-sizing: border-box;
    padding: 8px 10px !important;
    background: linear-gradient(180deg, #071426 0%, #0b1b31 100%) !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 0 10px 10px !important;
    box-shadow: 0 8px 16px rgba(2, 8, 23, .22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
