/* Dải cuộn ngang: không hiện thanh cuộn (xem assets/js/h-scroll.js). Các dải đã biết ẩn ngay từ đầu để khỏi nháy thanh cuộn trước khi JS chạy. */
.ptabs .in,.pills,.tabs,.fbar,.seg2,.chips,.chips2,.cats,.vlist,.vmini-row,.lp-grid,.lp-plans,.lp-links,.fsv,.tbar .r,.ptabs2,nav.menu,.hs{scrollbar-width:none;-ms-overflow-style:none}
.ptabs .in::-webkit-scrollbar,.pills::-webkit-scrollbar,.tabs::-webkit-scrollbar,.fbar::-webkit-scrollbar,.seg2::-webkit-scrollbar,.chips::-webkit-scrollbar,.chips2::-webkit-scrollbar,.cats::-webkit-scrollbar,.vlist::-webkit-scrollbar,.vmini-row::-webkit-scrollbar,.lp-grid::-webkit-scrollbar,.lp-plans::-webkit-scrollbar,.lp-links::-webkit-scrollbar,.fsv::-webkit-scrollbar,.tbar .r::-webkit-scrollbar,.ptabs2::-webkit-scrollbar,nav.menu::-webkit-scrollbar,.hs::-webkit-scrollbar{display:none;width:0;height:0}
/* tab hồ sơ: chỉ cuộn ngang (tránh hiện thêm mũi tên cuộn dọc vì gạch chân tràn 1px) */
.ptabs .in{overflow-x:auto;overflow-y:hidden}
.ptabs a.on::after{bottom:0}
/* kéo chuột trên máy tính */
.hs{cursor:grab}
.hs.hs-drag{cursor:grabbing;user-select:none;scroll-snap-type:none!important}
.hs.hs-drag a{pointer-events:none}
/* mép mờ báo "còn nữa": chỉ mờ phía còn nội dung để trượt */
.hs.hs-r:not(.hs-l){-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.hs.hs-l:not(.hs-r){-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(270deg,#000 calc(100% - 28px),transparent)}
.hs.hs-l.hs-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.hs:not(.hs-l):not(.hs-r){-webkit-mask-image:none;mask-image:none}

/* danh sách đang tải bằng AJAX: mờ nhẹ, không giật bố cục */
[data-ajax-zone].is-loading{opacity:.55;transition:opacity .12s;pointer-events:none}
.ajax-busy{cursor:progress}
