/* Sidebar */
.sidebar {
    position: sticky;
    top: calc(var(--header-offset, 120px) + var(--size-big));
    height: fit-content;
    display: flex;
    flex-direction: column;
    gap: var(--size-mid);
}

.sidebar-widget {
    display: flex;
    flex-direction: column;
    gap: var(--size-small);
    background: white;
    border-radius: var(--size-normal);
    padding: var(--size-mid);
    /* margin-bottom: var(--size-avg); */
}
.sidebar-widget[aria-label="Категории"] {
    border-radius: 0;
}
.sidebar-widget.popular {
    box-shadow: var(--shadow);
}

.sidebar-widget h3 {
    /* font-size: 1rem;
    font-weight: 700; */
    color: var(--secondary);
    /* margin-bottom: var(--size-mid); */
    padding-bottom: var(--size-small);
    border-bottom: 2px solid var(--gray-light);
    display: flex;
    align-items: center;
    gap: var(--size-small);
}

.sidebar-widget h3 i {
    color: var(--primary);
}

.sidebar-widget.popular .cat-name, .sidebar-widget.popular li {
    font-size: var(--text-p);
}

.category-list {
    list-style: none;
}
.sidebar-widget[aria-label="Категории"] .category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.category-list li {
    margin-bottom: var(--size-small);
}

.category-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--size-small);
    padding: var(--size-small) var(--size-normal);
    color: var(--dark);
    border-radius: var(--size-small);
    transition: all 0.2s;
}


.sidebar-widget[aria-label="Категории"] .category-list a {
    box-shadow: var(--shadow);
}

.category-list a:hover {
    background: var(--gray-light);
    color: var(--primary);
    transform: translateX(var(--size-tiny));
}

.category-list a.active {
    background: var(--primary);
    color: white;
}

.category-list .cat-icon {
    width: 28px;
    height: 28px;
    background: var(--gray-light);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: var(--size-small);
    font-size: 0.8rem;
    color: var(--gray);
}

.category-list a:hover .cat-icon,
.category-list a.active .cat-icon,
.category-list a.active .cat-count {
    background: rgba(255, 255, 255, 0.2);
    color: inherit;
}

.category-list .cat-name {
    flex: 1;
    display: flex;
    align-items: center;
}

.category-list .cat-count {
    font-size: 0.75rem;
    background: var(--gray-light);
    padding: 2px var(--size-small);
    border-radius: var(--size-small);
    color: var(--gray);
}



.category-list .new-badge {
    background: var(--primary);
    color: white;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: var(--size-small);
    margin-left: var(--size-small);
    animation: pulse 2s infinite;
}

/* Mobile Styles */
@media (max-width: 1024px) {
    .sidebar {
        display: none;
    }
}