.semester-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 15px 20px;
    gap: 10px;
}
  
.filter-label {
    font-size: 14px;
    font-weight: 500;
    margin-right: 10px;
    font-family: 'Lexend', sans-serif;
}
  
.filter-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
  
.filter-btn {
    background-color: #f5f5f5;
    border: 1px solid #e0e0e0;
    border-radius: 20px;
    padding: 6px 12px;
    font-size: 13px;
    font-family: 'Lexend', sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    font-weight: 500;
}
  
.filter-btn:hover {
    background-color: #eeeeee;
}
  
.filter-btn.active {
    background-color: #808080;
    color: white;
    border-color: #808080;
}
  

.filter-btn[data-semester="first"].active {
    background-color: #808080;
    border-color: #808080;
}
  
.filter-btn[data-semester="second"].active {
    background-color: #808080;
    border-color: #808080;
}
  
.filter-btn[data-semester="summer"].active {
    background-color: #808080;
    border-color: #808080;
}
  
@media only screen and (max-width: 768px) {
    .semester-filter {
      flex-direction: column;
      align-items: flex-start;
      margin: 15px 15px;
    }
    
    .filter-label {
      margin-bottom: 5px;
    }
}
  
@media only screen and (max-width: 480px) {
    .filter-btn {
      padding: 5px 10px;
      font-size: 12px;
    }
}
  
.course-table tr.hidden {
    display: none;
}