/*
 * Repertoire page. The table comes from the PB Artist Repertoire plugin (DataTables), which brings its own
 * styling, so these rules are deliberately specific and use !important on colours only.
 */

.pbbp-repertoire .pbbp-replist{padding-top:clamp(40px,6vw,80px)}
.pbbp-replist__box{max-width:1000px;margin-inline:auto;background:var(--pbbp-panel);border:1px solid var(--pbbp-line);border-radius:10px;padding:clamp(18px,3vw,36px);overflow-x:auto}
.pbbp-replist__note{max-width:1000px;margin:18px auto 0;font-size:14px;text-align:center}

/* the plugin's own heading/paragraphs, if the shortcode prints any */
.pbbp-replist__box h2{font-size:28px;margin:0 0 12px}

/* controls */
.pbbp-replist .dt-container{color:var(--pbbp-text)!important;font-size:15px}
.pbbp-replist .dt-layout-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin:0 0 16px}
.pbbp-replist .dt-layout-row.dt-layout-table{display:block;margin:0}
.pbbp-replist .dt-layout-cell{display:flex;align-items:center;gap:8px;color:var(--pbbp-text)!important}
.pbbp-replist .dt-container label,.pbbp-replist .dt-info{color:var(--pbbp-text)!important;font-size:13px;letter-spacing:.04em}
.pbbp-replist .dt-container input,.pbbp-replist .dt-container select{background:var(--pbbp-bg)!important;color:var(--pbbp-heading)!important;border:1px solid var(--pbbp-line)!important;border-radius:6px;padding:9px 12px;font:inherit;min-height:0;height:auto;box-shadow:none}
.pbbp-replist .dt-container input:focus,.pbbp-replist .dt-container select:focus{border-color:var(--pbbp-accent)!important;outline:0;box-shadow:0 0 0 3px rgba(var(--pbbp-accent-rgb),.25)}
.pbbp-replist .dt-search input{min-width:220px;margin-left:8px}

/* the table */
.pbbp-replist table.pb-repertoire-table{width:100%!important;border-collapse:collapse;border:0;margin:0;background:none}
.pbbp-replist table.pb-repertoire-table thead th{background:none!important;color:var(--pbbp-accent)!important;border:0!important;border-bottom:2px solid var(--pbbp-accent)!important;padding:12px 16px;text-align:left;font:800 12px/1.3 var(--pbbp-sans);letter-spacing:.24em;text-transform:uppercase;cursor:pointer}
.pbbp-replist table.pb-repertoire-table tbody tr,.pbbp-replist table.pb-repertoire-table tbody td{background:none!important;border:0!important}
.pbbp-replist table.pb-repertoire-table tbody td{padding:13px 16px;border-bottom:1px solid var(--pbbp-line)!important;color:var(--pbbp-text)!important;font-size:16px;text-align:left}
.pbbp-replist table.pb-repertoire-table tbody td:first-child{color:var(--pbbp-heading)!important;font-weight:600}
.pbbp-replist table.pb-repertoire-table tbody td a{color:inherit!important;text-decoration:none;border-bottom:1px dotted rgba(var(--pbbp-accent-rgb),.7)}
.pbbp-replist table.pb-repertoire-table tbody td a:hover{color:var(--pbbp-accent-hi)!important}
.pbbp-replist table.pb-repertoire-table tbody tr:hover td{background:rgba(var(--pbbp-accent-rgb),.09)!important}
.pbbp-replist table.pb-repertoire-table td.dt-type-numeric,.pbbp-replist table.pb-repertoire-table th.dt-type-numeric{text-align:left}
.pbbp-replist table.pb-repertoire-table tfoot{display:none}

/* footer row: song count on the left, pager on the right, a hairline above */
.pbbp-replist .dt-layout-row:last-child{margin:22px 0 0;padding-top:20px;border-top:1px solid var(--pbbp-line)}

/* paging: quiet round buttons, the current page filled with the accent */
.pbbp-replist .dt-paging{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.pbbp-replist .dt-paging .dt-paging-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:0;padding:0;margin:0;background:none!important;color:var(--pbbp-text)!important;border:0!important;border-radius:50%;font:700 14px/1 var(--pbbp-sans);cursor:pointer;box-shadow:none;text-shadow:none;transition:background .2s,color .2s,box-shadow .2s}
.pbbp-replist .dt-paging .dt-paging-button:hover:not(.disabled):not(.current){background:rgba(var(--pbbp-accent-rgb),.16)!important;color:var(--pbbp-accent-hi)!important}
.pbbp-replist .dt-paging .dt-paging-button.current{background:var(--pbbp-accent)!important;color:#fff!important;box-shadow:0 8px 20px -8px rgba(var(--pbbp-accent-rgb),.9)}
.pbbp-replist .dt-paging .dt-paging-button.disabled{opacity:.25;cursor:default}
.pbbp-replist .dt-paging .dt-paging-button.first,.pbbp-replist .dt-paging .dt-paging-button.last{font-size:12px;letter-spacing:-.1em}
.pbbp-replist .dt-paging .dt-paging-button.previous,.pbbp-replist .dt-paging .dt-paging-button.next{font-size:20px;padding-bottom:3px}
.pbbp-replist .dt-paging .ellipsis{padding:0 6px;color:var(--pbbp-text)}

@media (max-width:700px){
  .pbbp-replist .dt-search input{min-width:0;width:100%;margin-left:0}
  .pbbp-replist .dt-search{width:100%}
  .pbbp-replist table.pb-repertoire-table tbody td,.pbbp-replist table.pb-repertoire-table thead th{padding:11px 8px;font-size:14px}
}
