/* ============================================================
   Public Song Recommendations
============================================================ */

.prj-song-recommendations {
    width: 100%;
}

/* Search / filters */

.prj-song-recommendations .prj-song-rec-search {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(160px, 220px) auto auto;
    gap: 10px;
    align-items: stretch;
    margin-bottom: 16px;
}

.prj-song-recommendations .prj-song-rec-search input,
.prj-song-recommendations .prj-song-rec-search select,
.prj-song-recommendations .prj-song-rec-search button,
.prj-song-recommendations .prj-song-rec-reset {
    min-height: 38px;
    box-sizing: border-box;
}

.prj-song-recommendations .prj-song-rec-search input,
.prj-song-recommendations .prj-song-rec-search select {
    width: 100%;
}

.prj-song-recommendations .prj-song-rec-search button {
    white-space: nowrap;
}

.prj-song-recommendations .prj-song-rec-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid currentColor;
    text-decoration: none;
    white-space: nowrap;
}

/* Table */

.prj-song-recommendations .prj-song-rec-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.prj-song-recommendations .prj-song-rec-table th,
.prj-song-recommendations .prj-song-rec-table td {
    padding: 10px;
    border-bottom: 1px solid rgba(255,255,255,.18);
    text-align: left;
    vertical-align: middle;
}

.prj-song-recommendations .prj-song-rec-table th:nth-child(1),
.prj-song-recommendations .prj-song-rec-table td:nth-child(1) {
    width: 42%;
}

.prj-song-recommendations .prj-song-rec-table th:nth-child(2),
.prj-song-recommendations .prj-song-rec-table td:nth-child(2) {
    width: auto;
}

.prj-song-recommendations .prj-song-rec-table th:nth-child(3),
.prj-song-recommendations .prj-song-rec-table td:nth-child(3) {
    width: 110px;
    white-space: nowrap;
}

.prj-song-recommendations .prj-song-rec-table th:nth-child(4),
.prj-song-recommendations .prj-song-rec-table td:nth-child(4),
.prj-song-recommendations .prj-song-rec-table .prj-song-rec-votes-col {
    width: 185px;
    max-width: 185px;
    white-space: nowrap;
}

.prj-song-recommendations .prj-song-rec-table thead th a {
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    width: auto;
    margin: 0;
    text-align: left;
    text-decoration: none;
}

.prj-song-recommendations .prj-song-rec-table tr.is-used td {
    text-decoration: line-through;
    opacity: .55;
}

.prj-song-recommendations .prj-sr-vote-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    white-space: nowrap;
}

.prj-song-recommendations .prj-sr-vote-count {
    display: inline-block;
    min-width: 18px;
    font-weight: 700;
    text-align: center;
}

.prj-song-recommendations .prj-sr-vote-button {
    min-height: 30px;
    padding: 4px 8px;
    white-space: nowrap;
    box-sizing: border-box;
}
/* Empty message */

.prj-song-recommendations .prj-song-rec-empty {
    margin: 14px 0;
}

/* Pagination */

.prj-song-recommendations .prj-song-rec-pagination {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.prj-song-recommendations .prj-song-rec-pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 34px;
    padding: 4px 8px;
    border: 1px solid currentColor;
    text-decoration: none;
}

.prj-song-recommendations .prj-song-rec-pagination a.is-active {
    font-weight: 700;
    pointer-events: none;
}

/* Form */

.prj-sr-form-wrap {
    width: 100%;
}

.prj-sr-form {
    display: grid;
    gap: 14px;
}

.prj-sr-field {
    margin: 0;
}

.prj-sr-label {
    display: inline-block;
    margin-bottom: 6px;
}

.prj-sr-input {
    width: 100%;
    min-height: 38px;
    box-sizing: border-box;
}

.prj-sr-actions {
    margin: 0;
}

.prj-sr-message {
    margin-top: 12px;
}

.prj-sr-success {
    color: #b6f500;
}

.prj-sr-error {
    color: #ff0373;
}

/* Mobile */

@media screen and (max-width: 700px) {
    .prj-song-recommendations .prj-song-rec-search {
        grid-template-columns: 1fr;
    }

    .prj-song-recommendations .prj-song-rec-table th,
    .prj-song-recommendations .prj-song-rec-table td {
        padding: 8px;
        font-size: 14px;
        text-align: left;
    }

    .prj-song-recommendations .prj-song-rec-table thead th,
    .prj-song-recommendations .prj-song-rec-table thead th a {
        text-align: left;
        justify-content: flex-start;
    }
	
	    .prj-song-recommendations .prj-song-rec-table {
        table-layout: auto;
    }

    .prj-song-recommendations .prj-song-rec-table th:nth-child(1),
    .prj-song-recommendations .prj-song-rec-table td:nth-child(1),
    .prj-song-recommendations .prj-song-rec-table th:nth-child(2),
    .prj-song-recommendations .prj-song-rec-table td:nth-child(2),
    .prj-song-recommendations .prj-song-rec-table th:nth-child(3),
    .prj-song-recommendations .prj-song-rec-table td:nth-child(3),
    .prj-song-recommendations .prj-song-rec-table th:nth-child(4),
    .prj-song-recommendations .prj-song-rec-table td:nth-child(4) {
        width: auto;
        max-width: none;
    }
}