/* Shared archive search, filters and directory lists. */
.site-search { margin: var(--space-6) 0 0; }
.site-search label { display: block; margin-bottom: 6px; font-size: var(--text-control); font-weight: 600; }
.site-search-controls { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--space-2) 10px; }
.site-search input[type="search"] { flex: 1 1 240px; min-width: 0; max-width: 26rem; font-size: var(--text-control); line-height: var(--leading-control); }
.site-search input::placeholder { color: var(--muted); }
.site-search-reset { font-size: var(--text-sm); text-underline-offset: 4px; }
.site-search-reset[hidden] { display: none; }
.site-search-hint,.site-search-status { color: var(--muted); font-size: var(--text-sm); line-height: var(--leading-body); }
.site-search-hint { margin: var(--space-2) 0 0; }
.site-search-status { min-height: 1.6em; margin: 14px 0 var(--space-3); }
.programme-results[aria-busy="true"] { cursor: progress; }
@media(max-width:599px) {
    .site-search input[type="search"] { flex-basis: 100%; max-width: none; width: 100%; }
    .site-search-reset { padding-block: 10px; }
}

.site-search-text { flex: 1 1 16rem; max-width: 26rem; min-width: 0; }
.site-search-text input[type="search"] { width: 100%; max-width: none; }
.alphabet-filter { flex: 1 1 20rem; max-width: 26rem; min-width: 0; }
.site-search select { font-size: var(--text-control); width: 100%; }
.site-search select[hidden],.alphabet-slider[hidden] { display: none; }
.site-search-year { flex: 0 1 10rem; min-width: 8rem; }
.site-search-genre { flex: 1 1 15rem; max-width: 20rem; min-width: 0; }
.alphabet-slider { display: flex; align-items: center; gap: var(--space-2); min-height: var(--control-height); }
.alphabet-slider output { width: 2.6em; flex-shrink: 0; color: var(--gold); font: var(--weight-display) var(--heading-sm)/1.2 var(--display); text-align: center; }
.alphabet-step { flex: 0 0 44px; min-height: var(--control-height); align-self: stretch; padding: 0; line-height: 1; border: 1px solid var(--line); border-radius: var(--radius-sm); background: transparent; color: var(--gold); font-size: var(--heading-sm); cursor: pointer; }
.alphabet-step:disabled { color: var(--muted); opacity: .4; cursor: default; }
.alphabet-slider input[type="range"] { appearance: none; -webkit-appearance: none; flex: 1; min-width: 0; height: 44px; padding: 0; margin: 0; background: transparent; cursor: pointer; }
.alphabet-slider input::-webkit-slider-runnable-track { height: 5px; border-radius: 5px; background: linear-gradient(to right,var(--gold) var(--range-progress),var(--line) var(--range-progress)); }
.alphabet-slider input::-moz-range-track { height: 5px; border-radius: 5px; background: var(--line); }
.alphabet-slider input::-moz-range-progress { height: 5px; background: var(--gold); border-radius: 5px; }
.alphabet-slider input::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: var(--gold); margin-top: -6.5px; border: 2px solid var(--bg); box-shadow: 0 0 0 1px var(--gold); }
.alphabet-slider input::-moz-range-thumb { width: 15px; height: 15px; border-radius: 50%; background: var(--gold); border: 2px solid var(--bg); }
.directory-list { display: block; border-top: 1px solid var(--line); }
.directory-row { border-bottom: 1px solid var(--line); padding: 23px 0; }
.directory-row h2 { font-family: var(--display); font-weight: var(--weight-display); font-size: 1.6875rem; margin: 0; }
.directory-row h2 a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); text-decoration: none; min-height: var(--control-height); }
.directory-row h2 a>span:first-child { min-width: 0; overflow-wrap: anywhere; }
.directory-country { font: var(--text-sm)/var(--leading-body) var(--sans); color: var(--muted); letter-spacing: normal; margin-inline-start: .7em; display: inline-block; }
.directory-arrow { color: var(--gold); font-size: var(--heading-sm); flex-shrink: 0; }
.directory-row p { color: var(--muted); font-size: var(--text-control); margin: var(--space-2) 3rem 0 0; overflow-wrap: anywhere; }
@media(max-width:599px) {
    .site-search-text,.alphabet-filter { flex-basis: 100%; max-width: none; width: 100%; }
    .directory-row h2 { font-family: var(--display); font-weight: var(--weight-display); font-size: 1.4375rem; }
    .directory-row { padding: 18px 0; }
    .alphabet-slider { gap: 6px; }
}
@media(forced-colors:active) {
    .alphabet-slider input::-webkit-slider-runnable-track { background: CanvasText; }
    .alphabet-slider input::-webkit-slider-thumb { background: Highlight; border-color: Canvas; box-shadow: none; }
    .alphabet-slider input::-moz-range-track { background: CanvasText; }
    .alphabet-slider input::-moz-range-thumb { background: Highlight; }
}
