
/* Empêcher le scroll horizontal sur les pages boutique */
html, body { overflow-x: hidden !important; }

/* ISOLATION COMPLETE — evite conflits thème WordPress */
#nkbs-store, #nkbs-store * {
  font-family: 'Poppins', sans-serif !important;
  line-height: normal;
}
#nkbs-store img {
  max-width: none;
  height: auto;
}
#nkbs-store a {
  text-decoration: none !important;
}
#nkbs-store button {
  cursor: pointer;
  font-family: 'Poppins', sans-serif !important;
}
/* Police : plus d'@import ici. Il chargeait une SECONDE feuille Poppins en
   display=swap, qui écrasait le display=optional du mode allégé et ramenait
   le swap et son CLS (0,27 mesuré le 13/09 sur une fiche /beat/, avec les deux
   feuilles visibles dans l'audit). Poppins est désormais mise en file par le
   plugin (handle nkbs-fonts) hors pages allégées, et imprimée par
   nkbs_lean_fonts_head() sur les pages allégées. NE PAS RÉINTRODUIRE. */

#nkbs-store {
  --acc:#1647f9;--acc2:#0f35d4;
  --bg:#0d0d0d;--s1:#161616;--s2:#1e1e1e;--s3:#2a2a2a;
  --txt:#fff;--txt2:#aaa;--txt3:#555;
  --grn:#22c55e;--red:#ff4444;--gold:#f59e0b;--pp:#0070BA;
  --f:'Poppins',sans-serif;--m:'DM Mono',monospace;
  font-family:var(--f);background:var(--bg);color:var(--txt);
  border-radius:14px;overflow-x:hidden;overflow-y:visible;position:relative;
}
#nkbs-store * { box-sizing:border-box;margin:0;padding:0; }

/* HEADER */
.nkbs-hdr{display:flex;align-items:center;gap:14px;padding:18px 32px !important;background:var(--bg);border-bottom:1px solid var(--s3);border-radius:14px 14px 0 0}
.nkbs-sbox{display:flex;align-items:center;gap:8px;background:var(--s2) !important;border:1px solid var(--s3);border-radius:8px;padding:14px 18px !important;width:100%;cursor:text;transition:border-color .2s;min-height:52px !important}
.nkbs-sbox:focus-within{border-color:var(--acc)}
.nkbs-sbox svg{color:var(--txt3);flex-shrink:0}
.nkbs-sbox input{background:transparent !important;border:none !important;outline:none !important;color:var(--txt) !important;font-family:var(--f) !important;font-size:16px !important;width:100%}
.nkbs-sbox input::placeholder{color:var(--txt3)}

