/* GX022 V33 — Category/model strip carousel
   Admin ui_category_page_items_limit = số item nhìn thấy cùng lúc trên desktop.
   Toàn bộ item vẫn giữ trong track; khi total > visible thì dùng arrow/touch scroll. */
.ctcat-category-carousel{
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    margin:12px 0 0!important;
}
.ctcat-category-carousel .ctcat-category-strip.ctcat-category-strip--carousel{
    display:grid!important;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:var(--ctcat-carousel-item-basis, 120px)!important;
    align-items:stretch!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:8px 2px 5px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-behavior:smooth!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
}
.ctcat-category-carousel .ctcat-category-strip.ctcat-category-strip--carousel::-webkit-scrollbar{display:none!important}
.ctcat-category-carousel .ctcat-category-strip.ctcat-category-strip--carousel .ctcat-cat{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    box-sizing:border-box!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    scroll-snap-align:start!important;
    padding:10px 8px!important;
}
.ctcat-category-carousel .ctcat-category-strip.ctcat-category-strip--carousel .ctcat-cat__icon,
.ctcat-category-carousel .ctcat-category-strip.ctcat-category-strip--carousel .ctcat-cat:hover .ctcat-cat__icon,
.ctcat-category-carousel .ctcat-category-strip.ctcat-category-strip--carousel .ctcat-cat.active .ctcat-cat__icon{
    width:calc(var(--ctcat-page-icon-size,52px) + 8px)!important;
    height:calc(var(--ctcat-page-icon-size,52px) + 8px)!important;
    min-width:calc(var(--ctcat-page-icon-size,52px) + 8px)!important;
    min-height:calc(var(--ctcat-page-icon-size,52px) + 8px)!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:0!important;
    overflow:visible!important;
}
.ctcat-category-carousel .ctcat-category-strip.ctcat-category-strip--carousel .ctcat-cat__icon img{
    width:var(--ctcat-page-icon-size,52px)!important;
    height:var(--ctcat-page-icon-size,52px)!important;
    min-width:var(--ctcat-page-icon-size,52px)!important;
    min-height:var(--ctcat-page-icon-size,52px)!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
}
.ctcat-category-carousel .ctcat-category-strip.ctcat-category-strip--carousel .ctcat-cat strong{
    font-size:13px!important;
    line-height:1.28!important;
    text-align:center!important;
}
.ctcat-category-nav{
    position:absolute!important;
    top:50%!important;
    z-index:8!important;
    width:38px!important;
    height:38px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(15,23,42,.12)!important;
    border-radius:999px!important;
    background:var(--alo-ui-category-nav-bg,#fff)!important;
    color:var(--alo-ui-category-nav-color,#333)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:0 6px 18px rgba(15,23,42,.16)!important;
    transform:translateY(-50%)!important;
    cursor:pointer!important;
    transition:opacity .16s ease,transform .16s ease,box-shadow .16s ease!important;
}
.ctcat-category-nav--prev{left:-13px!important}
.ctcat-category-nav--next{right:-13px!important}
.ctcat-category-nav:hover:not(:disabled){box-shadow:0 8px 22px rgba(15,23,42,.22)!important}
.ctcat-category-nav:disabled{opacity:.28!important;cursor:default!important;box-shadow:none!important}
.ctcat-category-carousel:not(.has-overflow) .ctcat-category-nav{display:none!important}

@media(max-width:991.98px){
    .ctcat-category-carousel{margin-top:10px!important}
    .ctcat-category-carousel .ctcat-category-strip.ctcat-category-strip--carousel{
        grid-auto-columns:calc(25% - 9px)!important;
        gap:12px!important;
        padding:7px 0 5px!important;
    }
    .ctcat-category-carousel .ctcat-category-strip.ctcat-category-strip--carousel .ctcat-cat__icon,
    .ctcat-category-carousel .ctcat-category-strip.ctcat-category-strip--carousel .ctcat-cat:hover .ctcat-cat__icon,
    .ctcat-category-carousel .ctcat-category-strip.ctcat-category-strip--carousel .ctcat-cat.active .ctcat-cat__icon{
        width:calc(var(--ctcat-page-icon-size-mobile,44px) + 6px)!important;
        height:calc(var(--ctcat-page-icon-size-mobile,44px) + 6px)!important;
        min-width:calc(var(--ctcat-page-icon-size-mobile,44px) + 6px)!important;
        min-height:calc(var(--ctcat-page-icon-size-mobile,44px) + 6px)!important;
    }
    .ctcat-category-carousel .ctcat-category-strip.ctcat-category-strip--carousel .ctcat-cat__icon img{
        width:var(--ctcat-page-icon-size-mobile,44px)!important;
        height:var(--ctcat-page-icon-size-mobile,44px)!important;
        min-width:var(--ctcat-page-icon-size-mobile,44px)!important;
        min-height:var(--ctcat-page-icon-size-mobile,44px)!important;
    }
    .ctcat-category-nav{display:none!important}
}
