#search-results {
    display: grid;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

#search-results:not(:has(.performer-card)):not(:has([data-type="performer"])):not(:has(.category-card)):not(:has([data-type="category"])):not(:has([data-type="channel"])) {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

@media (min-width: 450px) {
    #search-results:not(:has(.performer-card)):not(:has([data-type="performer"])):not(:has(.category-card)):not(:has([data-type="category"])):not(:has([data-type="channel"])) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 900px) {
    #typesense-list-container:has(.filters-panel:not(.filters-panel-collapsed)) #search-results:not(:has(.performer-card)):not(:has([data-type="performer"])):not(:has(.category-card)):not(:has([data-type="category"])):not(:has([data-type="channel"])) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    #typesense-list-container:has(.filters-panel.filters-panel-collapsed) #search-results:not(:has(.performer-card)):not(:has([data-type="performer"])):not(:has(.category-card)):not(:has([data-type="category"])):not(:has([data-type="channel"])),
    #typesense-list-container:not(:has(.filters-panel)) #search-results:not(:has(.performer-card)):not(:has([data-type="performer"])):not(:has(.category-card)):not(:has([data-type="category"])):not(:has([data-type="channel"])) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    #typesense-list-container.filters-collapsed #search-results:not(:has(.performer-card)):not(:has([data-type="performer"])):not(:has(.category-card)):not(:has([data-type="category"])):not(:has([data-type="channel"])) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    #typesense-list-container:not(.filters-collapsed):has(.filters-panel) #search-results:not(:has(.performer-card)):not(:has([data-type="performer"])):not(:has(.category-card)):not(:has([data-type="category"])):not(:has([data-type="channel"])) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1100px) {
    #typesense-list-container:has(.filters-panel:not(.filters-panel-collapsed)) #search-results:not(:has(.performer-card)):not(:has([data-type="performer"])):not(:has(.category-card)):not(:has([data-type="category"])):not(:has([data-type="channel"])) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    #typesense-list-container:has(.filters-panel.filters-panel-collapsed) #search-results:not(:has(.performer-card)):not(:has([data-type="performer"])):not(:has(.category-card)):not(:has([data-type="category"])):not(:has([data-type="channel"])),
    #typesense-list-container:not(:has(.filters-panel)) #search-results:not(:has(.performer-card)):not(:has([data-type="performer"])):not(:has(.category-card)):not(:has([data-type="category"])):not(:has([data-type="channel"])) {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
    #typesense-list-container.filters-collapsed #search-results:not(:has(.performer-card)):not(:has([data-type="performer"])):not(:has(.category-card)):not(:has([data-type="category"])):not(:has([data-type="channel"])) {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
    #typesense-list-container:not(.filters-collapsed):has(.filters-panel) #search-results:not(:has(.performer-card)):not(:has([data-type="performer"])):not(:has(.category-card)):not(:has([data-type="category"])):not(:has([data-type="channel"])) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

#search-results:has(.performer-card),
#search-results:has([data-type="performer"]) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (min-width: 600px) {
    #search-results:has(.performer-card),
    #search-results:has([data-type="performer"]) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 900px) {
    #search-results:has(.performer-card),
    #search-results:has([data-type="performer"]) {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1200px) {
    /* When filters are expanded (not collapsed): show 5 columns */
    #typesense-list-container:not(.filters-collapsed):has(.filters-panel) #search-results:has(.performer-card),
    #typesense-list-container:not(.filters-collapsed):has(.filters-panel) #search-results:has([data-type="performer"]) {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }
    
    /* When filters are collapsed or no filters: show 6 columns */
    #typesense-list-container.filters-collapsed #search-results:has(.performer-card),
    #typesense-list-container.filters-collapsed #search-results:has([data-type="performer"]),
    #typesense-list-container:not(:has(.filters-panel)) #search-results:has(.performer-card),
    #typesense-list-container:not(:has(.filters-panel)) #search-results:has([data-type="performer"]) {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1500px) {
    /* When filters are expanded (not collapsed): show 5 columns */
    #typesense-list-container:not(.filters-collapsed):has(.filters-panel) #search-results:has(.performer-card),
    #typesense-list-container:not(.filters-collapsed):has(.filters-panel) #search-results:has([data-type="performer"]) {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }
    
    /* When filters are collapsed or no filters: show 6 columns */
    #typesense-list-container.filters-collapsed #search-results:has(.performer-card),
    #typesense-list-container.filters-collapsed #search-results:has([data-type="performer"]),
    #typesense-list-container:not(:has(.filters-panel)) #search-results:has(.performer-card),
    #typesense-list-container:not(:has(.filters-panel)) #search-results:has([data-type="performer"]) {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }
}

#search-results:has(.category-card),
#search-results:has([data-type="category"]) {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

@media (min-width: 450px) {
    #search-results:has(.category-card),
    #search-results:has([data-type="category"]) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 900px) {
    #search-results:has(.category-card),
    #search-results:has([data-type="category"]) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1100px) {
    #search-results:has(.category-card),
    #search-results:has([data-type="category"]) {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

#search-results:has([data-type="channel"]) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (min-width: 1024px) {
    #search-results:has([data-type="channel"]) {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }
}
