/* ApoloCloud v2.2.5 - Categorias visibles y footer mobile con categoria activa */

/* Desktop/tablet: categorias como lista completa, ordenada y bien visible */
.shop-sidebar .tabs-scroll{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    counter-reset: apoloCat;
    overflow:visible!important;
    max-height:none!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(8,12,18,.64);
}
.shop-sidebar .tabs-scroll a{
    counter-increment: apoloCat;
    width:100%!important;
    min-height:48px;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px;
    border-radius:0!important;
    margin:0!important;
    padding:13px 14px!important;
    line-height:1.15!important;
    white-space:normal!important;
    text-align:left!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
    color:#dbeafe!important;
    background:transparent!important;
    font-size:.95rem!important;
    font-weight:700!important;
    transition:background .18s ease,color .18s ease,box-shadow .18s ease,padding-left .18s ease;
}
.shop-sidebar .tabs-scroll a:last-child{border-bottom:0!important;}
.shop-sidebar .tabs-scroll a::before{
    content:counter(apoloCat, decimal-leading-zero);
    flex:0 0 auto;
    min-width:30px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.08);
    color:#93c5fd;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.02em;
}
.shop-sidebar .tabs-scroll a:hover,
.shop-sidebar .tabs-scroll a.active{
    background:linear-gradient(90deg,rgba(37,99,235,.38),rgba(14,165,233,.12))!important;
    color:#fff!important;
    box-shadow:inset 4px 0 0 #60a5fa, 0 10px 24px rgba(0,0,0,.18);
    padding-left:18px!important;
}
.shop-sidebar .tabs-scroll a.active::before{
    background:#fff;
    color:#1d4ed8;
}
.sidebar-title{
    margin-bottom:10px!important;
    color:#fff!important;
    letter-spacing:.04em;
    text-transform:uppercase;
    font-size:.78rem!important;
}

@media (min-width: 992px){
    .shop-sidebar{
        position:sticky!important;
        top:18px!important;
        align-self:flex-start!important;
    }
    .shop-sidebar .tabs-scroll{
        max-height:calc(100vh - 220px)!important;
        overflow:auto!important;
        scrollbar-width:thin;
    }
}

/* Mobile: se mantiene pantalla completa, una categoria por renglon, y footer con categoria activa */
@media (max-width: 991.98px){
    .section-head h2#currentCategoryTitle{
        font-size:1.25rem!important;
        margin-bottom:0!important;
        max-width:100%;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .shop-sidebar.mobile-open.mobile-category-open{
        position:fixed!important;
        inset:0!important;
        width:100vw!important;
        height:100dvh!important;
        max-height:100dvh!important;
        transform:none!important;
        border-radius:0!important;
        padding:18px 16px 96px!important;
        z-index:10050!important;
        background:rgba(7,10,16,.98)!important;
        overflow-y:auto!important;
    }
    .shop-sidebar.mobile-open.mobile-category-open .search-box,
    .shop-sidebar.mobile-open.mobile-category-open .mobile-category-toggle,
    .shop-sidebar.mobile-open.mobile-category-open .sidebar-title{
        display:none!important;
    }
    .shop-sidebar.mobile-open.mobile-category-open .tabs-scroll{
        display:flex!important;
        flex-direction:column!important;
        width:100%!important;
        gap:0!important;
        max-height:none!important;
        overflow:visible!important;
        border:1px solid rgba(255,255,255,.08)!important;
        margin-top:12px!important;
    }
    .shop-sidebar.mobile-open.mobile-category-open .tabs-scroll a{
        width:100%!important;
        min-height:58px!important;
        border-radius:0!important;
        border:0!important;
        border-bottom:1px solid rgba(255,255,255,.08)!important;
        padding:16px 14px!important;
        font-size:1rem!important;
        display:flex!important;
        text-align:left!important;
        white-space:normal!important;
    }
    .mobile-shop-actions{
        height:68px!important;
        padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;
        background:rgba(6,10,18,.94)!important;
        border-top:1px solid rgba(255,255,255,.08)!important;
        backdrop-filter:blur(16px);
    }
    .mobile-shop-actions button{
        min-width:0!important;
        border-radius:16px!important;
        padding:8px 6px!important;
        overflow:hidden;
    }
    .mobile-shop-actions button strong{
        display:block!important;
        max-width:100%;
        overflow:hidden;
        white-space:nowrap;
        text-overflow:ellipsis;
        font-size:.72rem!important;
        line-height:1.05!important;
    }
    #bottomCategoryBtn{
        flex:1.35!important;
    }
    #bottomCategoryBtn strong{
        color:#fff!important;
        font-size:.76rem!important;
    }
    #bottomCategoryBtn.active{
        background:rgba(37,99,235,.34)!important;
        box-shadow:0 0 0 1px rgba(96,165,250,.22), 0 10px 28px rgba(37,99,235,.22)!important;
    }
}
