/* Generated from ui/styles/artists-catalog.css. Edit the source, then npm run build:styles. */
:root {
  --ac-header-height: 0px;
  color-scheme: light;
  --ac-gutter: var(--ui-container-gutter);
}

*, *::before, *::after { box-sizing: border-box; }

html { min-width: 320px; scroll-behavior: smooth; background: var(--ui-color-paper); }
body { margin: 0; color: var(--ui-color-ink); background-color: var(--ui-color-paper); background-image: var(--ui-texture-paper); background-size: 180px 180px; -webkit-font-smoothing: antialiased; font: var(--ui-type-body); letter-spacing: normal; }
button, input { font: inherit; }
button, a { color: inherit; -webkit-tap-highlight-color: transparent; }
button { appearance: none; }
a { text-decoration: none; }
img, svg { display: block; }
[hidden] { display: none !important; }
::selection { color: var(--ui-color-white); background: var(--ui-color-accent); }

.ac-container { --ui-current-gutter: var(--ac-gutter); }
.ac-skip-link { position: fixed; top: 10px; left: 10px; z-index: 3000; padding: var(--ui-space-10) var(--ui-space-14); color: var(--ui-color-white); background: var(--ui-color-accent); border-radius: var(--ui-radius-10); transform: translateY(-150%); }
.ac-skip-link:focus { transform: none; }

.ac-header { position: sticky; top: 0; z-index: 100; border: 0;    }
.ac-header__inner { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: var(--ui-space-24); }
.ac-brand { display: inline-flex; align-items: center; gap: var(--ui-space-11); }
.ac-brand img { width: 34px; height: 34px; filter: brightness(0); }
.ac-brand span { display: grid; gap: var(--ui-space-1); }
.ac-brand strong {
  font: var(--ui-type-control-small);
  letter-spacing: normal; }
