/* Эфика: пользовательский 7-полосный эквалайзер для эфирного и файловых плееров. */
.efika-eq-button,
.radio-eq-button,
.track-card-eq-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(143,211,255,.26);
  background:rgba(143,211,255,.09);
  color:var(--text);
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease;
}
.efika-eq-button:hover,
.radio-eq-button:hover,
.track-card-eq-button:hover{
  transform:translateY(-1px);
  border-color:rgba(143,211,255,.58);
  background:rgba(143,211,255,.17);
}
.efika-eq-button.is-active,
.radio-eq-button.is-active,
.track-card-eq-button.is-active{
  color:#061014;
  background:var(--accent);
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(143,211,255,.16);
}
.radio-eq-button{
  width:44px;
  height:44px;
  border-radius:16px;
  font-weight:800;
  font-size:18px;
  flex:0 0 auto;
}
.file-player-controls .efika-eq-button{
  min-width:42px;
  height:36px;
  border-radius:14px;
  font-size:18px;
}
.chat-preview-player .efika-eq-button{
  width:34px;
  height:30px;
  border-radius:12px;
  margin-left:6px;
}
.track-card-eq-button{
  width:32px;
  height:32px;
  border-radius:12px;
  font-weight:800;
  font-size:15px;
}
.equalizer-card{
  width:min(760px, calc(100vw - 24px));
  max-height:min(86vh, 820px);
  overflow:auto;
}
.equalizer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.equalizer-head h2{margin:0;}
.equalizer-switch{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);
  white-space:nowrap;
}
.equalizer-switch input{width:18px;height:18px;accent-color:var(--accent);}
.equalizer-presets{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 18px;
}
.equalizer-preset-button{
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.055);
  color:var(--text);
  border-radius:999px;
  padding:9px 12px;
  cursor:pointer;
}
.equalizer-preset-button.active,
.equalizer-preset-button:hover{
  border-color:rgba(143,211,255,.5);
  background:rgba(143,211,255,.16);
}
.equalizer-bands{
  display:grid;
  grid-template-columns:repeat(7, minmax(54px, 1fr));
  gap:10px;
  align-items:end;
  padding:16px;
  border-radius:22px;
  background:rgba(0,0,0,.16);
  border:1px solid rgba(255,255,255,.07);
}
.equalizer-band{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  min-width:0;
}
.equalizer-band b{
  font-size:12px;
  color:var(--muted);
  font-weight:700;
}
.equalizer-band output{
  font-variant-numeric:tabular-nums;
  font-size:12px;
  color:var(--text);
}
.equalizer-band input[type=range]{
  width:112px;
  height:26px;
  transform:rotate(-90deg);
  margin:48px -36px;
  accent-color:var(--accent);
}
.equalizer-personal{
  display:grid;
  grid-template-columns:minmax(160px,1fr) minmax(150px,1fr) auto auto;
  gap:10px;
  align-items:end;
  margin-top:18px;
}
.equalizer-personal label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px;}
.equalizer-personal input,
.equalizer-personal select{
  width:100%;
  min-height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
  color:var(--text);
  padding:0 12px;
}
.equalizer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  margin-top:18px;
}
.equalizer-status{
  min-height:20px;
  margin:12px 0 0;
}
.equalizer-status.error{color:var(--danger);}
.equalizer-status.success{color:var(--accent-2);}
@media (max-width:720px){
  .equalizer-head{flex-direction:column;align-items:stretch;}
  .equalizer-switch{justify-content:space-between;}
  .equalizer-bands{grid-template-columns:repeat(4, minmax(54px,1fr));}
  .equalizer-personal{grid-template-columns:1fr;}
  .equalizer-actions{justify-content:stretch;}
  .equalizer-actions .btn{flex:1 1 140px;}
}
@media (max-width:420px){
  .equalizer-bands{grid-template-columns:repeat(3, minmax(54px,1fr));}
  .radio-eq-button{width:40px;height:40px;border-radius:14px;}
}

/* === Efika equalizer design patch: компактные кнопки и аккуратное окно === */
.radio-control-row[data-audio-toggle-surface]{
  cursor:default!important;
}
.radio-control-row[data-audio-toggle-surface] .radio-play-button,
.radio-control-row[data-audio-toggle-surface] [data-equalizer-open]{
  cursor:pointer!important;
}
.radio-eq-button{
  position:absolute!important;
  top:9px!important;
  left:50%!important;
  z-index:5!important;
  width:29px!important;
  height:29px!important;
  min-width:29px!important;
  border-radius:10px!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  padding:0!important;
  transform:translateX(-50%)!important;
}
.radio-eq-button:hover{
  transform:translateX(-50%) translateY(-1px)!important;
}
.radio-eq-button.is-active{
  transform:translateX(-50%)!important;
}

