.loading{
    top: 0;
    display: flex;
    justify-content: center;
    justify-items: center;
    position: absolute;
    text-align: center;
    width: 100%;
    height: 80dvh;
    max-height: 100%;
    z-index: 2;
    background-color: white;
}

.loadingIcon{
    display: inline-flex;
    align-items: center;
    justify-items: center;
}

.loadingIcon img{
    position: absolute;
    height: 50px;
    filter: drop-shadow(0px 0px 1px black );
}

@keyframes growHeight{
    from{
        height: 0;
    }
    to{
        height: 100px;
    }
}

.loadingRing{
    position: relative;
    background-color: transparent;
    width: 100px;
    height:100px;
    border-radius: 50%;
    border-top: 6px solid;
    border-bottom: 6px solid;
    border-right: 4px solid #cccccc;
    border-left: 4px solid #cccccc;
    animation: 2s rotateLogo infinite linear;
}
@keyframes rotateLogo {
    100%{
        transform: rotateZ(360deg);
    }
}
.category-list .open > .cat-dropdown-menu{
    height: auto;
    /* animation: growHeight 300ms ease-in-out forwards; */
}

.cat-dropdown-menu{
    float:none;
    position:static; 
    width:100%;
    border: none;
    box-shadow: none;
    overflow: hidden;
    display:block;
    height: 0;
    transition: all 300ms ease-in-out;
    /* animation: growHeight 300ms ease-in-out forwards reverse; */
}


.cat-title:hover{
    cursor: pointer;
}
.category-heading {
    font-weight: 600;
    margin-bottom: 8px;
    border-bottom: 2px solid #40C3FF;
    padding-bottom: 5px;
    font-size: 18px;
    color: #fff;
    font-family: "LibreFranklin", Arial, sans-serif;
}

.category-list {
    padding-left: 0;
    margin-bottom: 0;
}

.category-list > li {
    margin-bottom: 10px;
    list-style: none;
}

.category-list ul {
    padding-left: 15px;
    margin-top: 5px;
    margin-bottom: 10px;
}

.category-list ul li a {
    display: block;
    padding: 5px 10px;
    color: #fff;
    text-decoration: none;
    border-left: 3px solid transparent;
    transition: all 0.2s ease-in-out;
    
}

.cat-title,
.category-list ul li a {
    white-space: normal;       /* Permite que el texto use más de una línea */
    word-wrap: break-word;     /* Rompe la palabra si es muy larga */
    overflow-wrap: break-word; /* Compatibilidad moderna */
}


.category-list ul li a:hover {
    background: #000;
    border-left-color: #40C4FF;
    color: #40C4FF;
}
@media screen and (max-width: 991px) {
    .category-list {
        max-height: 300px;
        overflow-y: auto;
    }
}


.sidebar {
    background: #183380;
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 4px;
}