.ac-brand small { color: var(--ui-color-muted); font: var(--ui-type-micro); letter-spacing: normal; }
.ac-header__nav { display: flex; align-items: center; gap: var(--ui-space-8); }
.ac-header__section { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 0 var(--ui-space-16); border-radius: var(--ui-radius-pill); transition: color .2s ease, background-color .2s ease; font: var(--ui-type-control-small); letter-spacing: normal; }
.ac-header__section:hover { color: var(--ui-color-accent); background: var(--ui-paint-04683885c2); }
.ac-header__back { display: inline-flex; min-height: 42px; align-items: center; gap: var(--ui-space-7); padding: 0 var(--ui-space-16); background: var(--ui-paint-04683885c2); border: 1px solid var(--ui-color-line); border-radius: var(--ui-radius-pill); transition: none; font: var(--ui-type-control-small); letter-spacing: normal; }
.ac-header__back svg { width: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ac-header__back:hover { color: var(--ui-color-white); background: var(--ui-color-ink); border-color: var(--ui-color-ink); }

.ac-page { min-height: 0; }
.ac-catalog {
  padding-top: var(--ui-page-space);
  padding-bottom: var(--ui-section-space); }
.ac-tools { position: sticky; top: var(--ac-header-height); z-index: 50; isolation: isolate; display: grid; grid-template-columns: minmax(260px, 1fr) auto auto auto; align-items: center; gap: var(--ui-control-gap); margin-bottom: var(--ui-group-gap); padding: var(--ui-control-block) 0; }
.ac-tools::before { content: ""; position: absolute; inset-block: 0; left: 50%; z-index: -1; width: 100vw; background-color: var(--ui-color-paper); background-image: var(--ui-texture-paper); background-size: 180px 180px; transform: translateX(-50%); }
.ac-search { position: relative; min-width: 0; }
.ac-search__field { display: grid; grid-template-columns: 22px minmax(0,1fr); min-height: 50px; align-items: center; gap: var(--ui-space-12); padding: 0 var(--ui-space-16); background: var(--ui-color-surface); border: 1px solid var(--ui-color-line); border-radius: var(--ui-radius-control); transition: border-color .2s ease, box-shadow .2s ease; }
.ac-search__field:focus-within { border-color: var(--ui-color-ink); box-shadow: var(--ui-shadow-focus); }
.ac-search svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.ac-search input {
  font: var(--ui-type-field);
  letter-spacing: normal; }
.ac-search input::placeholder { color: var(--ui-paint-f18a9c55d5); opacity: 1; }
.ac-search__suggestions { position: absolute; top: calc(100% + 7px); left: 0; z-index: 90; overflow: hidden; width: 100%; background: var(--ui-color-surface); border: 1px solid var(--ui-color-line); border-radius: var(--ui-radius-control); box-shadow: var(--ui-shadow-menu); }
.ac-search__suggestions[hidden] { display: none; }
.ac-search__suggestions button { display: grid; width: 100%; min-height: 54px; grid-template-columns: minmax(0,1fr) minmax(0,42%); align-items: center; gap: var(--ui-space-14); padding: var(--ui-space-7) var(--ui-space-11); color: var(--ui-color-ink); background: transparent; border: 0; border-radius: var(--ui-radius-8); cursor: pointer; text-align: left; }
.ac-search__suggestions button.is-active { background: var(--ui-color-soft); }
.ac-search__suggestion-divider { height: 1px; margin: var(--ui-space-6) var(--ui-space-11); background: var(--ui-color-line); }
.ac-search__suggestions strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: var(--ui-type-label); letter-spacing: normal; }
.ac-search__suggestions small { overflow: hidden; color: var(--ui-color-muted); text-align: right; text-overflow: ellipsis; white-space: nowrap; font: var(--ui-type-caption); letter-spacing: normal; }
.ac-filter, .ac-sort { position: relative; }
.ac-sort { justify-self: end; }
.ac-control { gap: var(--ui-space-9); padding: 0 var(--ui-space-15); color: var(--ui-color-ink); background: var(--ui-color-surface); cursor: pointer; white-space: nowrap; transition: border-color .18s ease, background-color .18s ease; font: var(--ui-type-control-small); letter-spacing: normal; }
.ac-control:hover { border-color: var(--ui-color-ink); }
.ac-control:disabled { color: var(--ui-paint-63298db388); background: var(--ui-paint-750290dfa3); border-color: var(--ui-paint-d3db2ec306); cursor: not-allowed; }
.ac-control:disabled:hover { border-color: var(--ui-paint-d3db2ec306); }
.ac-control svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ac-selection-actions { display: flex; align-items: center; gap: var(--ui-space-8); }
.ac-control--pdf { color: var(--ui-color-white); background: var(--ui-color-ink); border-color: var(--ui-color-ink); }
.ac-control--pdf:hover { color: var(--ui-color-white); background: var(--ui-color-accent); border-color: var(--ui-color-accent); }
.ac-control--pdf:disabled { color: var(--ui-paint-63298db388); background: var(--ui-paint-750290dfa3); border-color: var(--ui-paint-d3db2ec306); }
.ac-filter.is-open .ac-control, .ac-sort.is-open .ac-control { border-color: var(--ui-color-ink); }
.ac-filter .ac-control > b { display: grid; min-width: 20px; height: 20px; place-items: center; padding: 0 var(--ui-space-6); color: var(--ui-color-white); background: var(--ui-color-accent); border-radius: var(--ui-radius-round); font: var(--ui-type-badge); letter-spacing: normal; }
.ac-sort .ac-control svg { transition: transform .18s ease; }
.ac-sort.is-open .ac-control svg { transform: rotate(180deg); }
.ac-filter__menu, .ac-sort__menu { position: absolute; top: calc(100% + 8px); right: 0; z-index: 80; display: none; overflow-y: auto; background: var(--ui-color-surface); border: 1px solid var(--ui-color-line); border-radius: var(--ui-radius-control); box-shadow: var(--ui-shadow-menu); }
.ac-filter__menu { width: min(360px, calc(100vw - 32px)); max-height: min(620px, 70vh); }
.ac-sort__menu { width: min(340px, calc(100vw - 32px)); }
.ac-filter.is-open .ac-filter__menu, .ac-sort.is-open .ac-sort__menu { display: block; }
.ac-popover__head { display: flex; min-height: 48px; align-items: center; justify-content: space-between; padding: 0 var(--ui-space-19) var(--ui-space-8); border-bottom: 1px solid var(--ui-color-line); gap: var(--ui-group-gap); }
.ac-popover__head strong {
  font: var(--ui-type-control-heading);
  letter-spacing: normal; }
