/* Shared browse toolbar, loaded after page-specific legacy rules. */
html body .tx-bar { display:grid; grid-template-columns:minmax(14rem,1fr) auto; gap:1.25rem; padding:0; border:0; border-bottom:1px solid var(--border-strong); border-radius:0; background:none; box-shadow:none; }
html body .tx-bar > .tx-search { width:100%; max-width:32rem; }
html body .tx-bar .tx-bar__filters { grid-column:1 / -1; grid-row:2; display:flex; gap:1.5rem; margin:0; padding:0; border-top:1px solid var(--border-hairline); overflow-x:auto; }
html body .tx-bar .chip { min-height:48px; height:auto; padding:.85rem 0; border:0; border-bottom:2px solid transparent; border-radius:0; background:none; color:var(--ink-soft); box-shadow:none; }
html body .tx-bar .chip:hover { background:none; color:var(--ink-strong); }
html body .tx-bar .chip.active { background:none; border-bottom-color:var(--accent); color:var(--accent-text); }
html body .tx-bar > .st-bar__meta { grid-column:2; grid-row:1; display:flex; flex-wrap:wrap; gap:.85rem; align-items:center; justify-self:end; }
html body .tx-bar .st-selects { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; }
/* Native fields retain names, values and validation; only their UI is replaced. */
html body .tx-control-native { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:0 !important; clip-path:inset(50%) !important; overflow:hidden !important; opacity:0 !important; pointer-events:none; }
.tx-select { position:relative; display:inline-block; min-width:0; width:100%; }
.st-selects .tx-select { width:auto; min-width:9rem; }
html body .tx-select__trigger { display:flex; justify-content:space-between; align-items:center; gap:1rem; width:100%; min-height:46px; padding:.7rem .9rem; border:1px solid var(--border-strong); border-radius:var(--r-field); background:var(--surface); color:var(--ink-strong); font:inherit; font-size:var(--inner-action-size); text-align:left; cursor:pointer; }
.tx-select__trigger::after { content:''; width:.45rem; height:.45rem; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin:0 .2rem .25rem; flex-shrink:0; }
.tx-select__trigger:focus-visible, .tx-control-popup button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.tx-select__trigger:disabled { opacity:.5; cursor:not-allowed; }
.tx-control-popup { position:fixed; z-index:10000; max-height:min(22rem,60vh); overflow:auto; padding:.4rem; border:1px solid var(--border-strong); border-radius:var(--r-field); background:var(--surface); color:var(--ink-strong); box-shadow:var(--shadow-raised); }
.tx-control-popup[hidden] { display:none; }
.tx-control-option { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; padding:.7rem .8rem; border:0; border-radius:var(--r-field); background:none; color:var(--ink-soft); font:inherit; font-size:var(--inner-action-size); text-align:left; cursor:pointer; }
.tx-control-option:hover, .tx-control-option:focus { background:var(--surface-hover); color:var(--ink-strong); }
.tx-control-option[aria-selected=true] { background:var(--accent-soft); color:var(--accent-text); font-weight:var(--font-semibold); }
.tx-control-option[aria-selected=true]::after { content:'✓'; }
.tx-control-option:disabled { opacity:.45; cursor:not-allowed; }
.tx-calendar__head { display:flex; justify-content:space-between; align-items:center; padding:.5rem; }
.tx-calendar__head button, .tx-calendar__days button { border:0; background:none; color:var(--ink-strong); padding:.5rem; border-radius:var(--r-field); cursor:pointer; }
.tx-calendar__days { display:grid; grid-template-columns:repeat(7,1fr); text-align:center; gap:.15rem; }
.tx-calendar__days small { color:var(--ink-muted); padding:.35rem; }
.tx-calendar__days button:hover { background:var(--surface-hover); }
.tx-calendar__days button[aria-pressed=true] { background:var(--accent); color:var(--accent-contrast); }
.tx-calendar__days button:disabled { opacity:.3; cursor:not-allowed; }
@media (max-width:1100px) {
 html body .tx-bar { grid-template-columns:minmax(0,1fr); }
 html body .tx-bar > .st-bar__meta { grid-column:1; grid-row:2; justify-self:start; }
 html body .tx-bar:has(.st-bar__meta) .tx-bar__filters { grid-row:3; }
 html body .tx-bar > .tx-bar__count { grid-column:1; grid-row:auto; padding-bottom:.75rem; }
}
@media (max-width:640px) {
 html body .tx-bar .st-selects { display:grid; grid-template-columns:auto minmax(0,1fr); width:100%; }
 html body .tx-bar > .st-bar__meta { width:100%; }
 .st-selects .tx-select { width:100%; }
}
/* Compact mobile catalog controls shared by Store, Gigs and Portfolio. */
@media(max-width:640px) {
 html body .tx-bar { gap:.65rem; }
 html body .tx-bar > .tx-search { height:42px; min-height:0; border-radius:12px; box-shadow:none; }
 html body .tx-bar .tx-search__field { font-size:16px; }
 html body .tx-bar .tx-bar__filters { gap:1.1rem; flex-wrap:nowrap; }
 html body .tx-bar .chip { min-height:40px; padding:.55rem 0; font-size:.78rem; white-space:nowrap; flex-shrink:0; }
 html body .tx-bar .chip .tx-icon { width:14px; height:14px; }
 html body .tx-bar > .st-bar__meta { display:flex; flex-wrap:wrap; gap:.5rem .8rem; align-items:center; }
 html body .tx-bar .st-selects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.25rem .6rem; width:100%; }
 html body .tx-bar .st-selects .st-filter-label { margin:0; font-size:.6rem; letter-spacing:.06em; color:var(--ink-muted); }
 html body .tx-bar .st-selects label[for=stCycleFilter] { grid-column:1; grid-row:1; }
 html body .tx-bar .st-selects label[for=stSortFilter] { grid-column:2; grid-row:1; }
 html body .tx-bar .st-selects .tx-select { width:100%; min-width:0; grid-row:2; }
 html body .tx-bar .tx-select__trigger { min-height:40px; padding:.5rem .7rem; gap:.45rem; border-radius:10px; font-size:.78rem; }
 html body .tx-bar .tx-select__trigger > span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
 html body .tx-bar .st-bar__meta .tx-bar__count { padding:0; border:0; font-size:.7rem; }
 html body .tx-bar > .tx-bar__count { padding-bottom:.3rem; font-size:.7rem; }
 html body .tx-bar .st-clear { padding:.2rem 0; font-size:.75rem; }
 .site-footer .footer-brand .footer-logo { display:none; }
}