.file-audio-player .file-player-controls{
  width:100%!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
}
.file-player-controls .efika-eq-button{
  width:25px!important;
  min-width:25px!important;
  height:25px!important;
  border-radius:9px!important;
  font-size:13px!important;
  padding:0!important;
  margin-left:auto!important;
  flex:0 0 25px!important;
}
.top-modal-file-player .file-player-controls .efika-eq-button{
  width:26px!important;
  min-width:26px!important;
  height:26px!important;
  flex-basis:26px!important;
  border-radius:9px!important;
}
.track-card-eq-button{
  width:26px!important;
  min-width:26px!important;
  height:26px!important;
  border-radius:9px!important;
  font-size:13px!important;
  padding:0!important;
  margin-left:auto!important;
}
.chat-preview-player [data-equalizer-open]{
  display:none!important;
}

.equalizer-card{
  box-sizing:border-box!important;
  padding-top:34px!important;
}
.equalizer-top-actions{
  position:absolute!important;
  top:8px!important;
  right:14px!important;
  z-index:3!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.equalizer-top-actions .efika-modal-close{
  position:static!important;
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
}
.equalizer-head{
  margin-bottom:14px!important;
  padding-right:245px!important;
}
.equalizer-switch{
  min-height:34px!important;
  padding:4px 6px!important;
  gap:8px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.equalizer-switch span{
  font-size:13px!important;
  font-weight:800!important;
  color:var(--text)!important;
}
.equalizer-switch input{
  width:18px!important;
  height:18px!important;
  flex:0 0 auto!important;
}
.equalizer-presets{
  margin-top:10px!important;
  margin-bottom:18px!important;
}
.equalizer-bands{
  grid-template-columns:repeat(7, minmax(42px,1fr))!important;
  gap:6px!important;
  padding:14px 12px!important;
}
.equalizer-band{
  gap:7px!important;
}
.equalizer-band input[type=range]{
  width:104px!important;
  margin:44px -34px!important;
}

@media (max-width:720px){
  .equalizer-card{
    padding:24px 14px 18px!important;
  }
  .equalizer-top-actions{
    top:8px!important;
    right:10px!important;
    gap:6px!important;
  }
  .equalizer-top-actions .efika-modal-close{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;
    border-radius:13px!important;
  }
  .equalizer-head{
    padding-right:0!important;
    padding-top:42px!important;
    margin-bottom:10px!important;
  }
  .equalizer-switch{
    min-height:32px!important;
    padding:2px 4px!important;
  }
  .equalizer-switch span{
    font-size:12px!important;
  }
  .equalizer-bands{
    grid-template-columns:repeat(7, minmax(34px,1fr))!important;
    gap:3px!important;
    padding:10px 6px!important;
    border-radius:18px!important;
  }
  .equalizer-band b,
  .equalizer-band output{
    font-size:10.5px!important;
    line-height:1.15!important;
    text-align:center!important;
  }
  .equalizer-band input[type=range]{
    width:92px!important;
    height:22px!important;
    margin:40px -31px!important;
  }
}
@media (max-width:420px){
  .radio-eq-button{
    top:7px!important;
    width:29px!important;
    min-width:29px!important;
    height:29px!important;
    border-radius:10px!important;
  }
  .equalizer-card{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .equalizer-switch span{
    max-width:132px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .equalizer-bands{
    grid-template-columns:repeat(7, minmax(31px,1fr))!important;
    gap:2px!important;
    padding:9px 4px!important;
  }
  .equalizer-band input[type=range]{
    width:86px!important;
    margin:38px -30px!important;
  }
}

/* === Efika equalizer live player button position patch: кнопка слева от Play === */
.radio-control-row .radio-control-copy{
  padding-right:62px!important;
}
.radio-eq-button{
  top:50%!important;
  left:auto!important;
  right:calc(20px + var(--player-button-size, 76px) + 20px)!important;
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  border-radius:11px!important;
  font-size:15px!important;
  transform:translateY(-50%)!important;
}
.radio-eq-button:hover{
  transform:translateY(-50%) translateY(-1px)!important;
}
.radio-eq-button.is-active{
  transform:translateY(-50%)!important;
}

@media (max-width:720px){
  .radio-control-row .radio-control-copy{
    padding-right:54px!important;
  }
  .radio-eq-button{
    top:50%!important;
    right:calc(14px + var(--player-button-size-mobile, 58px) + 20px)!important;
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    border-radius:11px!important;
    font-size:15px!important;
    transform:translateY(-50%)!important;
  }
  .radio-eq-button:hover{
    transform:translateY(-50%) translateY(-1px)!important;
  }
  .radio-eq-button.is-active{
    transform:translateY(-50%)!important;
  }
}

@media (max-width:420px){
  .radio-eq-button{
    top:50%!important;
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    border-radius:11px!important;
  }
}