.ac-popover__head button { padding: 0; color: var(--ui-color-accent); background: transparent; border: 0; cursor: pointer; font: var(--ui-type-control-small); letter-spacing: normal; }
.ac-popover__head button:disabled { color: var(--ui-color-muted); cursor: default; opacity: .42; }
.ac-filter-group { border-bottom: 1px solid var(--ui-color-line); }
.ac-filter-group:last-child { border-bottom: 0; }
.ac-filter-group__title { display: flex; width: 100%; min-height: 52px; align-items: center; justify-content: space-between; gap: var(--ui-space-15); padding: 0 var(--ui-space-19); background: transparent; border: 0; cursor: pointer; text-align: left; font: var(--ui-type-control); letter-spacing: normal; }
.ac-filter-group__title > span:last-child { display: flex; align-items: center; gap: var(--ui-space-7); }
.ac-filter-group__title b { display: grid; min-width: 22px; height: 22px; place-items: center; padding: 0 var(--ui-space-6); color: var(--ui-color-white); background: var(--ui-color-accent); border-radius: var(--ui-radius-round); font: var(--ui-type-badge); letter-spacing: normal; }
.ac-filter-group__title svg { width: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.ac-filter-group.is-open .ac-filter-group__title svg { transform: rotate(180deg); }
.ac-filter-group.has-active .ac-filter-group__title { color: var(--ui-color-accent); }
.ac-filter-group__options { display: none; }
.ac-filter-group__options.is-open { display: grid; }
.ac-filter-range { display: none; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--ui-space-8); padding: 0 var(--ui-space-9) var(--ui-space-12); }
.ac-filter-range.is-open { display: grid; }
.ac-filter-range label { display: grid; min-width: 0; gap: var(--ui-space-5); color: var(--ui-color-muted); font: var(--ui-type-caption); letter-spacing: normal; }
.ac-filter-range input { width: 100%; min-width: 0; height: 42px; padding: 0 var(--ui-space-11); color: var(--ui-color-ink); background: var(--ui-color-soft); border: 1px solid transparent; border-radius: var(--ui-radius-9); outline: none; appearance: textfield; font: var(--ui-type-field-compact); letter-spacing: normal; }
.ac-filter-range input[data-range-currency] { font-variant-numeric: tabular-nums; }
.ac-filter-range input::-webkit-inner-spin-button, .ac-filter-range input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.ac-filter-range input::placeholder { color: var(--ui-paint-fd495bdc1f); opacity: 1; }
.ac-filter-range input:focus { background: var(--ui-color-surface); border-color: var(--ui-color-ink); box-shadow: var(--ui-shadow-focus); }
.ac-filter-option { display: grid; min-height: 44px; grid-template-columns: 18px minmax(0,1fr) auto; align-items: center; gap: var(--ui-space-10); padding: 0 var(--ui-space-19); background: transparent; border: 0; border-radius: var(--ui-radius-8); cursor: pointer; text-align: left; }
.ac-filter-option:hover { background: var(--ui-color-soft); }
.ac-filter-option:disabled { cursor: not-allowed; opacity: .38; }
.ac-filter-option i { display: grid; width: 18px; height: 18px; place-items: center; align-self: center; justify-self: center; border: 1.5px solid var(--ui-paint-a51366c59f); border-radius: 5px; }
.ac-filter-option i::after {      opacity: 0;   content:""; width:16px; height:16px; background:currentColor; mask:var(--icon-glyph-eba42b61, url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204.5%204.5L19%207.5%22%2F%3E%3C%2Fsvg%3E")) center/contain no-repeat;}
.ac-filter-option.is-active i { background: var(--ui-color-accent); border-color: var(--ui-color-accent); }
.ac-filter-option.is-active i::after { opacity: 1; }
.ac-filter-option span { overflow: hidden; font-weight: var(--ui-font-weight-500); text-overflow: ellipsis; white-space: nowrap; }
.ac-filter-option b { color: var(--ui-color-muted); font: var(--ui-type-micro); letter-spacing: normal; }
.ac-sort__option { display: block; width: 100%; min-height: 44px; padding: 0 var(--ui-space-11); background: transparent; border: 0; border-radius: var(--ui-radius-8); cursor: pointer; text-align: left; font: var(--ui-type-control-small); letter-spacing: normal; }
.ac-sort__option:hover, .ac-sort__option.is-active { color: var(--ui-color-accent); background: var(--ui-color-soft); }
.ac-sort__option--distance { display: grid; min-height: 58px; align-content: center; gap: var(--ui-space-2); color: var(--ui-paint-4ff05b7656); }
.ac-sort__option--distance small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: var(--ui-type-caption); letter-spacing: normal; }
.ac-sort__option--distance.is-ready { color: var(--ui-color-accent); }
.ac-sort__option--distance.is-ready small { color: var(--ui-color-muted); }
.ac-location { position: relative; margin: var(--ui-space-4); padding: var(--ui-space-10); background: var(--ui-color-soft); border-radius: var(--ui-radius-11); }
.ac-location__field { display: grid; min-height: 46px; grid-template-columns: 18px minmax(0,1fr); align-items: center; gap: var(--ui-space-9); padding: 0 var(--ui-space-12); background: var(--ui-color-surface); border: 1px solid var(--ui-color-line); border-radius: var(--ui-radius-9); }
.ac-location__field:focus-within { border-color: var(--ui-color-ink); box-shadow: var(--ui-shadow-focus); }
.ac-location__field svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ac-location__field input { width: 100%; min-width: 0; padding: 0; color: var(--ui-color-ink); background: transparent; border: 0; outline: none; font: var(--ui-type-field-compact); letter-spacing: normal; }
.ac-location__field input::placeholder { color: var(--ui-paint-70d178269c); opacity: 1; }
.ac-location__suggestions { display: none; overflow-y: auto; max-height: 210px; margin-top: var(--ui-space-7); background: var(--ui-color-surface); border: 1px solid var(--ui-color-line); border-radius: var(--ui-radius-9); }
.ac-location__suggestions.is-visible { display: grid; }
.ac-location__suggestions button { display: grid; width: 100%; min-height: 52px; align-content: center; gap: var(--ui-space-2); padding: var(--ui-space-7) var(--ui-space-10); color: var(--ui-color-ink); background: transparent; border: 0; border-bottom: 1px solid var(--ui-color-line); cursor: pointer; text-align: left; font: var(--ui-type-field-compact); letter-spacing: normal; }
.ac-location__suggestions button:last-child { border-bottom: 0; }
.ac-location__suggestions button:hover { background: var(--ui-color-soft); }
.ac-location__suggestions span { font-weight: var(--ui-font-weight-600); }
.ac-location__suggestions small { overflow: hidden; color: var(--ui-color-muted); text-overflow: ellipsis; white-space: nowrap; font: var(--ui-type-caption); letter-spacing: normal; }
.ac-location__status { min-height: 17px; margin: var(--ui-space-7) var(--ui-space-2) 0; color: var(--ui-color-muted); font: var(--ui-type-error); letter-spacing: normal; }
.ac-location__status.is-error { color: var(--ui-paint-13c05f54c3); }
.ac-location__change { width: calc(100% - 8px); min-height: 34px; margin: var(--ui-space-2) var(--ui-space-4) var(--ui-space-4); padding: 0 var(--ui-space-7); color: var(--ui-color-muted); background: transparent; border: 0; cursor: pointer; text-align: left; font: var(--ui-type-control-small); letter-spacing: normal; }
.ac-location__change:hover { color: var(--ui-color-accent); }

.ac-state { display: flex; min-height: 260px; align-items: center; justify-content: center; gap: var(--ui-space-12); color: var(--ui-color-muted); background: var(--ui-paint-aeceb004b4); border: 1px dashed var(--ui-color-line); border-radius: var(--ui-radius-card); text-align: center; padding: var(--ui-card-inset); font: var(--ui-type-status); letter-spacing: normal; }
.ac-state.is-hidden { display: none; }
.ac-state.is-error { flex-direction: column; color: var(--ui-paint-13c05f54c3); background: var(--ui-paint-dc4329caac); border-color: var(--ui-paint-1b720d8a41); }
.ac-state.is-error button { min-height: 48px; padding: 0 var(--ui-space-22); color: var(--ui-color-white); background: var(--ui-color-ink); border: 1px solid var(--ui-color-ink); border-radius: var(--ui-radius-pill); cursor: pointer; font: inherit; font-size: var(--ui-font-size-15); }
.ac-state.is-error button:hover { color: var(--ui-color-white); background: var(--ui-paint-382bb54082); }

.ac-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: var(--ui-grid-gap); }
.ac-grid[aria-busy="true"] { min-height: 260px; }
.ac-card { min-width: 0; grid-template-rows: auto minmax(0,1fr); transition: border-color var(--motion-fast) var(--motion-ease-standard); background: var(--ui-surface-light); border-radius: var(--ui-radius-card); }
.ac-card__overlay { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.ac-card:hover { z-index: 2; border-color: var(--ui-paint-a51366c59f); box-shadow: var(--ui-shadow-none); transform: none; }
.ac-card__media { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: var(--ui-color-soft); }
.ac-card__media img { width: 100%; height: 100%; object-fit: cover; transition: scale var(--motion-media) var(--motion-ease); }
.ac-photo-nav { position: absolute; top: 0; bottom: 0; z-index: 2; width: calc(100% / 3); padding: 0; border: 0; background: transparent; touch-action: pan-y; }
.ac-photo-nav--prev { left: 0; cursor: var(--icon-glyph-82465602, url('/musicians/assets/images/photo-prev.svg?v=2')) 16 16, w-resize; }
.ac-photo-nav--next { right: 0; cursor: var(--icon-glyph-e92afd5a, url('/musicians/assets/images/photo-next.svg?v=2')) 16 16, e-resize; }
.ac-photo-nav:focus-visible {  background: transparent; }
.ac-photo-dots { position: absolute; bottom: 12px; left: 50%; z-index: 2; display: flex; align-items: center; gap: var(--ui-space-6); max-width: calc(100% - 24px); transform: translateX(-50%); pointer-events: none; }
.ac-photo-dot { display: block; width: 5px; height: 5px; flex: 0 0 auto; border-radius: var(--ui-radius-round); background: var(--ui-paint-36fa6b4020); box-shadow: var(--ui-shadow-none); transition: background-color .2s ease; }
.ac-photo-dot.is-current { background: var(--ui-color-surface); }
.ac-photo-count { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .ac-photo-dot { transition: none; } }
@media (hover: hover) and (pointer: fine) { .ac-card:hover .ac-card__media img { scale: var(--motion-zoom); } }
.ac-card__placeholder {
  font: var(--ui-type-support);
  letter-spacing: normal; }
.ac-card__favorite { position: absolute; top: 12px; right: 12px; z-index: 3; display: grid; width: 46px; height: 46px; place-items: center; padding: 0; color: var(--ui-color-ink); background: var(--ui-paint-2b274f5991); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border: 1px solid var(--ui-paint-5372eca01d); border-radius: var(--ui-radius-round); box-shadow: var(--ui-shadow-none); cursor: pointer; transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease; }
.ac-card__favorite:hover { color: var(--ui-paint-20c84c6c91); border-color: var(--ui-paint-3927b9c237); transform: scale(1.04); }
.ac-card__favorite svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ac-card__favorite.is-active { color: var(--ui-paint-20c84c6c91); border-color: var(--ui-paint-5372eca01d); }
.ac-card__favorite.is-active svg { fill: currentColor; }
.ac-card__body { display: flex; min-width: 0; flex-direction: column; gap: var(--ui-space-13); padding: var(--ui-space-20); }
.ac-card__intro { align-self: stretch; }
.ac-card__meta { display: flex; min-width: 0; flex-wrap: nowrap; align-items: center; gap: var(--ui-space-5) 0; overflow: hidden; margin-bottom: var(--ui-space-6); }
.ac-card__category, .ac-card__age, .ac-card__metro { display: inline-flex; min-height: 24px; align-items: center; color: var(--ui-color-muted); white-space: nowrap; font: var(--ui-type-caption); letter-spacing: normal; }
.ac-card__category, .ac-card__age { flex: 0 0 auto; }
.ac-card__category { position: relative; z-index: 2; margin: 0; padding: 0; background: transparent; border: 0; cursor: pointer; text-align: left; transition: color .18s ease; }
.ac-card__category:hover, .ac-card__category.is-active { color: var(--ui-color-accent); }
.ac-card__category:focus-visible { outline-offset: -2px !important; border-radius: 2px; }
.ac-card__metro { min-width: 0; flex: 1 1 auto; overflow: hidden; }
.ac-card__metro > span { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-card__age::before, .ac-card__metro::before { width: 1px; height: 14px; flex: 0 0 1px; content: ""; margin: 0 var(--ui-space-10); background: var(--ui-color-line); }
.ac-card h2 { margin: 0; font: var(--ui-type-card); letter-spacing: -.015em; }
.ac-card__description { display: -webkit-box; overflow: hidden; margin: var(--ui-space-8) 0 0; color: var(--ui-color-muted); -webkit-box-orient: vertical; line-clamp: 3; -webkit-line-clamp: 3; font: var(--ui-type-support); letter-spacing: normal; }
.ac-card__tags { display: flex; flex-wrap: wrap; align-content: flex-start; align-items: flex-start; gap: var(--ui-space-6); }
.ac-card__footer { align-items: end; justify-content: space-between; gap: var(--ui-space-14); margin-top: auto; padding-top: var(--ui-space-13); }

.ac-card__actions { display: grid; align-items: center; justify-content: end; gap: var(--ui-space-8); margin-left: auto; }

.ac-card__link { display: inline-flex; width: 100%; align-items: center; justify-content: center; padding: 0 var(--ui-space-12); border-radius: var(--ui-radius-11); text-align: center; }

.ac-card__calculate { display: inline-flex; width: 100%; min-height: 46px; align-items: center; justify-content: center; padding: 0 var(--ui-space-12); border-radius: var(--ui-radius-11); text-align: center; }
.ac-card__link { position: relative; z-index: 2; color: var(--ui-color-white); background: var(--ui-color-ink); border: 1px solid var(--ui-color-ink); transition: background-color .2s ease, border-color .2s ease; }
.ac-card__link:hover { background: var(--ui-color-accent); border-color: var(--ui-color-accent); }
.ac-card__link--repertoire { color: var(--ui-color-ink); background: var(--ui-color-surface); border-color: var(--ui-color-line); }
.ac-card__link--repertoire:hover { color: var(--ui-color-accent); background: var(--ui-color-surface); border-color: var(--ui-color-accent); }
.ac-card__calculate { position: relative; z-index: 2; color: var(--ui-color-ink); background: var(--ui-paint-73ebe876e0); border: 1px solid var(--ui-color-line); cursor: pointer; transition: color .2s ease, border-color .2s ease, background-color .2s ease; }
.ac-card__calculate:hover { color: var(--ui-color-accent); background: var(--ui-color-surface); border-color: var(--ui-color-accent); }
.ac-card__calculate:disabled { color: var(--ui-color-muted); background: var(--ui-color-soft); cursor: wait; }

.ac-footer { display: flex; min-height: 110px; align-items: center; gap: var(--ui-space-26); color: var(--ui-color-muted); border-top: 1px solid var(--ui-color-line); font: var(--ui-type-caption); letter-spacing: normal; }
.ac-footer a { margin-left: auto; color: var(--ui-color-ink); font-weight: var(--ui-font-weight-600); }
.ac-footer a + a { margin-left: 0; }

@media (max-width: 1240px) {
  .ac-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1000px) {
  .ac-tools { grid-template-columns: minmax(0,1fr) auto auto; }
  .ac-search { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .ac-header__inner { min-height: 56px; }
  .ac-header__back { width: 42px; padding: 0; justify-content: center; }
  .ac-header__back span { display: none; }
  .ac-tools { top: var(--ac-header-height, 56px); grid-template-columns: auto auto minmax(0,1fr); }
  .ac-search { grid-column: 1 / -1; min-height: 50px; }
  .ac-control { min-height: 44px; padding-inline: var(--ui-space-12); }
  .ac-filter .ac-control > span { display: none; }
  .ac-selection-actions { gap: var(--ui-space-6); }
  .ac-selection-actions .ac-control > span, .ac-selection-actions .vr-toolbar-button > span { display: none; }

  .ac-sort .ac-control { max-width: 170px; }
  .ac-filter__menu { right: auto; left: 0; max-height: min(620px, 70vh); }
  .ac-grid { grid-template-columns: minmax(0,1fr); }
  .ac-card__body { padding: var(--ui-space-18); }
  .ac-card__description { min-height: 0; }
  .ac-footer { flex-wrap: wrap; gap: var(--ui-space-8) var(--ui-space-18); padding-block: var(--ui-space-26); }
  .ac-footer span { flex-basis: 100%; }
  .ac-footer a { margin-left: 0; }
}

@media (max-width: 430px) {
  .ac-brand span { display: none; }
  .ac-header__inner { gap: var(--ui-space-12); }
  .ac-header__nav { gap: var(--ui-space-4); }
  .ac-header__section { padding-inline: var(--ui-space-12); }
  .ac-sort .ac-control { width: 100%; }
  .ac-card__footer { display: grid; width: 100%; grid-template-columns: minmax(0,1fr) auto; align-items: end; }
  .ac-card__actions { grid-template-columns: 1fr 1fr; }
  .ac-card__actions { grid-column: 1 / -1; }

  .ac-card__link { padding-inline: var(--ui-space-12); }
}

@media (max-width: 420px) {
  .ac-card__actions { width: 100%; grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.ac-action-arrow { width: 18px; height: 18px; margin-left: var(--ui-space-8); flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.5; }

.ac-card__media img.ac-photo-incoming { position: absolute; inset: 0; }

.ac-photo-zoom { position: absolute; top: 0; bottom: 0; left: calc(100% / 3); width: calc(100% / 3); z-index: 2; border: 0; padding: 0; background: transparent; cursor: var(--icon-glyph-369d10d3, url('/musicians/assets/images/photo-zoom.svg')) 16 16, zoom-in; color: var(--ui-paint-7b2817bf9b); display: grid; place-items: center; }
.ac-photo-zoom svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.6; opacity: 0; transition: opacity .15s; }
.ac-photo-zoom:focus-visible svg { opacity: 1; }
.ac-photo-touch { display: none; }
@media (hover: none), (pointer: coarse) {
  .ac-photo-nav, .ac-photo-zoom, .ac-photo-touch { display: block; position: absolute; inset: 0; z-index: 2; touch-action: pan-y; }
}
.ac-photo-lightbox { padding: 0; border: 0; background: transparent; max-width: 94vw; max-height: 94dvh; overflow: visible; }
.ac-photo-lightbox::backdrop {
  background: var(--ui-backdrop-media);
  backdrop-filter: none; }
.ac-photo-lightbox img { display: block; max-width: 94vw; max-height: 90dvh; object-fit: contain; }
.ac-photo-lightbox button { position: absolute; right: 0; top: 0; width: 44px; height: 44px; border: 0; background: var(--ui-paint-be5cc131d7); color: var(--ui-color-white); font-size: var(--ui-font-size-32); cursor: pointer; }

.ac-filter__menu, .ac-sort__menu { padding: 0; }
.ac-filter-group__options { gap: 0; padding: 0; }
.ac-filter-option { width: 100%; }
.ac-filter-option.is-active { background: var(--ui-color-soft); }

.ac-search__suggestions { padding: 0; }
.ac-search__suggestions button:hover, .ac-filter-group__title:hover { background: var(--ui-color-soft); }
.ac-card__actions { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ac-card__link, .ac-control { min-height: 50px; }
@media (max-width: 700px) {
  .ac-filter .ac-control, .ac-selection-actions .ac-control, .ac-sort .ac-control { width: 50px; min-width: 50px; height: 50px; min-height: 50px; padding: 0; }
}
@media (max-width: 430px) {
  .ac-sort .ac-control > span { display: none; }
  .ac-sort .ac-control { max-width: 50px; }
}
.ac-card__favorite svg { width: 22px; height: 22px; }
.ac-card__footer { display: block; }
.ac-card__footer .ac-card__actions { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ac-sort .ac-control > span { display: none; }
.ac-sort .ac-control { width: 50px; min-width: 50px; max-width: 50px; padding: 0; }
.ac-card__footer { border-top: 0; }



.ac-filter__close, .ac-filter__footer { display: none; }
.ac-filter-sheet { padding: 0; border: 0; color: var(--ui-color-ink); background: var(--ui-color-surface); }
.ac-filter-sheet::backdrop {
  background: var(--ui-backdrop);
  backdrop-filter: none; }

@media (max-width: 600px) {
  .ac-filter__close { display: grid; position: absolute; top: var(--ui-space-8); right: var(--ui-space-8); width: var(--ui-space-44); height: var(--ui-space-44); place-items: center; border: 0; background: transparent; color: inherit; font: inherit; font-size: var(--ui-font-size-30); cursor: pointer; }
  .ac-filter-sheet { position: fixed; inset: auto 0 0; width: 100%; max-width: 100%; max-height: calc(100dvh - var(--ui-space-16)); margin: 0; border-radius: var(--ui-radius-24) var(--ui-radius-24) 0 0; overflow: hidden; }
  .ac-filter-sheet .ac-filter__menu { position: relative; inset: auto; display: flex; flex-direction: column; width: 100%; max-height: calc(100dvh - var(--ui-space-16)); border: 0; border-radius: 0; box-shadow: none; overflow: hidden; }
  .ac-filter-sheet .ac-popover__head { flex-shrink: 0; min-height: var(--ui-space-60); padding-right: var(--ui-space-60); }
  #acFilterGroups { overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
  .ac-filter__footer { display: block; flex-shrink: 0; padding: var(--ui-space-12) var(--ui-space-16) max(var(--ui-space-16), env(safe-area-inset-bottom)); border-top: 1px solid var(--ui-color-line); background: var(--ui-color-surface); }
  .ac-filter__footer .ac-control { width: 100%; min-height: var(--ui-space-48); color: var(--ui-color-white); background: var(--ui-color-ink); }
  .ac-filter-range input { min-height: var(--ui-space-44); }
  .ac-filter-option span { white-space: normal; overflow-wrap: anywhere; }
  .ac-filter-option { padding-block: var(--ui-space-8); }
}


.ac-card__overlay:focus-visible { outline-offset: -3px !important; }


.ac-card__tags button{position:relative;z-index:2;flex:0 1 auto;}


.ac-card__tags button span{min-width:0;overflow-wrap:anywhere;}


.ac-empty{ font:var(--ui-type-status); letter-spacing:normal;}
