/* JF4186 — robust album genre filter with multi-select dialog. */
.music-view-tabs .music-genre-picker{flex:0 0 auto;margin:0}
.music-genre-trigger{
  position:relative;display:flex;align-items:center;justify-content:center;gap:7px;
  box-sizing:border-box;height:39px;margin:0;padding:8px 14px;
  border:1px solid var(--line);border-radius:999px;background:#fff;color:inherit;
  font:inherit;line-height:1.2;white-space:nowrap;cursor:pointer
}
.music-genre-picker.current .music-genre-trigger{border-color:#2f2a25;background:#2f2a25;color:#fff;font-weight:800}
.music-genre-arrow{position:static;color:currentColor;font-size:.78em;line-height:1;pointer-events:none}
.music-genre-trigger:focus-visible{outline:2px solid #8aa27a;outline-offset:2px}

.music-genre-dialog{
  box-sizing:border-box;width:min(520px,calc(100vw - 28px));max-width:none;max-height:min(76dvh,650px);
  margin:auto;padding:0;border:1px solid var(--line);border-radius:24px;
  background:#fff;color:#2f2a25;box-shadow:0 24px 70px rgba(42,32,24,.28);overflow:hidden
}
.music-genre-dialog::backdrop{background:rgba(39,31,25,.48);backdrop-filter:blur(2px)}
.music-genre-dialog form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(76dvh,650px);margin:0}
.music-genre-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:21px 22px 15px;border-bottom:1px solid var(--line)}
.music-genre-dialog header div{display:grid;gap:4px}
.music-genre-dialog header b{font-size:1.16rem}
.music-genre-dialog header small{color:#71695f;line-height:1.4}
.music-genre-dialog header button{flex:0 0 auto;width:34px;height:34px;border:0;border-radius:50%;background:#f3eee7;color:#40382f;font-size:1.45rem;line-height:1;cursor:pointer}
.music-genre-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:15px 18px;max-height:min(52dvh,440px);overflow:auto;overscroll-behavior:contain}
.music-genre-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:43px;padding:7px 11px;border:1px solid #e7ded4;border-radius:13px;background:#fff;cursor:pointer}
.music-genre-option:has(input:checked){border-color:#879c76;background:#f0f6ea;color:#33432b}
.music-genre-option input{width:18px;height:18px;margin:0;accent-color:#6f875d}
.music-genre-option span{min-width:0;overflow-wrap:anywhere}
.music-genre-option b{color:#887d70;font-size:.82rem;font-weight:700}
.music-genre-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding:14px 18px 18px;border-top:1px solid var(--line);background:#fff}
.music-genre-dialog footer button{min-height:42px;padding:9px 17px;border-radius:999px;font:inherit;font-weight:800;cursor:pointer}
.music-genre-clear{border:1px solid var(--line);background:#fff;color:#62594f}
.music-genre-apply{border:1px solid #bf6744;background:#bf6744;color:#fff}

@media(max-width:760px){
  .music-genre-trigger{height:32px;min-height:32px;padding:0 9px;font-size:.68rem}
  .music-genre-dialog{width:calc(100vw - 22px);border-radius:19px}
  .music-genre-dialog header{padding:17px 16px 12px}
  .music-genre-options{grid-template-columns:1fr;padding:12px;max-height:min(55dvh,430px)}
  .music-genre-option{min-height:42px}
  .music-genre-dialog footer{padding:11px 12px 14px}
  .music-genre-dialog footer button{flex:1;padding-inline:10px}
}

@media(max-width:420px){.music-genre-trigger{padding-inline:7px;font-size:.63rem}.music-genre-trigger{gap:4px}}

@media(orientation:landscape) and (max-width:1400px){
  html.joy-touch-music-layout .music-genre-trigger{height:36px;min-height:36px;padding:5px 12px;font-size:.74rem}
  html.joy-touch-music-layout .music-genre-dialog,html.joy-touch-music-layout .music-genre-dialog form{max-height:88dvh}
  html.joy-touch-music-layout .music-genre-options{max-height:58dvh}
}
