/**
 * Beats4Legends Pro — storefront styles.
 * Ported from the b4l-core theme (beat cards, player bar, cart drawer, license
 * modals) and made self-contained: the theme's CSS custom properties are
 * re-declared on each plugin component root so the widgets look right on ANY host
 * theme without loading the b4l-core stylesheet. Fonts degrade to system stacks.
 */

/* ── design tokens, scoped to the plugin's roots (they inherit to children) ── */
.player-bar.b4l-pro,
.b4l-cart-root.b4l-pro,
.b4l-modal,
.b4l-tier-modal,
.beat-market.b4l-pro,
.b4l-embed.b4l-pro,
.b4l-connect.b4l-pro,
.b4l-cart-inline.b4l-pro {
  --ink:#0B0B0F;--ink-2:#101017;--surface:#15151C;--surface-2:#1B1B24;--surface-3:#22222E;
  --line:rgba(255,255,255,.07);--line-2:rgba(255,255,255,.13);
  --gold:#E8B04B;--gold-bright:#F5C56B;--gold-deep:#B98527;
  --gold-glow:rgba(232,176,75,.15);--gold-faint:rgba(232,176,75,.05);
  --white:#FFFFFF;--off:#F2F0EA;--mut:#A9A9B6;--mut-2:#71717E;
  --green:#3DDC97;--red:#FF6B6B;
  --fd:'Space Grotesk','Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --fb:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
.b4l-pro *,.b4l-pro *::before,.b4l-pro *::after,
.b4l-modal *,.b4l-modal *::before,.b4l-modal *::after{box-sizing:border-box}

/* ── keyframes ── */
@keyframes b4lWavePulse{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.55)}}
@keyframes b4lBeatEq{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.35)}}
@keyframes b4lCiFlash{0%{background:var(--gold-faint)}100%{background:transparent}}

/* ── the wall ── */
.beat-market.b4l-pro{padding:3rem 1.4rem;background:var(--ink);position:relative;overflow:hidden;border-radius:16px}
.beat-market.b4l-pro .beat-market-inner{max-width:1160px;margin:0 auto;position:relative;z-index:1}
.b4l-wall-head{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;margin-bottom:2rem}
.b4l-wall-id{display:flex;align-items:center;gap:1rem;min-width:0}
.b4l-wall-avatar{width:64px;height:64px;border-radius:14px;object-fit:cover;flex-shrink:0;background:var(--surface-2);display:flex;align-items:center;justify-content:center}
.b4l-wall-avatar-i{font-family:var(--fd);font-weight:700;font-size:1.7rem;color:rgba(255,255,255,.2)}
.b4l-wall-name{font-family:var(--fd);font-size:1.5rem;font-weight:700;color:var(--off);margin:0;letter-spacing:-.01em}
.b4l-wall-bio{color:var(--mut);font-size:.86rem;margin:.2rem 0 0;line-height:1.5}
.b4l-wall-link{color:var(--gold);text-decoration:none;font-weight:700;font-size:.82rem;white-space:nowrap;flex-shrink:0}
.b4l-wall-link:hover{color:var(--gold-bright)}
.b4l-wall-empty{color:var(--mut);text-align:center;padding:2.5rem 1rem;font-size:.95rem}

