/* KB Beats Search PRO v1.2.0 */

:root{
  --kb-bg: rgba(18,18,22,.55);
  --kb-bg-2: rgba(255,255,255,.06);
  --kb-bd: rgba(255,255,255,.12);
  --kb-tx: rgba(255,255,255,.92);
  --kb-tx2: rgba(255,255,255,.68);
  --kb-ac: rgba(120,120,255,.9);
}

.kb-beats-search-pro{ position:relative; font-family: inherit; }

.kb-beats-search-pro .kb-searchbar{
  display:flex; gap:10px; align-items:center;
  padding:10px 10px; border-radius:16px;
  background: var(--kb-bg);
  border: 1px solid var(--kb-bd);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
}
.kb-beats-search-pro[data-sticky="true"] .kb-searchbar{
  position: sticky;
  z-index: 80;
}
.kb-beats-search-pro .kb-input{
  flex:1; min-width: 160px;
  display:flex; align-items:center; gap:8px;
  background: var(--kb-bg-2);
  border: 1px solid var(--kb-bd);
  border-radius:14px; padding:10px 12px;
}
.kb-beats-search-pro .kb-input svg{ flex:0 0 auto; opacity:.8 }
.kb-beats-search-pro .kb-input input{
  width:100%; border:0; outline:0; background:transparent;
  color: var(--kb-tx); font-size:14px; line-height:18px;
}
.kb-beats-search-pro .kb-input input::placeholder{ color: var(--kb-tx2); }

.kb-beats-search-pro .kb-btn, .kb-beats-search-pro .kb-select{
  height:40px; border-radius:14px;
  border: 1px solid var(--kb-bd);
  background: var(--kb-bg-2);
  color: var(--kb-tx);
}
.kb-beats-search-pro .kb-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:0 12px; cursor:pointer;
  transition: transform .12s ease, background .12s ease;
}
.kb-beats-search-pro .kb-btn:hover{ background: rgba(255,255,255,.09); }
.kb-beats-search-pro .kb-btn:active{ transform: scale(.98); }
.kb-beats-search-pro .kb-btn .dot{
  width:8px; height:8px; border-radius:999px; background: var(--kb-ac);
  box-shadow: 0 0 0 4px rgba(120,120,255,.12);
}
.kb-beats-search-pro .kb-select{ padding:0 10px; font-size:14px; }

.kb-beats-search-pro .kb-chips{
  margin-top:8px;
  display:flex; flex-wrap:wrap; gap:6px;
}
.kb-beats-search-pro .kb-chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px; border-radius:999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--kb-tx); font-size:12px;
}
.kb-beats-search-pro .kb-chip button{
  border:0; background:transparent; color: var(--kb-tx2);
  cursor:pointer; font-size:14px; line-height:12px; padding:0;
}

/* Overlay + panel */
.kb-overlay{
  position: fixed;
  inset:0;
  z-index: 2147483647;
  display:none;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  isolation: isolate;
}
.kb-overlay[data-open="true"]{ display:block; }

.kb-panel{
  position:absolute;
  right: 14px;
  top: 14px;
  width: min(520px, calc(100vw - 28px));
  border-radius:18px;
  background: rgba(10,10,14,.98);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 24px 70px rgba(0,0,0,.75);
  overflow:hidden;
}
.kb-panel-hd{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 14px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.kb-panel-hd strong{ color: var(--kb-tx); font-size:14px; }
.kb-x{
  width:36px; height:36px; border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: var(--kb-tx); cursor:pointer;
}
.kb-panel-bd{ padding:14px; display:grid; gap:14px; }
.kb-grid-2{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.kb-row{ display:grid; gap:6px; }
.kb-row label{ font-size:12px; color: var(--kb-tx2); }
.kb-row select, .kb-row input{
  height:42px; border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--kb-tx);
  padding:0 12px;
  outline:none;
}
.kb-help{ font-size:12px; color: var(--kb-tx2); opacity:.9; }

.kb-pills{ display:flex; flex-wrap:wrap; gap:8px; }
.kb-pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 10px; border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: var(--kb-tx); font-size:12px;
  cursor:pointer; user-select:none;
}
.kb-pill[data-on="true"]{
  border-color: rgba(120,120,255,.55);
  box-shadow: 0 0 0 4px rgba(120,120,255,.12);
}

.kb-panel-ft{
  display:flex; gap:10px; padding:14px;
  border-top: 1px solid rgba(255,255,255,.10);
}
.kb-ghost{
  flex:1; height:42px; border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  color: var(--kb-tx);
  cursor:pointer;
}
.kb-primary{
  flex:1; height:42px; border-radius:14px;
  border:1px solid rgba(120,120,255,.55);
  background: rgba(120,120,255,.22);
  color: var(--kb-tx);
  cursor:pointer;
}

/* Results container */
.kb-beats-results{ margin-top: 14px; }

/* Hide edit/remove in PREVIEW results (play-block dropdown items) */
.kb-bsp-preview .dropdown-item.btn-edit,
.kb-bsp-preview .dropdown-item.btn-remove,
.kb-bsp-preview a.btn-edit,
.kb-bsp-preview a.btn-remove{
  display:none !important;
}

/* "Voir plus" */
.kb-bsp-more{
  margin-top: 12px;
  display:flex;
  justify-content:center;
}
.kb-bsp-more-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding: 0 18px;
  border-radius: 14px;
  border: 1px solid rgba(120,120,255,.55);
  background: rgba(120,120,255,.22);
  color: rgba(255,255,255,.92);
  text-decoration:none;
  font-weight: 800;
}

/* Empty + loading */
.kb-empty{
  padding: 18px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.85);
}
.kb-loading{ opacity:.6; pointer-events:none; }
.kb-loader{
  margin: 14px 0;
  padding: 14px;
  border-radius: 16px;
  border: 1px dashed rgba(255,255,255,.14);
  color: rgba(255,255,255,.70);
  font-size: 13px;
}

/* Pagination */
.kb-pagination{
  display:flex; gap:8px; align-items:center; justify-content:center;
  margin: 14px 0 6px;
}
.kb-page-btn{
  height: 38px; min-width: 38px; padding: 0 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.90);
  cursor: pointer;
}
.kb-page-btn[aria-current="page"]{
  border-color: rgba(120,120,255,.55);
  box-shadow: 0 0 0 4px rgba(120,120,255,.12);
}
.kb-page-btn:disabled{ opacity: .4; cursor: default; }
.kb-ellipsis{ color: rgba(255,255,255,.55); padding: 0 4px; }

@media (max-width: 640px){
  .kb-panel{
    right: 0; left: 0; top: auto; bottom: 0;
    width: 100%;
    border-radius: 18px 18px 0 0;
  }
  .kb-beats-search-pro .kb-select{ display:none; }
  .kb-grid-2{ grid-template-columns: 1fr; }
}
