.catalogue-filters{align-items:stretch}
.catalogue-filters>button{align-self:center}
.filter-field{min-width:0}
.filter-trigger{position:relative;display:block;width:100%;height:100%;min-height:74px;border:1px solid var(--rule);padding:10px 46px 10px 18px;background:var(--paper);color:var(--ink);text-align:left;border-radius:0}
.filter-trigger:hover{border-color:#82786f}
.filter-trigger[aria-expanded=true]{border-color:var(--wine);box-shadow:inset 0 0 0 .5px var(--wine)}
.filter-label{display:block;font:13px/1.4 var(--condensed);text-transform:uppercase;letter-spacing:.025em;margin-bottom:3px}
.filter-value{display:block;font:22px/1.3 var(--serif);overflow-wrap:anywhere}
.filter-chevron{position:absolute;right:17px;top:calc(50% - 10px);width:20px;height:20px;stroke-width:1.5}
.filter-trigger[aria-expanded=true] .filter-chevron{transform:rotate(180deg)}
.filter-popover{position:fixed;z-index:100;background:var(--paper);border:1px solid #bfb5ab;box-shadow:0 5px 15px #291c111a;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c7bdb3 transparent}
.filter-options{padding:0}
.filter-option{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:49px;padding:11px 18px;font:20px/1.35 var(--serif);color:var(--ink);cursor:pointer;touch-action:manipulation;overflow-wrap:anywhere}
.filter-option+.filter-option{border-top:1px solid #e8e2d9}
.filter-option:hover{background:#eee9e1}
.filter-option[aria-selected=true]{color:var(--wine);background:#eee2df}
.filter-option:focus-visible{outline:2px solid var(--wine);outline-offset:-3px;background:#eee9e1}
.filter-option[aria-selected=true]:focus-visible{background:#eee2df}
.filter-check{flex-shrink:0;visibility:hidden;font:22px/1 var(--sans);color:var(--wine)}
.filter-option[aria-selected=true] .filter-check{visibility:visible}
dialog.filter-sheet{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:80dvh;margin:0;padding:0 0 env(safe-area-inset-bottom,0px);border:1px solid #d6cec5;border-bottom:0;border-radius:9px 9px 0 0;overflow:hidden;background:var(--paper);box-shadow:0 -5px 30px #291c1110}
dialog.filter-sheet[open]{display:flex;flex-direction:column}
.filter-sheet::backdrop{background:#211f1b66;backdrop-filter:none}
.filter-sheet-header{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 20px 15px;border-bottom:1px solid #cfc5ba;touch-action:none}
.filter-sheet-handle{position:absolute;top:11px;left:calc(50% - 18px);width:36px;height:4px;background:#94918a;border-radius:4px}
.filter-sheet-header h2{font:32px/1.2 var(--serif);letter-spacing:-.6px}
.filter-sheet-close{display:grid;place-items:center;min-width:44px;min-height:44px;color:var(--ink)}
.filter-sheet-close svg{width:24px;height:24px}
.filter-sheet-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-bottom:12px}
.filter-sheet .filter-option{min-height:56px;padding:14px 23px;font-size:21px}
@media(max-width:760px){.filter-trigger{padding:10px 35px 10px 12px;min-height:69px}.filter-label{font-size:13px}.filter-value{font-size:18px;line-height:1.35}.filter-chevron{right:11px;width:18px;height:18px}.filter-trigger:focus-visible{outline-offset:2px}}
/* Jobs: optional grouped instrument filter, with an in-flow panel on every screen. */
#jobs-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:16px}#jobs-filters.with-instruments{grid-template-columns:repeat(3,minmax(0,1fr))}#jobs-filters>button[type=reset]{grid-column:1/-1;min-height:32px;font-size:16px}#job-instrument-field[hidden],#job-instrument-panel[hidden],.instrument-option[hidden],.instrument-groups fieldset[hidden],#job-filter-chips[hidden]{display:none!important}
#job-instrument-panel{background:var(--paper);border:1px solid var(--rule);box-shadow:0 5px 15px #291c111a;padding:24px;margin:-2px 0 24px} .instrument-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;font:16px var(--sans)}.instrument-panel-head button{font-size:28px;min-width:44px;min-height:44px}#instrument-search{width:100%;background:transparent;border:1px solid var(--rule);padding:12px 14px;font:18px var(--serif);color:var(--ink);border-radius:0}.instrument-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin:25px 0}.instrument-groups fieldset{min-width:0;border:0;padding:0;margin:0}.instrument-groups legend{width:100%;border-bottom:1px solid var(--rule);padding:0 0 12px;margin-bottom:9px;color:var(--wine);font:16px var(--condensed);text-transform:uppercase;letter-spacing:.03em}.instrument-option{display:flex;align-items:center;gap:10px;min-height:40px;font:18px/1.4 var(--serif);cursor:pointer}.instrument-option input{width:18px;height:18px;flex-shrink:0;accent-color:var(--wine)}.instrument-panel-actions{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--rule);padding-top:18px}.instrument-panel-actions>button:first-child{text-decoration:underline;font:17px var(--serif);min-height:44px}.instrument-panel-actions .ticket-button{margin:0;width:auto;padding:12px 24px}#job-filter-chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}#job-filter-chips button{border:1px solid var(--rule);padding:7px 12px;font:16px var(--serif);min-height:38px}#job-filter-chips .clear-all-jobs{border:0;text-decoration:underline}#job-instrument-panel :focus-visible,#job-filter-chips :focus-visible{outline:2px solid var(--wine);outline-offset:3px}
@media(max-width:1050px){.instrument-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media(max-width:760px){#jobs-filters,#jobs-filters.with-instruments{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#jobs-filters.with-instruments #job-instrument-field{grid-column:1/-1;grid-row:2}#job-instrument-panel{padding:16px}.instrument-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.instrument-option{font-size:17px;min-height:44px}.instrument-groups legend{font-size:15px}#instrument-search{font-size:16px}.instrument-panel-head{font-size:14px}}
@media(max-width:380px){.instrument-groups{grid-template-columns:1fr}}

#job-instrument-panel{position:relative;padding-top:34px}.instrument-panel-head{position:absolute;right:12px;top:4px;margin:0}.instrument-groups{margin-top:12px}