/* ── beat cards ── */
.beat-market.b4l-pro .beat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.beat-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.beat-card:hover{transform:translateY(-4px);border-color:rgba(232,176,75,.3);box-shadow:0 14px 40px rgba(0,0,0,.45)}
.beat-card.is-active{border-color:rgba(232,176,75,.45)}
.beat-art{position:relative;aspect-ratio:1/1;background:var(--surface-2);display:flex;align-items:center;justify-content:center;overflow:hidden}
.beat-art img{width:100%;height:100%;object-fit:cover;display:block}
.beat-art-grad.g0,.pb-art-grad.g0{background:linear-gradient(140deg,#3A2A14 0%,var(--surface) 90%)}
.beat-art-grad.g1,.pb-art-grad.g1{background:linear-gradient(140deg,#232045 0%,var(--surface) 90%)}
.beat-art-grad.g2,.pb-art-grad.g2{background:linear-gradient(140deg,#0F2E2A 0%,var(--surface) 90%)}
.beat-art-grad.g3,.pb-art-grad.g3{background:linear-gradient(140deg,#33121F 0%,var(--surface) 90%)}
.beat-art-grad.g4,.pb-art-grad.g4{background:linear-gradient(140deg,#1C2C3F 0%,var(--surface) 90%)}
.beat-art-initial{font-family:var(--fd);font-size:2.6rem;font-weight:700;color:rgba(255,255,255,.14);letter-spacing:-.02em;user-select:none}
.beat-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.92);width:52px;height:52px;border-radius:50%;background:var(--gold);color:var(--ink);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .25s,transform .25s var(--ease),background .2s;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.beat-play .ic-play{margin-left:2px}
.beat-play .ic-pause{display:none}
.beat-card:hover .beat-play,.beat-card.is-active .beat-play,.beat-play:focus-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
.beat-play:hover{background:var(--gold-bright)}
.beat-card.is-playing .beat-play .ic-play{display:none}
.beat-card.is-playing .beat-play .ic-pause{display:block}
@media (hover:none){.beat-play{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.beat-playing-eq{position:absolute;top:.7rem;right:.7rem;display:none;align-items:flex-end;gap:2px;height:14px}
.beat-playing-eq span{width:3px;border-radius:1px;background:var(--gold);animation:b4lBeatEq 1s ease-in-out infinite;transform-origin:bottom}
.beat-playing-eq span:nth-child(1){height:60%}
.beat-playing-eq span:nth-child(2){height:100%;animation-delay:-.3s}
.beat-playing-eq span:nth-child(3){height:40%;animation-delay:-.6s}
.beat-card.is-playing .beat-playing-eq{display:flex}
.beat-card-body{padding:.95rem 1rem 1.05rem}
.beat-title{font-family:var(--fd);font-size:.98rem;font-weight:700;color:var(--off);letter-spacing:-.01em;margin:0 0 .45rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.beat-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.7rem}
.beat-chip{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);background:var(--surface-3);border:1px solid var(--line);padding:.18rem .5rem;border-radius:100px}
.beat-chip-mood{color:var(--gold);background:var(--gold-faint);border-color:rgba(232,176,75,.18)}
.beat-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.beat-from{font-size:.78rem;color:var(--mut-2)}
.beat-from strong{color:var(--off);font-weight:800}
.beat-buy{background:var(--gold);color:var(--ink);border:0;border-radius:9px;padding:8px 20px;font-family:var(--fd);font-weight:800;font-size:.85rem;cursor:pointer;transition:background .15s,transform .15s;flex:none}
.beat-buy:hover{background:var(--gold-bright);transform:translateY(-1px)}
@media(max-width:1024px){.beat-market.b4l-pro .beat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.beat-market.b4l-pro .beat-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}}

/* ── persistent player bar ── */
body.b4l-player-active{padding-bottom:88px}
.player-bar.b4l-pro{position:fixed;left:0;right:0;bottom:0;z-index:99000;background:rgba(16,16,23,.92);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-top:1px solid #2A2A35;transform:translateY(102%);transition:transform .45s var(--ease);box-shadow:0 -12px 40px rgba(0,0,0,.45);color:var(--off)}
.player-bar.b4l-pro.active{transform:translateY(0)}
.player-bar.b4l-pro *{box-sizing:border-box}
.pb-inner{max-width:1280px;margin:0 auto;padding:.7rem 1.4rem;display:flex;align-items:center;gap:1.1rem}
.pb-meta{display:flex;align-items:center;gap:.8rem;flex:0 1 220px;min-width:120px}
.pb-art{width:52px;height:52px;border-radius:9px;background:var(--surface-2);flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pb-art-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pb-art .pb-art-initial{font-family:var(--fd);font-weight:700;font-size:1.3rem;color:rgba(255,255,255,.16)}
.pb-info{min-width:0}
.pb-title{font-family:var(--fd);font-size:.92rem;font-weight:700;color:var(--off);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-chips{display:flex;gap:.45rem;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mut-2);margin-top:.15rem;white-space:nowrap}
.pb-by a{color:inherit;text-decoration:none}
.pb-genre{color:var(--gold)}
.pb-transport{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.pb-prev,.pb-next{width:34px;height:34px;border-radius:50%;background:none;border:none;color:var(--mut);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s,background .2s}
.pb-prev:hover,.pb-next:hover{color:var(--off);background:rgba(255,255,255,.06)}
.pb-play{width:44px;height:44px;border-radius:50%;background:var(--gold);border:none;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,transform .2s var(--ease);flex-shrink:0}
.pb-play:hover{background:var(--gold-bright);transform:scale(1.05)}
.pb-play .ic-play{margin-left:2px}
.player-bar.b4l-pro .pb-play .ic-pause{display:none}
.player-bar.b4l-pro.is-playing .pb-play .ic-play{display:none}
.player-bar.b4l-pro.is-playing .pb-play .ic-pause{display:block}
.pb-posbox{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;margin-left:.35rem}
.pb-pos{font-size:.7rem;font-weight:700;color:var(--mut-2);font-variant-numeric:tabular-nums}
.pb-queue{display:none}
@media(min-width:721px){.pb-queue{display:block;max-width:140px;font-size:.58rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}}
.pb-wave{display:flex;align-items:center;gap:.7rem;flex:1 1 auto;min-width:0}
.pb-time{font-size:.7rem;font-weight:700;color:var(--mut-2);font-variant-numeric:tabular-nums;flex-shrink:0;min-width:34px;text-align:center}
.pb-time-cur{color:var(--gold)}
.pb-wave-box{position:relative;flex:1;height:44px;min-width:0;cursor:pointer;touch-action:none;outline:none}
.pb-canvas{position:absolute;inset:0;width:100%;height:100%;display:none}
.pb-wave-box.has-wave .pb-canvas{display:block}
.pb-wave-box.has-wave .pb-eq{display:none}
.pb-eq{position:absolute;inset:0;display:flex;align-items:center;gap:3px}
.pb-eq span{flex:1;height:16%;border-radius:1px;background:#2A2A35;transform-origin:center;transition:background .3s}
.pb-eq span:nth-child(4n+1){height:34%}
.pb-eq span:nth-child(4n+2){height:70%}
.pb-eq span:nth-child(4n+3){height:48%}
.pb-eq span:nth-child(4n){height:84%}
.pb-eq span:nth-child(5n){height:24%}
.player-bar.b4l-pro.is-playing .pb-eq span{background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));opacity:.8;animation:b4lWavePulse 1.6s ease-in-out infinite}
.player-bar.b4l-pro.is-playing .pb-eq span:nth-child(3n){animation-delay:-.5s}
.player-bar.b4l-pro.is-playing .pb-eq span:nth-child(3n+1){animation-delay:-1.1s}
.pb-vol{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.pb-mute{background:none;border:none;color:var(--mut);width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:color .2s}
.pb-mute:hover{color:var(--off)}
.pb-mute .ic-muted{display:none}
.player-bar.b4l-pro.is-muted .pb-mute .ic-vol{display:none}
.player-bar.b4l-pro.is-muted .pb-mute .ic-muted{display:block}
.pb-vol-slider{-webkit-appearance:none;appearance:none;width:86px;height:4px;border-radius:2px;background:var(--surface-3);outline:none;cursor:pointer}
.pb-vol-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--gold);border:none;cursor:pointer}
.pb-vol-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--gold);border:none;cursor:pointer}
.pb-actions{display:flex;align-items:center;gap:.8rem;flex-shrink:0}
.pb-tiers{display:flex;align-items:center}
.pb-buy-open{display:inline-flex;flex-direction:row;align-items:center;gap:.4rem;background:var(--gold);color:var(--ink);border:0;border-radius:9px;padding:.5rem .85rem;cursor:pointer;font-family:var(--fd);line-height:1;white-space:nowrap;flex-shrink:0;transition:background .15s,transform .15s}
.pb-buy-open:hover{background:var(--gold-bright);transform:translateY(-1px)}
.pb-buy-open-ic{display:inline-flex;flex-shrink:0}
.pb-buy-open-lbl{font-weight:800;font-size:.82rem}
.pb-buy-open-from{font-size:.72rem;font-weight:600;opacity:.85}
.pb-cart{position:relative;background:none;border:1px solid rgba(233,179,74,.4);color:var(--gold);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s var(--ease)}
.pb-cart:hover{background:var(--gold-faint)}
.pb-cart-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:100px;background:var(--gold);color:var(--ink);font-size:.62rem;font-weight:800;display:none;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.pb-cart-count.has-items{display:inline-flex}
@media(max-width:900px){.pb-vol{display:none}.pb-meta{flex-basis:180px}}
@media(max-width:720px){.pb-prev,.pb-next,.pb-pos,.pb-chips{display:none}.pb-buy-open-from{display:none}.pb-inner{padding:.6rem 1rem;gap:.7rem}}

/* ── cart drawer (top slide) ── */
.b4l-cart-root.b4l-pro{position:fixed;inset:0;pointer-events:none;z-index:99500;color:var(--off);font-family:var(--fb)}
.b4l-cart-scrim{position:absolute;inset:0;background:rgba(4,4,8,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.b4l-cart-root.b4l-pro.is-pinned .b4l-cart-scrim{opacity:1;pointer-events:auto}
.b4l-cart{position:absolute;top:0;left:0;right:0;background:rgba(16,16,23,.98);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border-bottom:1px solid #2A2A35;box-shadow:0 18px 60px rgba(0,0,0,.55);transform:translateY(-100%);transition:transform .45s var(--ease);pointer-events:auto}
.b4l-cart-root.b4l-pro.is-open .b4l-cart{transform:translateY(0)}
.b4l-cart-root.b4l-pro.is-open .b4l-cart::after{content:'';position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);width:44px;height:4px;border-radius:100px;background:var(--gold);opacity:.55}
.b4l-cart-inner{max-width:600px;margin:0 auto;padding:1rem 1.4rem 1.2rem;max-height:calc(100vh - 40px);display:flex;flex-direction:column}
.b4l-cart-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--line);margin-bottom:.5rem}
.b4l-cart-head-l{display:flex;align-items:center;gap:.6rem;color:var(--gold);min-width:0}
.b4l-cart-title{font-family:var(--fd);font-size:1.08rem;font-weight:700;color:var(--off);margin:0}
.b4l-cart-count{min-width:20px;height:20px;padding:0 6px;border-radius:100px;background:var(--gold-faint);border:1px solid rgba(232,176,75,.3);color:var(--gold);font-size:.68rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.b4l-cart-x{width:34px;height:34px;flex-shrink:0;border-radius:50%;background:none;border:1px solid var(--line-2);color:var(--mut);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s var(--ease)}
.b4l-cart-x:hover{color:var(--off);border-color:rgba(232,176,75,.5)}
.b4l-cart-body{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;flex:1 1 auto}
.b4l-cart-items{list-style:none;margin:0;padding:.2rem 0}
.b4l-ci{display:flex;align-items:center;gap:.8rem;padding:.7rem .2rem;border-bottom:1px solid var(--line)}
.b4l-ci:last-child{border-bottom:none}
.b4l-ci.is-flash{animation:b4lCiFlash 1.1s var(--ease)}
.b4l-ci-art{width:46px;height:46px;border-radius:8px;flex-shrink:0;overflow:hidden;background:var(--surface-2);display:flex;align-items:center;justify-content:center;position:relative}
.b4l-ci-art img{width:100%;height:100%;object-fit:cover;display:block}
.b4l-ci-art-grad{background:linear-gradient(135deg,var(--surface-3),var(--surface-2))}
.b4l-ci-art span{font-family:var(--fd);font-weight:700;font-size:1.2rem;color:rgba(255,255,255,.18)}
.b4l-ci-main{flex:1;min-width:0}
.b4l-ci-title{font-family:var(--fd);font-size:.9rem;font-weight:700;color:var(--off);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b4l-ci-by{font-size:.72rem;color:var(--mut-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.05rem}
.b4l-ci-meta{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-top:.3rem}
.b4l-ci-tier{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--gold);background:var(--gold-faint);border:1px solid rgba(232,176,75,.22);border-radius:5px;padding:.16rem .45rem}
.b4l-ci-tier-btn{background:none;border:0;cursor:pointer;color:inherit;font:inherit;padding:0;display:inline-flex;align-items:center;gap:6px}
.ci-tier-change{font-size:.68rem;color:var(--gold);text-decoration:underline}
.b4l-ci-lic{background:none;border:none;padding:0;color:var(--mut);font-family:var(--fb);font-size:.7rem;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .2s}
.b4l-ci-lic:hover{color:var(--gold)}
.b4l-ci-side{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.b4l-ci-price{font-size:.86rem;font-weight:800;color:var(--off);font-variant-numeric:tabular-nums;white-space:nowrap}
.b4l-ci-x{width:28px;height:28px;border-radius:50%;background:none;border:1px solid var(--line-2);color:var(--mut-2);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s var(--ease)}
.b4l-ci-x:hover{color:var(--red);border-color:rgba(255,107,107,.5)}
.b4l-cart-empty{text-align:center;padding:2.2rem 1rem 2.4rem}
.b4l-cart-empty-ic{color:var(--mut-2);opacity:.6;margin-bottom:.7rem}
.b4l-cart-empty-t{font-family:var(--fd);font-size:1rem;font-weight:700;color:var(--off);margin:0 0 .35rem}
.b4l-cart-empty-s{font-size:.82rem;color:var(--mut-2);max-width:320px;margin:0 auto;line-height:1.6}
.b4l-cart-foot{padding-top:.9rem;margin-top:.5rem;border-top:1px solid var(--line);flex-shrink:0}
.b4l-cart-foot[hidden]{display:none}
.b4l-cart-subtotal-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.8rem}
.b4l-cart-subtotal-lbl{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.b4l-cart-subtotal{font-family:var(--fd);font-size:1.35rem;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}
.b4l-cart-emailrow{display:block;margin:0 0 .7rem}
.b4l-cart-emailrow > span{display:block;font-size:.74rem;font-weight:700;color:var(--mut);margin-bottom:.35rem}
.b4l-cart-emailrow input{width:100%;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;padding:.7rem .9rem;color:var(--off);font:inherit}
.b4l-cart-emailrow input:focus{outline:none;border-color:var(--gold)}
.b4l-cart-checkout{width:100%;background:var(--gold);color:var(--ink);border:none;border-radius:11px;padding:.9rem 1rem;font-family:var(--fb);font-size:.9rem;font-weight:800;cursor:pointer;transition:all .25s var(--ease)}
.b4l-cart-checkout:hover{background:var(--gold-bright);transform:translateY(-1px);box-shadow:0 8px 24px var(--gold-glow)}
.b4l-cart-checkout:disabled{opacity:.6;cursor:progress;transform:none;box-shadow:none}
.b4l-cart-error{margin:.6rem 0 0;text-align:center;font-size:.78rem;font-weight:700;color:var(--red)}
.b4l-cart-error[hidden]{display:none}
.b4l-cart-note{font-size:.72rem;color:var(--mut-2);line-height:1.55;margin:.7rem 0 0;text-align:center}
.b4l-cart-clear{display:block;margin:.7rem auto 0;background:none;border:none;color:var(--mut-2);font-family:var(--fb);font-size:.74rem;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .2s}
.b4l-cart-clear:hover{color:var(--red)}

/* in-content "open cart" button ([b4l_cart]) */
.b4l-cart-inline.b4l-pro{display:inline-flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid rgba(232,176,75,.4);color:var(--gold);border-radius:100px;padding:.55rem 1rem;font-family:var(--fb);font-weight:800;font-size:.82rem;cursor:pointer;transition:all .2s var(--ease)}
.b4l-cart-inline.b4l-pro:hover{background:var(--gold-faint)}
.b4l-cart-inline .b4l-cart-count{background:var(--gold);color:var(--ink);border:0}

/* ── license modals (tier picker / stems upsell / exclusive offer) ── */
.b4l-modal,.b4l-tier-modal{position:fixed;inset:0;z-index:99900;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(4,4,8,.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overflow-y:auto;font-family:var(--fb)}
.b4l-modal[hidden]{display:none}
.b4l-modal-box,.b4l-tier-box{position:relative;background:#15151C;border:1px solid #2A2A35;border-radius:16px;max-width:520px;width:100%;padding:26px;max-height:88vh;overflow:auto}
.b4l-modal-box h3,.b4l-tier-box h3{font-family:var(--fd);font-size:1.35rem;margin:0 0 6px;color:#fff}
.b4l-modal-sub{color:#8B8B98;font-size:.9rem;line-height:1.6;margin:0 0 16px}
.b4l-modal-close{position:absolute;top:14px;right:16px;background:none;border:0;color:#8B8B98;font-size:1.6rem;line-height:1;cursor:pointer;padding:4px}
.b4l-modal-close:hover{color:#fff}
.b4l-tier-opts{display:flex;flex-direction:column;gap:10px}
.b4l-tier-card{background:#0F0F16;border:1px solid #262633;border-radius:12px;overflow:hidden;transition:border-color .18s,background .18s}
.b4l-tier-card:hover{border-color:rgba(232,176,75,.5)}
.b4l-tier-card.is-current{border-color:#E8B04B}
.b4l-tier-card.is-expanded{border-color:rgba(232,176,75,.5)}
.b4l-tier-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px 11px;cursor:pointer}
.b4l-tier-card-top:hover{background:#16161f}
.b4l-tier-card-top:focus-visible{outline:2px solid #E8B04B;outline-offset:-2px}
.b4l-tier-card-id{display:flex;align-items:center;gap:8px;min-width:0}
.b4l-tier-card-name{font-family:var(--fd);font-weight:700;color:#fff;font-size:1rem}
.b4l-tier-card-tag{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#E8B04B;background:rgba(232,176,75,.12);border:1px solid rgba(232,176,75,.28);border-radius:5px;padding:2px 6px;white-space:nowrap}
.b4l-tier-card-price{color:#E8B04B;font-weight:700;font-size:1rem;flex:none;font-variant-numeric:tabular-nums}
.b4l-tier-card-actions{display:flex;align-items:center;gap:8px;padding:0 15px 13px}
.b4l-tier-more{flex:none;display:inline-flex;align-items:center;gap:5px;background:none;border:1px solid #2A2A35;border-radius:8px;padding:7px 11px;color:#B9B9C6;font-family:var(--fb);font-size:.78rem;font-weight:600;cursor:pointer;transition:border-color .18s,color .18s}
.b4l-tier-more:hover{border-color:#8B8B98;color:#fff}
.b4l-tier-more-caret{transition:transform .2s var(--ease)}
.b4l-tier-card.is-expanded .b4l-tier-more-caret{transform:rotate(180deg)}
.b4l-tier-add{flex:1;background:#E8B04B;color:#0B0B0F;border:0;border-radius:8px;padding:8px 12px;font-family:var(--fb);font-size:.82rem;font-weight:800;cursor:pointer;transition:background .18s,transform .18s}
.b4l-tier-add:hover{background:#F1C368;transform:translateY(-1px)}
.b4l-tier-card-detail{max-height:0;overflow:hidden;transition:max-height .28s var(--ease)}
.b4l-tier-card.is-expanded .b4l-tier-card-detail{max-height:320px}
.b4l-tier-card-detail-in{padding:0 15px 14px}
.b4l-tier-card-blurb{color:#B9B9C6;font-size:.82rem;margin:0 0 8px}
.b4l-tier-card-feats{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.b4l-tier-card-feats li{font-size:.72rem;color:#8B8B98;background:#1C1C26;border-radius:6px;padding:3px 8px}
.b4l-stems-opts{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.b4l-stems-add{text-align:left;background:#0F0F16;border:1px solid #E8B04B;border-radius:12px;padding:14px 16px;cursor:pointer;display:block;width:100%}
.b4l-stems-add:hover{background:#16161f}
.stems-add-t{font-family:var(--fd);font-weight:700;color:#fff;font-size:1rem;display:inline}
.stems-add-p{color:#E8B04B;font-weight:700;float:right}
.stems-add-s{display:block;color:#8B8B98;font-size:.78rem;margin-top:4px}
.b4l-stems-skip{background:none;border:1px solid #2A2A35;border-radius:12px;padding:12px;color:#B9B9C6;cursor:pointer;width:100%;font:inherit}
.b4l-stems-skip:hover{border-color:#8B8B98;color:#fff}
.b4l-offer-field{display:block;margin:0 0 12px}
.b4l-offer-field > span{display:block;font-size:.8rem;color:#8B8B98;margin-bottom:5px}
.b4l-offer-field input,.b4l-offer-field textarea{width:100%;background:#0F0F16;border:1px solid #262633;border-radius:9px;padding:10px 12px;color:#fff;font:inherit}
.b4l-offer-field input:focus,.b4l-offer-field textarea:focus{outline:none;border-color:#E8B04B}
.b4l-offer-input{display:flex;align-items:center;gap:6px;background:#0F0F16;border:1px solid #262633;border-radius:9px;padding:0 12px}
.b4l-offer-input span{color:#E8B04B;font-weight:700}
.b4l-offer-input input{border:0;background:none;padding:10px 0}
@media (prefers-reduced-motion:reduce){.b4l-tier-card,.b4l-tier-card-detail,.b4l-tier-more-caret,.b4l-tier-add,.b4l-tier-more,.player-bar.b4l-pro,.b4l-cart{transition:none}.beat-playing-eq span,.pb-eq span{animation:none}}

/* ── affiliate embed ── */
.b4l-embed.b4l-pro{width:100%;margin:1rem 0}
.b4l-embed.b4l-pro iframe{display:block;width:100%;border:0}

/* ── fail-closed connect prompt ── */
.b4l-connect.b4l-pro{max-width:520px;margin:1.5rem auto;padding:2rem 1.6rem;text-align:center;background:var(--surface);border:1px solid rgba(232,176,75,.25);border-radius:16px;color:var(--off);font-family:var(--fb)}
.b4l-connect-badge{width:52px;height:52px;margin:0 auto .9rem;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--gold-faint);color:var(--gold);border:1px solid rgba(232,176,75,.3)}
.b4l-connect-title{font-family:var(--fd);font-size:1.25rem;font-weight:700;color:var(--off);margin:0 0 .5rem}
.b4l-connect-sub{color:var(--mut);font-size:.9rem;line-height:1.6;margin:0 0 1.2rem}
.b4l-connect-btn{display:inline-block;background:var(--gold);color:var(--ink);text-decoration:none;font-weight:800;font-size:.85rem;padding:.7rem 1.3rem;border-radius:10px;transition:background .2s}
.b4l-connect-btn:hover{background:var(--gold-bright)}

/* ── Floating cart button (the cart trigger on producer sites) ────────────
   Shown by b4l-pro-cart.js whenever the cart has items; fixed bottom-right on
   every viewport — nothing is injected into the host theme's menus. */
.b4l-cart-fab{display:none;position:fixed;bottom:16px;right:14px;z-index:99990;align-items:center;gap:.4rem;background:var(--gold);color:var(--ink);border:none;border-radius:100px;padding:.65rem .85rem;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 0 1px rgba(232,176,75,.4);transition:transform .2s ease,box-shadow .2s ease;font:inherit}
.b4l-cart-fab:not([hidden]){display:inline-flex}
.b4l-cart-fab[hidden]{display:none !important}
.b4l-cart-fab:hover{transform:translateY(-1px);box-shadow:0 14px 36px rgba(0,0,0,.55),0 0 0 1px rgba(232,176,75,.6)}
.b4l-cart-fab-count{min-width:18px;height:18px;padding:0 5px;border-radius:100px;background:var(--ink);color:var(--gold);font-size:.66rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
