.show-search-page { max-width: 1120px; margin: 0 auto; padding-bottom: 2rem; }
.show-search-intro { padding: 2.5rem 0 1.25rem; }
.show-search-eyebrow { color: #356c96; font-size: .73rem; font-weight: 800; letter-spacing: .12em; }
.show-search-intro h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 800; letter-spacing: -.035em; margin: .55rem 0; color: #183b56; }
.show-search-intro p { color: #586e80; font-size: 1rem; margin: 0; line-height: 1.6; }
.sp-page.sp-show-page .show-search-controls { padding: 1.5rem; border-radius: 1rem; border: 1px solid #c8ddeb; background: linear-gradient(125deg, #f8fcff, #fff 75%); box-shadow: 0 8px 28px #16395309; }
.show-search-controls > label { display: block; font-size: 1.05rem; font-weight: 700; margin-bottom: .65rem; }
.show-search-primary { display: flex; gap: .75rem; align-items: stretch; }
.show-search-query { flex: 1; min-width: 0; }
.show-search-query, .show-search-query .ui-autocomplete-input { width: 100%; }
.show-search-query .ui-autocomplete-input { min-height: 3.2rem; font-size: 1.05rem; padding-left: 1rem; }
.show-search-primary > .ui-button { min-width: 125px; }
.show-search-help, #show-search-status { font-size: .85rem; color: #566e82; line-height: 1.5; margin-top: .65rem; }
#show-search-status:empty { display: none; }
#show-search-status { color: #12628a; font-weight: 600; }
.show-search-suggestions .ui-autocomplete-item { white-space: normal; overflow-wrap: normal; word-break: normal; }
.show-search-suggestions .show-search-suggestion-line { display: block; line-height: 1.5; white-space: normal; }
/* PrimeFaces wraps matched text in a span; it must stay within the text line. */
.show-search-suggestions .ui-autocomplete-query { display: inline; }
.show-search-suggestion-help { display: block; white-space: normal; padding: .65rem; font-size: .8rem; color: #526a7c; }
.show-search-filter-panel { margin-top: 1.1rem; border-top: 1px solid #dbe7ef; padding-top: 1rem; }
.show-search-filter-panel > summary { font-weight: 700; color: #284b65; }
.show-search-page summary { cursor: pointer; }
.show-search-filter-count { display: inline-block; min-width: 1.5rem; padding: .1rem .4rem; margin-left: .3rem; text-align: center; border-radius: 1rem; background: #e3f1fb; color: #235c80; font-size: .75rem; }
.show-search-filters { display: grid; grid-template-columns: 1fr 1fr 1.5fr; gap: 1rem; margin-top: 1rem; }
.show-search-field { min-width: 0; }
.show-search-field > label { display: block; margin-bottom: .45rem; font-size: .85rem; font-weight: 600; color: #38546b; }
.show-search-field .ui-selectonemenu, .show-search-field .ui-autocomplete, .show-search-field .ui-autocomplete-input, .show-search-field .ui-inputtext, .show-search-field .ui-calendar { width: 100%; }
.show-search-field .ui-calendar { display: flex; }
.show-search-field .ui-calendar input { min-width: 0; }
.show-search-date-range { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.show-search-date-range[hidden] { display: none; }
.show-search-filter-actions { display: flex; align-items: center; gap: 1.2rem; margin-top: 1rem; }
.show-search-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 2rem 0 .75rem; }
.show-search-results-heading h2 { color: #183b56; font-weight: 800; font-size: 1.65rem; margin: .4rem 0; }
.show-search-results-heading p { color: #5b7183; font-size: .9rem; margin: .4rem 0; }
.show-search-sort { display: flex; align-items: center; gap: .6rem; flex-shrink: 0; font-size: .85rem; }
.show-search-chips { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; font-size: .85rem; }
.show-search-chip { display: inline-flex; gap: .6rem; border: 1px solid #c9dfef; background: #edf6fd; border-radius: 2rem; padding: .45rem .8rem; color: #255a7e; max-width: 100%; overflow-wrap: anywhere; }
.show-search-results-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; color: #607689; font-size: .82rem; margin: 1.1rem 0 .7rem; }
.show-search-expand { border: 0; background: none; padding: .5rem; color: #166797; cursor: pointer; font: inherit; font-weight: 600; }
.sp-page.sp-show-page .show-search-result { margin-bottom: .8rem; border: 1px solid #d6e4ee; border-radius: .85rem; background: #fff; overflow: hidden; }
.show-search-result-link { display: flex; align-items: center; gap: 1.25rem; padding: 1.2rem 1.35rem; color: #234c6a; }
.show-search-result-link:hover { background: #f4faff; text-decoration: none; }
.show-search-result-date { flex: 0 0 130px; color: #24678e; font-size: 1.05rem; font-weight: 800; }
.show-search-result-location { display: flex; flex-direction: column; gap: .3rem; flex: 1; min-width: 0; }
.show-search-result-location strong { color: #183b56; font-size: 1.1rem; }
.show-search-result-location > span { color: #526d81; }
.show-search-result-location small:empty { display: none; }
.show-search-result-location small { color: #637a8b; }
.show-search-setlist { border-top: 1px solid #e6eef4; }
.show-search-setlist > summary { padding: .7rem 1.35rem; font-size: .83rem; font-weight: 600; color: #3c637e; background: #fbfdff; }
.show-search-setlist-hint { font-weight: 400; color: #6c8293; margin-left: .5rem; }
.show-search-setlist[open] .show-search-setlist-hint { display: none; }
.show-search-setlist-body { padding: 0 1rem 1rem; line-height: 1.8; }
.show-search-empty { text-align: center; padding: 3rem 1.5rem; margin-top: 1rem; }
.show-search-empty > i { font-size: 1.8rem; color: #5391b6; }
.show-search-empty h3 { color: #244c68; margin: 1rem 0 .6rem; }
.show-search-empty p { color: #60778a; line-height: 1.6; }
.show-search-empty a { display: inline-block; margin: .5rem .75rem; }
.show-search-pagination { display: flex; justify-content: center; align-items: center; gap: 1.5rem; padding: 1.25rem 0; font-size: .9rem; }
.show-search-pagination a { padding: .8rem 1.1rem; border: 1px solid #bad6e9; border-radius: .6rem; background: #f4faff; }
.show-search-page :focus-visible { outline: 3px solid #1686c4; outline-offset: 3px; }
@media (max-width: 640px) {
    .show-search-intro { padding-top: 1.5rem; }
    .sp-page.sp-show-page .show-search-controls { padding: 1rem; }
    .show-search-primary { flex-wrap: wrap; }
    .show-search-query { flex-basis: 100%; }
    .show-search-primary > .ui-button { width: 100%; min-height: 2.8rem; }
    .show-search-filters, .show-search-date-range { grid-template-columns: 1fr; }
    .show-search-results-heading { align-items: flex-start; flex-direction: column; margin-top: 1.5rem; }
    .show-search-sort { justify-content: space-between; width: 100%; }
    .show-search-result-link { flex-wrap: wrap; gap: .5rem; padding: 1rem; }
    .show-search-result-date { flex-basis: 100%; font-size: .85rem; }
    .show-search-result-location strong { font-size: 1.05rem; }
    .show-search-results-toolbar { font-size: .75rem; gap: .3rem; }
    .show-search-pagination { gap: .6rem; font-size: .8rem; flex-wrap: wrap; }
}