/* TRACKLIST */
.nkbs-tl{padding:10px 32px 4px !important}
.nkbs-tlh{display:grid !important;grid-template-columns:26px 1fr 56px 56px 160px !important;gap:14px;padding:8px 12px !important;border-bottom:1px solid var(--s3);margin-bottom:2px;align-items:center;min-height:44px !important}
.nkbs-th{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--txt3)}
.nkbs-th-r{text-align:right}
.nkbs-loading{display:flex;justify-content:center;padding:32px}
/* Server-rendered catalogue (crawlable). Replaced by the JS grid once loaded. */
.nkbs-seo-list{padding:8px 4px}
.nkbs-seo-list-title{font-size:15px;font-weight:600;color:var(--t2,#9a9aa5);margin:0 0 10px}
.nkbs-seo-items{list-style:none;margin:0;padding:0}
.nkbs-seo-item{padding:9px 6px;border-bottom:1px solid rgba(255,255,255,.06)}
.nkbs-seo-item a{color:#fff;text-decoration:none;font-size:14px}
.nkbs-seo-item a:hover{opacity:.75}
.nkbs-seo-meta{color:#8b8fa3;font-weight:400;font-size:12.5px}
.nkbs-seo-sold{color:#e24b4a;font-size:11px;font-weight:600;margin-left:6px}
.nkbs-spinner{width:28px;height:28px;border:2px solid var(--s3);border-top-color:var(--acc);border-radius:50%;animation:nkbs-spin .8s linear infinite}
@keyframes nkbs-spin{to{transform:rotate(360deg)}}
.nkbs-no-res{text-align:center;color:var(--txt3);padding:32px;font-size:13px}

.nkbs-tr{display:grid !important;grid-template-columns:26px 1fr 56px 56px 160px;gap:14px;align-items:center;padding:8px 12px !important;border-radius:6px;cursor:pointer;transition:background .1s;min-height:64px !important}
@media(hover:hover){.nkbs-tr:hover,.nkbs-tr:active{background:var(--s2)}}
.nkbs-tr.nkbs-on{background:rgba(22,71,249,.08)}
.nkbs-tr.nkbs-fav{border-left:2px solid var(--gold);position:sticky;top:0;z-index:10;background:var(--bg)}

/* FAVORI */
.nkbs-cell1{display:flex;align-items:center;justify-content:center;position:relative}
.nkbs-fstar{display:flex;align-items:center;justify-content:center}
.nkbs-fstar button{background:transparent;border:none;color:var(--txt3);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:color .15s,transform .15s;min-width:24px;min-height:24px}
.nkbs-fstar button:hover,.nkbs-fstar button:active{color:var(--gold);transform:scale(1.2)}
.nkbs-fstar button.nkbs-fa{color:var(--gold)}

/* NUMERO */
.nkbs-tnum{position:relative;height:18px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--txt3)}
.nkbs-tnum .nkbs-n{position:absolute;transition:opacity .15s}
.nkbs-tnum .nkbs-pi{position:absolute;opacity:0;transition:opacity .15s}
.nkbs-tr:hover .nkbs-tnum .nkbs-n,.nkbs-tr.nkbs-on .nkbs-tnum .nkbs-n{opacity:0}
.nkbs-tr:hover .nkbs-tnum .nkbs-pi,.nkbs-tr.nkbs-on .nkbs-tnum .nkbs-pi{opacity:1}
.nkbs-bars{display:flex;align-items:flex-end;gap:2px;height:13px}
.nkbs-bars b{display:block;width:3px;background:var(--acc);border-radius:1px;animation:nkbs-bv .8s ease-in-out infinite}
.nkbs-bars b:nth-child(2){animation-delay:.2s}
.nkbs-bars b:nth-child(3){animation-delay:.4s}
@keyframes nkbs-bv{0%,100%{height:2px}50%{height:13px}}

/* INFO */
.nkbs-ti{display:flex;align-items:center;gap:9px;min-width:0}
.nkbs-tt{width:48px !important;height:48px !important;border-radius:4px;overflow:hidden;flex-shrink:0;background:var(--s2);display:flex;align-items:center;justify-content:center;color:var(--txt3)}
.nkbs-tt img{width:100%;height:100%;object-fit:cover}
.nkbs-tx{min-width:0}

/* TITRE CATALOGUE — défile si en lecture */
.nkbs-tit-wrap{overflow:hidden;width:100%}
.nkbs-tit{font-size:15px !important;font-weight:600 !important;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;color:var(--txt)}
.nkbs-tr.nkbs-on .nkbs-tit{color:var(--acc)}
.nkbs-tit-wrap.nkbs-scroll .nkbs-tit{display:inline-block;overflow:visible;text-overflow:clip;white-space:nowrap;animation:nkbs-marquee 12s linear infinite}

.nkbs-sub{font-size:12px !important;color:var(--txt3);margin-top:3px !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nkbs-bpm{font-size:13px !important;color:var(--txt2);text-align:center;font-family:var(--m)}
.nkbs-tby{display:flex;justify-content:center;align-items:center}
.nkbs-bb{background:#1e1e1e;border:1px solid #333;border-radius:8px;color:#ddd;height:36px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .15s;padding:0 14px !important;white-space:nowrap}
@media(hover:hover){.nkbs-bb:hover,.nkbs-bb:active{border-color:var(--acc);color:var(--acc);background:rgba(22,71,249,.07);transform:scale(.97)}}
.nkbs-bb.nkbs-added{border-color:var(--grn);color:var(--grn);background:rgba(34,197,94,.07);cursor:default}
.nkbs-bb-txt{font-size:12px;font-weight:600;font-family:var(--f)}

/* PLAYER */
.nkbs-player{display:flex;align-items:center;gap:12px;padding:14px 32px !important;background:var(--s1);border-top:1px solid var(--s3);flex-wrap:wrap}
.nkbs-player .nkbs-ctoggle{display:none !important}
.nkbs-pthumb{width:46px;height:46px;border-radius:5px;overflow:hidden;flex-shrink:0;background:var(--s2);display:flex;align-items:center;justify-content:center;color:var(--txt3)}
.nkbs-pthumb img{width:100%;height:100%;object-fit:cover}
.nkbs-pinfo{flex:0 0 240px;min-width:0;overflow:hidden}
.nkbs-ptitle-wrap{overflow:hidden;width:100%}
.nkbs-ptitle{font-size:13px;font-weight:600;color:var(--txt);display:inline-block;white-space:nowrap;padding-right:40px;visibility:hidden}
.nkbs-ptitle.nkbs-act{color:var(--acc);visibility:visible}
.nkbs-ptitle-wrap.nkbs-scroll .nkbs-ptitle{animation:nkbs-marquee 12s linear infinite}
@keyframes nkbs-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.nkbs-pbtns-wrap{display:flex;align-items:center;gap:12px;flex-shrink:0}
.nkbs-pbtn{background:transparent;border:none;color:var(--txt2);cursor:pointer;display:flex;padding:4px;transition:color .15s;align-items:center;justify-content:center}
.nkbs-pbtn:hover{color:var(--txt)}
.nkbs-pbtn svg{width:18px;height:18px}
.nkbs-pplay{width:38px;height:38px;background:var(--txt);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s,background .15s;flex-shrink:0}
.nkbs-pplay:hover,.nkbs-pplay:active{background:var(--acc);transform:scale(.95)}
.nkbs-pplay svg{width:16px;height:16px;color:#000}
.nkbs-pctrls{display:flex;flex-direction:column;align-items:center;flex:1;gap:5px}
.nkbs-pprog{display:flex;align-items:center;gap:7px;width:100%}
.nkbs-ptime{font-size:10px;color:var(--txt3);font-family:var(--m);min-width:28px}
.nkbs-ptime.nkbs-r{text-align:right}
.nkbs-pbar{flex:1;height:3px;background:var(--s3);border-radius:2px;cursor:pointer;overflow:hidden;position:relative}
.nkbs-pfill{height:100%;background:var(--txt);width:0%;border-radius:2px;transition:width .1s linear;position:relative}
.nkbs-pprog:hover .nkbs-pfill{background:var(--acc)}
@media(max-width:768px){
  .nkbs-pbar{height:5px !important;border-radius:3px !important;overflow:visible !important;background:var(--s3) !important;padding:16px 0 !important;margin:-16px 0 !important;background-clip:content-box !important;box-sizing:content-box !important}
  .nkbs-pfill{height:5px !important;border-radius:3px !important;background:var(--acc) !important;position:relative !important}
  .nkbs-pfill::after{content:'';position:absolute;right:-7px;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background:var(--acc);opacity:0;transition:opacity .15s}
  .nkbs-pbar:active .nkbs-pfill::after,.nkbs-pbar.nkbs-scrubbing .nkbs-pfill::after{opacity:1}
  .nkbs-pbar.nkbs-scrubbing .nkbs-pfill{transition:none !important}
  .nkbs-pprog{width:100% !important;display:flex !important;align-items:center !important;gap:8px !important}
  .nkbs-ptime{font-size:10px !important;color:var(--txt3) !important;min-width:26px !important}
}
.nkbs-pvol{display:flex;align-items:center;gap:6px;color:var(--txt3);width:110px;flex-shrink:0}
.nkbs-pvol svg{width:14px;height:14px;flex-shrink:0}
#nkbs-vol{width:70px;accent-color:var(--acc);cursor:pointer}
.nkbs-ctoggle{display:flex;align-items:center;gap:8px;background:var(--acc);border:none;border-radius:9px;color:#fff;font-family:var(--f);font-size:15px;font-weight:700;padding:11px 18px;cursor:pointer;transition:all .15s;flex-shrink:0}
.nkbs-ctoggle:hover,.nkbs-ctoggle:active{background:var(--acc2);transform:scale(.95)}
.nkbs-ctoggle svg{width:22px;height:22px}
.nkbs-cbadge{background:rgba(255,255,255,.28);border-radius:999px;font-size:13px;font-weight:800;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}

/* PANIER */
.nkbs-overlay{display:none;position:fixed !important;inset:0;background:rgba(0,0,0,.65);z-index:99998 !important}
.nkbs-overlay.nkbs-show{display:block !important}
.nkbs-cpanel{
  position:fixed !important;right:0 !important;top:0 !important;bottom:0 !important;width:450px;max-width:100vw;
  background:#0f0f0f;border-left:1px solid var(--s3);
  z-index:99999 !important;display:flex !important;flex-direction:column !important;
  transform:translateX(100%);transition:transform .3s ease;
}
.nkbs-cpanel.nkbs-show{transform:translateX(0) !important}
.nkbs-chdr{display:flex;align-items:center;justify-content:space-between;padding:28px 24px;border-bottom:1px solid var(--s3);flex-shrink:0}
.nkbs-chdr h3{font-size:18px;font-weight:700}
.nkbs-cclose{background:transparent;border:1px solid var(--s3);color:var(--txt2);border-radius:6px;width:34px;height:34px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s}
.nkbs-cclose:hover{border-color:var(--red);color:var(--red)}
.nkbs-cbody{flex:1;overflow-y:auto;padding:16px 24px;min-height:0}
.nkbs-cbody::-webkit-scrollbar{width:3px}
.nkbs-cbody::-webkit-scrollbar-thumb{background:var(--s3)}
.nkbs-cempty{color:var(--txt3);font-size:13px;text-align:center;margin-top:32px}
.nkbs-citem{display:flex;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid var(--s3);overflow:hidden}
.nkbs-cithumb{width:56px;height:56px;border-radius:6px;overflow:hidden;flex-shrink:0;background:var(--s2);display:flex;align-items:center;justify-content:center;color:var(--txt3)}
.nkbs-cithumb img{width:100%;height:100%;object-fit:cover}
.nkbs-ciinfo{flex:1 1 0;min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:2px}
.nkbs-cititle-wrap{overflow:hidden;width:100%;max-width:100%}
.nkbs-cititle{font-size:14px;font-weight:600;white-space:nowrap;display:inline-block;color:#fff;max-width:100%}
.nkbs-cititle-wrap.nkbs-scroll .nkbs-cititle{animation:nkbs-cart-scroll 6s linear infinite;padding-right:60px;will-change:transform}
.nkbs-cilic{font-size:12px;color:var(--acc);margin-top:4px}
.nkbs-ciprice{font-size:14px;font-weight:700;font-family:var(--m);white-space:nowrap;margin-right:4px;flex-shrink:0}
.nkbs-cidel{background:transparent;border:none;color:var(--txt3);cursor:pointer;font-size:14px;padding:6px;transition:color .15s;flex-shrink:0}
.nkbs-cidel:hover{color:var(--red)}
.nkbs-cfoot{flex-shrink:0;padding:28px 28px 36px;border-top:1px solid var(--s3);background:#0f0f0f}
.nkbs-ctotal{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px;padding:8px 0}
.nkbs-ctotal span{font-size:15px;color:var(--txt2);font-weight:500}
.nkbs-ctotal strong{font-size:20px;font-weight:700;font-family:var(--m)}
.nkbs-paybtn{width:100%;border:none;border-radius:14px;font-family:var(--f);font-size:15px;font-weight:700;padding:18px 16px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .15s;margin-bottom:14px;white-space:nowrap}
.nkbs-paybtn:last-child{margin-bottom:0}
.nkbs-paybtn:disabled{opacity:.28;cursor:not-allowed}
.nkbs-pay-stripe{background:var(--acc);color:#fff}
.nkbs-pay-stripe:hover:not(:disabled){background:var(--acc2)}
.nkbs-pay-paypal{background:var(--pp);color:#fff}
.nkbs-pay-paypal:hover:not(:disabled){background:#005ea6}

/* DESKTOP / MOBILE ONLY */
.nkbs-desk-only{display:flex !important}
.nkbs-mob-only{display:none !important}

/* COLONNE DÉTAILS (FR desktop) */
.nkbs-detail{display:flex;align-items:center;justify-content:center;text-align:center}
.nkbs-share-col{display:flex;align-items:center;justify-content:center;text-align:center}
.nkbs-share-btn{background:#161616;border:1px solid #333;color:#888;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .15s;margin:0 auto;width:34px;height:34px;border-radius:6px}
.nkbs-share-btn:hover{color:var(--acc);border-color:var(--acc);background:rgba(22,71,249,.08)}
.nkbs-detail-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;color:#888;background:#161616;border:1px solid #333;transition:all .15s;text-decoration:none}
.nkbs-detail-btn:hover{color:var(--acc);border-color:var(--acc);background:rgba(22,71,249,.08)}

/* GRID FR — 7 colonnes (avec détails) — desktop uniquement */
@media(min-width:769px){
  .nkbs-store-fr .nkbs-tlh,
  .nkbs-store-fr .nkbs-tr,
  .nkbs-store-en .nkbs-tlh,
  .nkbs-store-en .nkbs-tr{grid-template-columns:26px 1fr 60px 60px 55px 55px 160px !important;gap:14px !important}
}

/* MENU 3 POINTS MOBILE */
.nkbs-dots{position:relative;display:flex;align-items:center;justify-content:center}
.nkbs-dots-btn{background:transparent;border:1px solid #2a2a2a;border-radius:50%;color:#666;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:all .15s;width:28px;height:28px}
.nkbs-dots-btn:hover{color:var(--txt);border-color:#444}
.nkbs-dots-menu{display:none;position:absolute;top:100%;left:0;background:#1a1a1a;border:1px solid #333;border-radius:10px;padding:6px 0;min-width:200px;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.nkbs-dots-menu.nkbs-dm-open{display:block}
.nkbs-dm-item{display:flex;align-items:center;gap:12px;padding:14px 20px;color:#ddd;font-family:'Poppins',sans-serif;font-size:14px;font-weight:500;background:transparent;border:none;cursor:pointer;width:100%;text-align:left;text-decoration:none;transition:background .1s}
.nkbs-dm-item:hover{background:#252525;text-decoration:none;color:#fff}
.nkbs-dm-item svg{flex-shrink:0;opacity:.7}
.nkbs-dm-close{display:flex;justify-content:flex-end;padding:12px 28px 8px}
.nkbs-dm-close button{background:transparent;border:none;color:#888;cursor:pointer;padding:6px;display:flex;align-items:center;transition:color .15s}
.nkbs-dm-close button:hover{color:#fff}
.nkbs-dm-close svg{width:24px !important;height:24px !important}
.nkbs-dm-fav + .nkbs-dm-share{border-top:1px solid #2a2a2a;margin-top:4px;padding-top:14px}

/* =============================================
   RESPONSIVE MOBILE — COMPLET
   ============================================= */
@media(max-width:768px){

  /* GRILLE — mobile : 3 points + titre + panier */
  .nkbs-tlh,
  .nkbs-tr{
    grid-template-columns:28px 1fr 42px !important;
    gap:6px !important;
    padding:8px 6px 8px 6px !important;
  }
  .nkbs-hsm{display:none !important}
  .nkbs-desk-only{display:none !important}
  .nkbs-mob-only{display:flex !important}
  /* Cacher la colonne # sur mobile (supprimée) */
  /* Forcer le titre visible */
  .nkbs-ti{display:flex !important;min-width:0 !important;overflow:hidden !important;flex:1 !important;gap:10px !important}
  .nkbs-tt{width:52px !important;height:52px !important;flex-shrink:0 !important;border-radius:6px !important}
  .nkbs-tx{min-width:0 !important;flex:1 1 0 !important;overflow:hidden !important;display:flex !important;flex-direction:column !important;justify-content:center !important}
  .nkbs-tit{display:block !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;font-size:13px !important}
  .nkbs-tit-wrap.nkbs-scroll .nkbs-tit{overflow:visible !important;text-overflow:clip !important}
  .nkbs-sub{font-size:11px !important}
  /* 3 points horizontaux */
  .nkbs-dots-btn svg{transform:rotate(90deg)}
  /* Menu 3 points = bottom sheet mobile */
  .nkbs-dots-menu{
    position:fixed !important;
    top:auto !important;
    bottom:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    min-width:100% !important;
    border-radius:16px 16px 0 0 !important;
    background:#1a1a1a !important;
    border:none !important;
    border-top:1px solid #333 !important;
    padding:8px 0 20px !important;
    z-index:10000 !important;
    box-shadow:0 -8px 30px rgba(0,0,0,.6) !important;
    bottom:80px !important;
  }
  .nkbs-dm-item{
    padding:16px 24px !important;
    font-size:15px !important;
    gap:14px !important;
  }
  .nkbs-dm-item svg{width:18px !important;height:18px !important;opacity:1 !important}
  /* Overlay derrière le bottom sheet */
  .nkbs-dots-menu.nkbs-dm-open::before{
    content:'';
    position:fixed;
    top:0;left:0;right:0;bottom:0;
    background:rgba(0,0,0,.5);
    z-index:-1;
  }

  /* HEADER */
  .nkbs-hdr{
    padding:14px 10px !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:10px !important;
    border-radius:0 !important;
  }
  .nkbs-sbox{
    max-width:100% !important;
    padding:12px 12px !important;
    font-size:13px !important;
    border-radius:10px !important;
    flex:1 1 0 !important;
    min-width:0 !important;
  }
  /* 16px minimum : en dessous, iOS zoome automatiquement au focus. */
  .nkbs-sbox input{font-size:16px !important}
  .nkbs-sbox svg{width:13px !important;height:13px !important;flex-shrink:0 !important}

  /* TRACKLIST */
  .nkbs-tl{padding:8px 6px 4px !important}
  .nkbs-tlh{padding:10px 8px !important}
  .nkbs-tr{
    padding:10px 8px !important;
    min-height:64px !important;
  }
  .nkbs-bb{width:42px !important;height:42px !important;border-radius:8px !important;padding:0 !important}
  .nkbs-bb svg{width:17px !important;height:17px !important}

  /* PLAYER FIXE EN BAS */
  .nkbs-player{
    position:fixed !important;
    bottom:0 !important;left:0 !important;right:0 !important;
    z-index:500 !important;
    flex-wrap:wrap !important;
    padding:10px 10px 8px !important;
    background:#111 !important;
    border-top:1px solid var(--s3) !important;
    border-radius:0 !important;
    gap:10px !important;
  }
  .nkbs-pinfo{flex:1 1 0 !important;min-width:0 !important}
  .nkbs-pvol,.nkbs-hide-xs{display:none !important}
  .nkbs-pctrls{
    order:10 !important;
    width:100% !important;
    flex:0 0 100% !important;
    flex-direction:row !important;
    gap:0 !important;
    padding:0 0 6px !important;
    display:flex !important;
    align-items:center !important;
  }
  .nkbs-pthumb{width:46px !important;height:46px !important}
  .nkbs-pplay{width:42px !important;height:42px !important}
  .nkbs-pplay svg{width:18px !important;height:18px !important}
  .nkbs-ptitle{font-size:14px !important}
  .nkbs-ctoggle{padding:10px 14px !important;font-size:14px !important;border-radius:8px !important}
  .nkbs-ctoggle svg{width:18px !important;height:18px !important}
  .nkbs-cbadge{font-size:12px !important;min-width:20px !important;height:20px !important}

  /* Espace pour le player fixe */
  #nkbs-store{padding-bottom:70px !important;border-radius:0 !important}

  /* PANIER BOTTOM SHEET AU-DESSUS DU PLAYER */
  .nkbs-overlay{
    position:fixed !important;
    inset:0 !important;
    z-index:9998 !important;
  }
  .nkbs-cpanel{
    position:fixed !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) translateY(calc(100% + 88px)) !important;
    margin:0 !important;
    top:auto !important;
    bottom:88px !important;
    width:92vw !important;
    max-width:480px !important;
    height:72vh !important;
    background:#111 !important;
    border-left:none !important;
    border-top:1px solid var(--s3) !important;
    border-radius:20px 20px 0 0 !important;
    transform:translateY(calc(100% + 88px)) !important;
    transition:transform .35s cubic-bezier(.32,.72,0,1) !important;
    display:flex !important;
    flex-direction:column !important;
    z-index:9999 !important;
    visibility:hidden !important;
    opacity:0 !important;
  }
  .nkbs-cpanel::before{
    content:'';display:block;
    width:44px;height:5px;
    background:var(--s3);border-radius:4px;
    margin:12px auto 0;flex-shrink:0;
  }
  .nkbs-cpanel.nkbs-show{
    transform:translateX(-50%) translateY(0) !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  /* Contenu panier mobile */
  .nkbs-chdr{padding:6px 16px !important}
  .nkbs-chdr h3{font-size:18px !important;font-weight:700 !important}
  .nkbs-cclose{width:38px !important;height:38px !important;font-size:16px !important}
  .nkbs-cbody{padding:12px 20px !important}
  .nkbs-citem{padding:14px 0 !important}
  .nkbs-cithumb{width:50px !important;height:50px !important;border-radius:6px !important}
  .nkbs-cititle{font-size:14px !important;font-weight:600 !important}
  .nkbs-cilic{font-size:12px !important}
  .nkbs-ciprice{font-size:15px !important;font-weight:700 !important}
  .nkbs-cidel{font-size:18px !important;padding:8px !important}
  .nkbs-cfoot{padding:8px 16px 14px !important;display:flex !important;flex-direction:column !important;align-items:stretch !important}
  .nkbs-ctotal span{font-size:14px !important}
  .nkbs-ctotal strong{font-size:26px !important}
  .nkbs-ctotal{margin-bottom:6px !important;padding:2px 0 !important;width:100% !important}
  .nkbs-pay-row{flex-direction:row !important;gap:8px !important}
  .nkbs-pay-mob{display:inline !important}
  .nkbs-pay-full{display:none !important}
  .nkbs-paybtn{
    flex:1 !important;
    font-size:12px !important;
    padding:12px 6px !important;
    border-radius:10px !important;
    margin-bottom:0 !important;
    white-space:nowrap !important;
  }
  .nkbs-contact-sep{margin:8px 0 !important;width:100% !important}
  .nkbs-contact-btn{
    width:100% !important;
    padding:9px !important;
    font-size:12px !important;
  }
  .nkbs-cpromo{padding:6px 0 !important;margin:0 0 4px !important}
}

/* =============================================
   CORRECTIFS TAGDIV — td-theme-wrap
   ============================================= */

/* Le wrapper principal TagDiv cache tout ce qui dépasse */
.td-theme-wrap {
    overflow: visible !important;
}

/* Conteneur de colonne TagDiv */
.td-pb-span12.tdc-column,
.vc_column.tdc-column.td-pb-span12,
.wpb_column.tdc-column.td-pb-span12 {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
}

/* Ligne TagDiv */
.tdc_zone.td-pb-row,
.vc_row.td-pb-row,
.wpb_row.td-pb-row,
.tdc-row {
    overflow: visible !important;
}

/* Fix index */
.td-fix-index {
    overflow: visible !important;
}

/* =============================================
   CORRECTIF SCROLLBAR HORIZONTALE
   ============================================= */

/* Empêcher la scrollbar horizontale causée par le panier fixed */
body { overflow-x: hidden !important; }
html { overflow-x: hidden !important; }

/* S'assurer que le panier est bien caché par défaut */
.nkbs-cpanel {
    visibility: hidden;
    opacity: 0;
    transition: transform .3s ease, visibility 0s linear .3s, opacity .3s ease;
}
.nkbs-cpanel.nkbs-show {
    visibility: visible;
    opacity: 1;
    transition: transform .3s ease, visibility 0s linear 0s, opacity .3s ease;
}

/* =============================================
   BOUTON PANIER — HEADER vs PLAYER
   ============================================= */

/* Desktop : bouton header visible, player caché */
.nkbs-ctoggle-hdr { display:flex !important; padding:14px 20px !important; font-size:15px !important; border-radius:10px !important; }
.nkbs-ctoggle-player { display:none !important; }

/* pinfo prend plus de place sans le bouton panier dans le player */
@media(min-width:769px){
  .nkbs-pinfo{ flex:0 0 300px !important; }
}

/* Mobile : bouton player visible, header caché */
@media(max-width:768px){
  /* Bouton panier visible dans le header sur mobile — compact, sans texte */
  .nkbs-ctoggle-hdr {
    display:flex !important;
    padding:10px 12px !important;
    font-size:0 !important; /* cacher le texte éventuel */
    border-radius:10px !important;
    flex-shrink:0 !important;
  }
  .nkbs-ctoggle-hdr svg { width:20px !important; height:20px !important; }
  .nkbs-ctoggle-hdr .nkbs-cbadge { font-size:12px !important; min-width:20px !important; height:20px !important; }
  .nkbs-ctoggle-player {
    display:flex !important;
    flex-shrink:0 !important;
  }

  /* Player — fixed en bas sur mobile */
  .nkbs-player {
    position:fixed !important;
    bottom:0 !important;
    left:0 !important;
    right:0 !important;
    top:auto !important;
    z-index:500 !important;
    width:100% !important;
    flex-wrap:wrap !important;
    padding:10px 16px 8px !important;
    background:#111 !important;
    border-top:1px solid #2a2a2a !important;
    border-radius:0 !important;
    margin:0 !important;
  }

  /* Panier — fixed géré par JS (moveToBody) */
  .nkbs-cpanel {
    position:fixed !important;
    bottom:88px !important;
    left:0 !important;
    right:0 !important;
    top:auto !important;
    width:100vw !important;
    height:72vh !important;
    z-index:9999 !important;
    transform:translateY(calc(100% + 88px)) !important;
  }
  .nkbs-cpanel.nkbs-show {
    transform:translateY(0) !important;
  }

  /* Overlay */
  .nkbs-overlay {
    position:fixed !important;
    inset:0 !important;
    z-index:9998 !important;
  }
}

/* Forcer couleurs panier après déplacement dans body */
.nkbs-cpanel * { box-sizing:border-box !important; }
.nkbs-chdr { background:#0f0f0f !important; color:#fff !important; border-bottom:1px solid #2a2a2a !important; }
.nkbs-chdr h3 { color:#fff !important; }
.nkbs-cbody { background:#0f0f0f !important; color:#fff !important; }
.nkbs-cfoot { background:#0f0f0f !important; color:#fff !important; border-top:1px solid #2a2a2a !important; }
.nkbs-cititle { color:#fff !important; }
.nkbs-cilic { color:#1647f9 !important; }
.nkbs-ciprice { color:#fff !important; }
.nkbs-ciprice-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-right:4px;flex-shrink:0}
.nkbs-ciprice-struck{text-decoration:line-through !important;color:#555 !important;font-size:12px !important;font-weight:500 !important}
.nkbs-cifree{font-size:11px;font-weight:700;color:#22c55e !important;text-transform:uppercase;letter-spacing:.03em}
.nkbs-cidel { color:#555 !important; }
.nkbs-cempty { color:#555 !important; }
.nkbs-ctotal span { color:#aaa !important; }
.nkbs-ctotal strong { color:#fff !important; }
.nkbs-cclose { background:transparent !important; border:1px solid #2a2a2a !important; color:#aaa !important; }
.nkbs-overlay { background:rgba(0,0,0,.65) !important; }
.nkbs-pay-stripe { background:#1647f9 !important; color:#fff !important; }
.nkbs-pay-paypal { background:#0070BA !important; color:#fff !important; }
.nkbs-pay-row{display:flex;flex-direction:column;gap:0}
.nkbs-pay-mob{display:none}
.nkbs-pay-full{display:inline}
.nkbs-citem { border-bottom:1px solid #2a2a2a !important; }

/* =============================================
   BOUTON CONTACT
   ============================================= */
.nkbs-contact-sep{height:1px;background:var(--s3);margin:12px 0}
.nkbs-contact-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:12px;
  background:transparent;
  border:1px solid var(--s3);
  border-radius:10px;
  color:var(--txt2);
  font-family:var(--f);font-size:13px;font-weight:500;
  text-decoration:none;
  cursor:pointer;
  transition:border-color .15s,color .15s;
  box-sizing:border-box;
}
.nkbs-contact-btn:hover{border-color:#555;color:var(--txt)}

@keyframes nkbs-cart-scroll{
  0%{transform:translateX(0)}
  70%{transform:translateX(var(--scroll-dist, -60%))}
  85%{transform:translateX(var(--scroll-dist, -60%))}
  86%{transform:translateX(0)}
  100%{transform:translateX(0)}
}

/* Boutique Instrumentales — grille sans BPM ni Clé */
.nkbs-store-instru .nkbs-tlh,
.nkbs-store-instru .nkbs-tr {
    grid-template-columns:26px 1fr 60px 160px !important;
}
@media(max-width:768px){
  .nkbs-store-instru .nkbs-tlh,
  .nkbs-store-instru .nkbs-tr {
    grid-template-columns:24px 1fr 52px !important;
  }
}

/* Bouton Voir plus */
.nkbs-load-more{text-align:center;padding:16px 0 8px}
.nkbs-more-btn{background:var(--s2);border:1px solid var(--s3);color:var(--txt2);font-family:var(--f);font-size:13px;font-weight:600;padding:10px 28px;border-radius:8px;cursor:pointer;transition:all .15s}
.nkbs-more-btn:hover{border-color:var(--acc);color:var(--acc);background:rgba(22,71,249,.07)}

/* Scroll interne tracklist — hauteur fixe 10 lignes */
#nkbs-track-list{max-height:640px;overflow-y:auto;overflow-x:hidden}
#nkbs-track-list::-webkit-scrollbar{width:4px}
#nkbs-track-list::-webkit-scrollbar-track{background:transparent}
#nkbs-track-list::-webkit-scrollbar-thumb{background:var(--s3);border-radius:4px}
#nkbs-track-list::-webkit-scrollbar-thumb:hover{background:var(--txt3)}
@media(max-width:768px){
  #nkbs-track-list{max-height:520px}
}

/* Promotion 3 pour 2 */
.nkbs-cpromo{display:flex;justify-content:space-between;align-items:center;padding:10px 0;margin:0 0 8px;border-bottom:1px dashed #2a2a2a}
.nkbs-cpromo-label{font-size:12px;font-weight:600;color:#22c55e}
.nkbs-cpromo-val{font-size:13px;font-weight:700;font-family:'DM Mono',monospace;color:#22c55e}

/* =============================================
   BOUTON CHARGER PLUS
   ============================================= */
.nkbs-load-more{padding:16px 0;text-align:center}
.nkbs-load-btn{background:transparent;border:1px solid var(--s3,#2a2a2a);color:var(--txt2,#aaa);font-family:var(--f,'Poppins',sans-serif);font-size:13px;font-weight:500;padding:10px 28px;border-radius:8px;cursor:pointer;transition:all .2s}
.nkbs-load-btn:hover{border-color:var(--acc,#1647f9);color:var(--acc,#1647f9);background:rgba(22,71,249,.06)}
.nkbs-load-count{font-size:11px;color:var(--txt3,#555);margin-left:4px}

/* LICENSE OVERLAY — styles handled inline in JS for cache reliability */

/* Option badges in cart */
.nkbs-ciopt{font-size:9px;color:#1647f9;margin-top:1px;font-style:italic}
