.b2p-dj-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.b2p-dj-card[hidden]{display:none!important}

.b2p-slider{position:relative}
.b2p-dj-grid--slider{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 24px)/3);
  grid-template-columns:none;
  gap:12px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:inline mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:2px 0 6px;
}
.b2p-dj-grid--slider::-webkit-scrollbar{display:none}
.b2p-dj-grid--slider .b2p-dj-card{scroll-snap-align:start}

.b2p-slider__arrow{
  position:absolute;
  top:50%;
  z-index:7;
  width:42px;
  height:42px;
  margin-top:-21px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  background:rgba(8,8,12,.78);
  color:#fff;
  font-size:1.45rem;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(8px);
  transition:.2s ease;
}
.b2p-slider__arrow:hover{background:#ff1271;border-color:#ff1271}
.b2p-slider__arrow:disabled{opacity:.25;cursor:default}
.b2p-slider__arrow--prev{left:-20px}
.b2p-slider__arrow--next{right:-20px}

.b2p-dj-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid #2c2c35;
  border-radius:15px;
  background:#101015;
  box-shadow:0 14px 38px rgba(0,0,0,.14);
}
.b2p-dj-card__quick{
  appearance:none;
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:#101015;
  position:relative;
  aspect-ratio:1.55/1;
  overflow:hidden;
  cursor:pointer;
}
.b2p-dj-card__image,.b2p-dj-card__placeholder{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .42s cubic-bezier(.2,.7,.2,1),filter .3s ease;
  filter:saturate(.72) contrast(1.04);
}
.b2p-dj-card__placeholder{
  display:grid;
  place-items:center;
  color:#45454f;
  font-size:3rem;
  font-weight:700;
}
.b2p-dj-card__quick:hover .b2p-dj-card__image{
  transform:scale(1.03);
  filter:saturate(.92) contrast(1.05);
}
.b2p-dj-card__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.92),rgba(0,0,0,.03) 69%);
}
.b2p-dj-card__content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:4;
  padding:18px 18px 16px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  pointer-events:none;
}
.b2p-dj-card__text{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.b2p-dj-card__text strong{
  color:#fff;
  font-size:1.12rem;
  font-weight:600;
  line-height:1.12;
}
.b2p-dj-card__text small{
  color:#d0d0d6;
  font-size:.76rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.b2p-dj-card__text em{
  color:#9696a0;
  font-size:.71rem;
  font-style:normal;
}
.b2p-dj-card__more{
  pointer-events:auto;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:36px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.53);
  border-radius:999px;
  background:rgba(7,7,10,.48);
  color:#fff;
  text-decoration:none;
  font-size:.72rem;
  font-weight:600;
  backdrop-filter:blur(6px);
  transition:.2s ease;
}
.b2p-dj-card__more:hover{background:#ff1271;border-color:#ff1271}

.b2p-filters{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1fr auto;
  gap:10px;
  margin:0 0 24px;
}
.b2p-filters input,.b2p-filters select,.b2p-filter-reset{
  width:100%;
  min-height:48px;
  border:1px solid #31313a;
  border-radius:9px;
  background:#111116;
  color:white;
  padding:0 14px;
}
.b2p-filter-reset{cursor:pointer;width:auto}

.b2p-search-panel{
  display:grid;
  grid-template-columns:1fr 1fr 1fr auto;
  gap:12px;
  align-items:end;
}
.b2p-search-panel label{display:block}
.b2p-search-panel label>span{
  display:block;
  margin:0 0 6px 10px;
  color:#8f8f99;
  font-size:.66rem;
  font-weight:500;
}
.b2p-search-panel select{
  width:100%;
  height:54px;
  padding:0 40px 0 14px;
  border:1px solid #292932;
  border-radius:8px;
  background:#131318;
  color:#fff;
  outline:none;
}
.b2p-search-panel select:focus{border-color:#4a4a58}
.b2p-search-panel__button{
  min-width:160px;
  height:54px;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid #ff1271;
  border-radius:8px;
  background:#ff1271;
  color:#fff;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(255,18,113,.22);
}

/* Modal */
html.b2p-modal-open{overflow:hidden}
.b2p-modal[hidden]{display:none}
.b2p-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  transition:opacity .18s ease;
}
.b2p-modal.is-open{opacity:1}
.b2p-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(10px);
}
.b2p-modal__dialog{
  position:relative;
  width:min(1120px,96vw);
  max-height:90vh;
  overflow:auto;
  border-radius:24px;
  background:#0b0b0f;
  border:1px solid rgba(255,31,120,.58);
  box-shadow:0 35px 120px rgba(0,0,0,.62);
}
.b2p-modal__close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:3;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid #44444d;
  background:rgba(8,8,10,.76);
  color:white;
  cursor:pointer;
  font-size:1.7rem;
}
.b2p-modal__loading{padding:70px;color:#a9a9b2;text-align:center}
.b2p-modal__grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:620px}
.b2p-modal__media{background:#111116;min-height:620px}
.b2p-modal__media img,.b2p-modal__placeholder{
  width:100%;
  height:100%;
  object-fit:cover;
  min-height:620px;
}
.b2p-modal__placeholder{display:grid;place-items:center;color:#41414a;font-size:4rem;font-weight:700}
.b2p-modal__content{padding:58px 56px}
.b2p-modal__eyebrow{margin:0 0 10px;color:#ff1f78;font-size:.72rem;font-weight:600;letter-spacing:.18em}
.b2p-modal__content h2{margin:0 0 10px;color:#fff;font-size:clamp(2.8rem,5vw,5.4rem);line-height:.92;letter-spacing:-.055em}
.b2p-modal__location{color:#c4c4cb}
.b2p-modal__tags{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.b2p-modal__tags span{padding:7px 12px;border:1px solid rgba(255,31,120,.65);border-radius:999px;font-size:.8rem}
.b2p-modal__lead{color:#e0e0e5;font-size:1.04rem}
.b2p-modal__bio{color:#b9b9c1;font-size:.96rem;max-height:210px;overflow:auto}
.b2p-modal__socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.b2p-modal__socials a{padding:8px 12px;color:#e5e5e8;text-decoration:none;border:1px solid #34343e;border-radius:9px}
.b2p-modal__actions{margin-top:28px}
.b2p-modal__primary{
  display:inline-flex;
  min-height:50px;
  align-items:center;
  justify-content:center;
  padding:0 20px;
  background:#ff1f78;
  color:white;
  text-decoration:none;
  border-radius:10px;
  font-weight:600;
}
.b2p-empty{color:#9e9ea8}

@media(max-width:980px){
  .b2p-dj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .b2p-dj-grid--slider{grid-auto-columns:calc((100% - 12px)/2)}
  .b2p-slider__arrow--prev{left:-12px}
  .b2p-slider__arrow--next{right:-12px}
  .b2p-search-panel{grid-template-columns:1fr 1fr}
  .b2p-search-panel__button{width:100%}
  .b2p-filters{grid-template-columns:1fr 1fr}
  .b2p-modal{padding:10px}
  .b2p-modal__dialog{width:100%;max-height:96vh}
  .b2p-modal__grid{grid-template-columns:1fr}
  .b2p-modal__media,.b2p-modal__media img,.b2p-modal__placeholder{min-height:400px;max-height:54vh}
  .b2p-modal__content{padding:34px 24px}
}
@media(max-width:680px){
  .b2p-dj-grid{grid-template-columns:1fr 1fr;gap:9px}
  .b2p-dj-grid--slider{
    grid-auto-columns:84%;
    gap:10px;
    padding-right:14%;
  }
  .b2p-slider__arrow{display:none}
  .b2p-dj-card__quick{aspect-ratio:1.18/1}
  .b2p-dj-card__content{padding:15px}
  .b2p-dj-card__text strong{font-size:1rem}
  .b2p-dj-card__text em{display:none}
  .b2p-dj-card__more{min-height:34px;padding:0 10px}
  .b2p-search-panel,.b2p-filters{grid-template-columns:1fr}
  .b2p-search-panel select,.b2p-search-panel__button{height:52px}
}


/* DEMO IMAGE PLACEHOLDER — v0.2.1 */
.b2p-dj-card__placeholder{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:
    radial-gradient(circle at 70% 22%, rgba(255,18,113,.24), transparent 26%),
    radial-gradient(circle at 28% 70%, rgba(105,62,255,.14), transparent 30%),
    linear-gradient(145deg,#17171d,#08080b 72%);
  color:#fff;
}
.b2p-dj-card__placeholder::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,transparent 35%,rgba(255,255,255,.025) 35.5%,transparent 36%);
  pointer-events:none;
}
.b2p-dj-card__placeholder b{
  position:relative;
  font-size:clamp(2.4rem,5vw,4.4rem);
  line-height:1;
  font-weight:600;
  letter-spacing:-.06em;
}
.b2p-dj-card__placeholder small{
  position:relative;
  color:#9c9ca6;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.58rem;
}


/* SHOWREEL — external video only */
.b2p-showreel{
  position:relative;
  overflow:hidden;
  min-height:300px;
  aspect-ratio:16/9;
  border:1px solid #383843;
  border-radius:8px;
  background:
    radial-gradient(circle at 65% 20%,rgba(255,18,113,.22),transparent 32%),
    #101015;
}
.b2p-showreel>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.b2p-showreel__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.34));
}
.b2p-showreel__label,
.b2p-showreel__duration,
.b2p-showreel__caption{
  position:absolute;
  z-index:2;
  color:#eeeef2;
  font-size:.58rem;
  font-weight:600;
  letter-spacing:.12em;
}
.b2p-showreel__label{top:18px;left:22px}
.b2p-showreel__duration{top:18px;right:22px}
.b2p-showreel__caption{
  left:22px;
  bottom:20px;
  letter-spacing:.22em;
}
.b2p-showreel__caption::before{
  content:"";
  display:inline-block;
  width:36px;
  height:2px;
  margin-right:12px;
  vertical-align:middle;
  background:#ff1271;
}
.b2p-showreel__play{
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  padding-left:5px;
  border:2px solid rgba(255,255,255,.88);
  border-radius:50%;
  background:rgba(6,6,10,.63);
  color:#fff;
  font-size:1.55rem;
  cursor:pointer;
  backdrop-filter:blur(6px);
  transition:.2s ease;
}
.b2p-showreel__play:hover{
  transform:translate(-50%,-50%) scale(1.04);
  background:#ff1271;
  border-color:#ff1271;
}
.b2p-showreel--empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:30px;
  text-align:center;
  color:#9898a2;
}
.b2p-showreel--empty span{
  color:#fff;
  font-weight:600;
  letter-spacing:.18em;
  font-size:.68rem;
}

.b2p-video-lightbox{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:30px;
  background:rgba(0,0,0,.90);
  backdrop-filter:blur(12px);
}
.b2p-video-lightbox__content{
  width:min(1100px,94vw);
}
.b2p-video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
}
.b2p-video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.b2p-video-lightbox__close{
  position:fixed;
  top:22px;
  right:22px;
  width:46px;
  height:46px;
  border:1px solid #4a4a54;
  border-radius:50%;
  background:#111116;
  color:#fff;
  font-size:1.6rem;
  cursor:pointer;
}

/* Testimonials */
.b2p-testimonial-slider{
  min-width:0;
  position:relative;
}
.b2p-testimonial-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:100%;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.b2p-testimonial-track::-webkit-scrollbar{display:none}
.b2p-testimonial{
  position:relative;
  min-height:100px;
  padding:18px 78px 18px 44px;
  scroll-snap-align:start;
  border:1px solid #24242c;
  border-radius:7px;
  background:linear-gradient(145deg,#141419,#101014);
}
.b2p-testimonial__quote{
  position:absolute;
  top:12px;
  left:18px;
  color:#ff1271;
  font-size:2rem;
  line-height:1;
  font-weight:700;
}
.b2p-testimonial blockquote{
  margin:0;
  color:#d0d0d6;
  font-size:.74rem;
  line-height:1.5;
}
.b2p-testimonial blockquote p{margin:0}
.b2p-testimonial>span{
  display:block;
  margin-top:8px;
  color:#8d8d97;
  font-size:.62rem;
}
.b2p-testimonial-controls{
  position:absolute;
  right:12px;
  bottom:12px;
  display:flex;
  gap:7px;
}
.b2p-testimonial-controls button{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #44444e;
  border-radius:50%;
  background:#16161c;
  color:#cfcfd6;
  cursor:pointer;
}
.b2p-testimonial-controls button:hover{
  border-color:#ff1271;
  color:#ff1271;
}
.b2p-testimonial--sample{
  padding-right:24px;
}

@media(max-width:680px){
  .b2p-showreel{
    min-height:220px;
  }
  .b2p-showreel__play{
    width:62px;
    height:62px;
  }
  .b2p-video-lightbox{
    padding:12px;
  }
  .b2p-testimonial{
    padding:18px 58px 18px 38px;
  }
}


/* ==========================================================
   DJ QUICK VIEW — FINAL PREMIUM MODAL — v1.1.2
   ========================================================== */
.b2p-modal{
  padding:18px;
}
.b2p-modal__backdrop{
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(13px);
}
.b2p-modal__dialog{
  width:min(1000px,94vw);
  max-height:min(88vh,760px);
  overflow:auto;
  border:1px solid rgba(255,15,114,.86);
  border-radius:18px;
  background:
    radial-gradient(circle at 78% 10%,rgba(255,15,114,.06),transparent 24%),
    linear-gradient(145deg,#090c10,#07090c 68%,#0b0d11);
  box-shadow:
    0 28px 90px rgba(0,0,0,.72),
    0 0 34px rgba(255,15,114,.20),
    inset 0 1px 0 rgba(255,255,255,.025);
}
.b2p-modal__close{
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-color:#49515b;
  background:rgba(8,11,15,.82);
  font-size:1.35rem;
  line-height:1;
  transition:.2s ease;
}
.b2p-modal__close:hover{
  color:#fff;
  border-color:var(--pink,#ff1271);
  background:#ff1271;
}
.b2p-modal__grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  min-height:610px;
  padding:22px 22px 44px;
  gap:28px;
}
.b2p-modal__media{
  position:relative;
  min-height:540px;
  overflow:hidden;
  border:1px solid #2c323b;
  border-radius:7px;
  background:#0b0e12;
}
.b2p-modal__media>img,
.b2p-modal__placeholder{
  width:100%;
  height:100%;
  min-height:540px;
  object-fit:cover;
  object-position:center top;
}
.b2p-modal__media-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.02) 52%,rgba(0,0,0,.73)),
    linear-gradient(90deg,rgba(0,0,0,.13),transparent 42%);
  pointer-events:none;
}
.b2p-modal__placeholder{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:
    radial-gradient(circle at 65% 22%,rgba(255,15,114,.20),transparent 25%),
    linear-gradient(145deg,#151922,#080a0e 72%);
  color:#fff;
}
.b2p-modal__placeholder strong{font-size:4rem;letter-spacing:-.06em}
.b2p-modal__placeholder small{color:#8e96a0;letter-spacing:.2em;text-transform:uppercase;font-size:.56rem}
.b2p-modal__media-brand{
  position:absolute;
  z-index:2;
  top:34px;
  left:30px;
  color:#d9dde2;
  font-size:.58rem;
  line-height:1.65;
  letter-spacing:.42em;
  font-weight:600;
}
.b2p-modal__media-brand span{
  display:block;
  width:32px;
  height:2px;
  margin-top:14px;
  background:#ff1271;
}
.b2p-modal__media-script{
  position:absolute;
  z-index:2;
  left:28px;
  bottom:34px;
  color:#fff;
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:1.55rem;
  line-height:1.08;
  transform:rotate(-6deg);
  text-shadow:0 4px 20px rgba(0,0,0,.65);
}
.b2p-modal__media-script span{
  display:block;
  width:80px;
  height:2px;
  margin:12px 0 0 14px;
  background:#ff1271;
}
.b2p-modal__content{
  min-width:0;
  padding:18px 0 6px!important;
  display:flex;
  flex-direction:column;
}
.b2p-modal__artist-head{padding-right:42px}
.b2p-modal__eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 6px;
  color:#c6cbd2;
  font-size:.58rem;
  font-weight:600;
  letter-spacing:.17em;
}
.b2p-modal__eyebrow>span{
  width:28px;
  height:2px;
  background:#ff1271;
}
.b2p-modal__content h2{
  margin:0 0 8px;
  color:#fff;
  font-size:clamp(2.7rem,4.1vw,4.25rem);
  line-height:.94;
  letter-spacing:-.055em;
  font-weight:650;
}
.b2p-modal__location{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
  color:#c1c6cd;
  font-size:.78rem;
}
.b2p-modal__location svg{
  width:16px;
  height:16px;
  color:#ff1271;
  flex:0 0 auto;
}
.b2p-modal__tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:13px 0 0;
}
.b2p-modal__tags span{
  min-width:72px;
  padding:6px 11px;
  border:1px solid #ff1271;
  border-radius:999px;
  color:#f0f1f3;
  background:rgba(255,15,114,.025);
  text-align:center;
  font-size:.65rem;
}
.b2p-modal__copy{
  margin-top:18px;
}
.b2p-modal__lead,
.b2p-modal__bio{
  margin:0;
  color:#bbc1c8;
  font-size:.76rem;
  line-height:1.48;
}
.b2p-modal__lead{
  margin-bottom:10px;
  color:#d6d9dd;
  font-size:.79rem;
}
.b2p-modal__bio{
  max-height:none;
  overflow:visible;
}
.b2p-modal__socials{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:15px;
}
.b2p-modal__social{
  width:34px;
  height:34px;
  display:grid!important;
  place-items:center;
  padding:0!important;
  border:1px solid #ff1271!important;
  border-radius:6px!important;
  background:rgba(255,15,114,.07)!important;
  color:#fff!important;
}
.b2p-modal__social svg{width:18px;height:18px}
.b2p-modal__social span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.b2p-modal__social:hover{background:#ff1271!important}
.b2p-modal__music{
  margin-top:15px;
  min-height:152px;
  overflow:hidden;
  border:1px solid #343a43;
  border-radius:9px;
  background:#111419;
}
.b2p-modal__music iframe{
  display:block;
  width:100%;
  height:152px;
  border:0;
}
.b2p-modal__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:auto;
  padding-top:15px;
}
.b2p-modal__book,
.b2p-modal__profile{
  min-height:47px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 14px;
  border-radius:7px;
  text-decoration:none;
  font-size:.72rem;
  font-weight:650;
  transition:.2s ease;
}
.b2p-modal__book{
  border:1px solid #ff1271;
  background:#ff1271;
  color:#fff;
  box-shadow:0 8px 22px rgba(255,15,114,.20);
}
.b2p-modal__profile{
  border:1px solid #ff1271;
  background:transparent;
  color:#fff;
}
.b2p-modal__book svg,
.b2p-modal__profile svg{width:15px;height:15px}
.b2p-modal__book:hover{background:#e70b65;border-color:#e70b65;transform:translateY(-1px)}
.b2p-modal__profile:hover{background:rgba(255,15,114,.09);transform:translateY(-1px)}
.b2p-modal__footer-brand{
  position:absolute;
  left:22px;
  bottom:16px;
  color:#8b929c;
  font-size:.48rem;
  letter-spacing:.35em;
  text-transform:uppercase;
}
.b2p-modal__footer-brand span{margin-left:10px;color:#b8bec5}

@media(min-width:981px) and (max-height:820px){
  .b2p-modal__dialog{max-height:92vh}
  .b2p-modal__grid{min-height:560px;padding:18px 18px 38px;gap:24px}
  .b2p-modal__media,.b2p-modal__media>img,.b2p-modal__placeholder{min-height:500px}
  .b2p-modal__content h2{font-size:3rem}
  .b2p-modal__copy{margin-top:14px}
  .b2p-modal__lead,.b2p-modal__bio{font-size:.70rem;line-height:1.42}
  .b2p-modal__music,.b2p-modal__music iframe{height:132px;min-height:132px}
  .b2p-modal__actions{padding-top:12px}
}
@media(max-width:980px){
  .b2p-modal{padding:9px}
  .b2p-modal__dialog{width:100%;max-height:96vh;border-radius:15px}
  .b2p-modal__grid{grid-template-columns:1fr;min-height:0;padding:16px 16px 40px;gap:0}
  .b2p-modal__media{min-height:360px;max-height:56vh}
  .b2p-modal__media>img,.b2p-modal__placeholder{min-height:360px;max-height:56vh}
  .b2p-modal__content{padding:24px 4px 6px!important}
  .b2p-modal__artist-head{padding-right:0}
  .b2p-modal__content h2{font-size:2.75rem}
  .b2p-modal__footer-brand{left:20px;bottom:14px}
}
@media(max-width:620px){
  .b2p-modal__dialog{border-radius:13px}
  .b2p-modal__grid{padding:12px 12px 36px}
  .b2p-modal__media{min-height:330px;max-height:47vh}
  .b2p-modal__media>img,.b2p-modal__placeholder{min-height:330px;max-height:47vh}
  .b2p-modal__media-brand{top:22px;left:20px;font-size:.50rem}
  .b2p-modal__media-script{left:18px;bottom:24px;font-size:1.25rem}
  .b2p-modal__content{padding-top:20px!important}
  .b2p-modal__content h2{font-size:2.35rem}
  .b2p-modal__location{font-size:.72rem}
  .b2p-modal__tags span{min-width:0;font-size:.61rem;padding:5px 9px}
  .b2p-modal__lead,.b2p-modal__bio{font-size:.72rem;line-height:1.48}
  .b2p-modal__music,.b2p-modal__music iframe{height:152px;min-height:152px}
  .b2p-modal__actions{grid-template-columns:1fr}
  .b2p-modal__book,.b2p-modal__profile{width:100%}
  .b2p-modal__footer-brand{font-size:.42rem;letter-spacing:.26em}
}


/* DJ FLOW CLEANUP — v1.1.3 */
.b2p-dj-card__more{font:inherit;cursor:pointer}
button.b2p-dj-card__more{appearance:none;-webkit-appearance:none}
.b2p-modal__actions{grid-template-columns:1fr!important}
.b2p-modal__book{width:100%;min-height:49px}


/* Modal load-state hardening — v1.1.4 */
.b2p-modal__load-error{
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:30px;
  text-align:center;
  color:#fff;
}
.b2p-modal__load-error strong{font-size:1rem}
.b2p-modal__load-error span{color:#9299a4;font-size:.78rem}


/* ==========================================================
   PREMIUM SOCIAL LINKS — v1.2.1
   ========================================================== */
.b2p-modal__socials{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:9px!important;
  margin-top:16px!important;
}
.b2p-modal__social{
  position:relative;
  width:auto!important;
  min-width:108px;
  height:38px!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  padding:0 13px!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(20,23,29,.95),rgba(12,14,18,.98))!important;
  color:#e8e9ec!important;
  text-decoration:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 24px rgba(0,0,0,.14);
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.b2p-modal__social svg{
  flex:0 0 auto;
  width:17px!important;
  height:17px!important;
  color:#d9dbe0;
  transition:color .18s ease,transform .18s ease;
}
.b2p-modal__social span{
  position:static!important;
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  clip:auto!important;
  white-space:nowrap;
  color:#c9ccd2;
  font-size:.66rem;
  line-height:1;
  font-weight:600;
  letter-spacing:.015em;
  transition:color .18s ease;
}
.b2p-modal__social::after{
  content:"↗";
  margin-left:auto;
  color:#727985;
  font-size:.62rem;
  line-height:1;
  transition:color .18s ease,transform .18s ease;
}
.b2p-modal__social:hover,
.b2p-modal__social:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(255,18,113,.72)!important;
  background:linear-gradient(180deg,rgba(255,18,113,.11),rgba(15,15,20,.98))!important;
  color:#fff!important;
  box-shadow:0 9px 26px rgba(255,18,113,.10),inset 0 1px 0 rgba(255,255,255,.04);
  outline:none;
}
.b2p-modal__social:hover svg,
.b2p-modal__social:focus-visible svg{
  color:#ff1271;
  transform:scale(1.04);
}
.b2p-modal__social:hover span,
.b2p-modal__social:focus-visible span{
  color:#fff;
}
.b2p-modal__social:hover::after,
.b2p-modal__social:focus-visible::after{
  color:#ff1271;
  transform:translate(1px,-1px);
}

/* YouTube keeps the same premium system; no solid brand-colored block. */
.b2p-modal__social--youtube svg path:last-child{
  fill:currentColor;
}

@media(max-width:560px){
  .b2p-modal__socials{
    gap:8px!important;
  }
  .b2p-modal__social{
    min-width:0;
    flex:1 1 calc(50% - 4px);
    max-width:180px;
    height:40px!important;
  }
  .b2p-modal__social span{
    font-size:.68rem;
  }
}


/* ==========================================================
   SHARE DJ + PLAYER PRESERVATION — v1.2.2
   ========================================================== */
.b2p-modal__network-row{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
}
.b2p-modal__network-row .b2p-modal__socials{margin-top:0!important}
.b2p-modal__share{position:relative;margin-left:auto}
.b2p-modal__share-trigger{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 13px;
  border:1px solid #343a43;
  border-radius:999px;
  background:#11151a;
  color:#d9dde2;
  font-size:.68rem;
  font-weight:600;
  cursor:pointer;
  transition:.18s ease;
}
.b2p-modal__share-trigger svg{width:16px;height:16px;color:#ff1271}
.b2p-modal__share-trigger:hover,
.b2p-modal__share-trigger[aria-expanded="true"]{border-color:rgba(255,18,113,.65);background:#17131a;color:#fff}
.b2p-modal__share-menu{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  z-index:30;
  width:190px;
  padding:6px;
  border:1px solid #303741;
  border-radius:12px;
  background:#0e1217;
  box-shadow:0 16px 45px rgba(0,0,0,.48);
}
.b2p-modal__share-menu[hidden]{display:none!important}
.b2p-modal__share-menu a,
.b2p-modal__share-menu button{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 10px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#cdd2d9;
  font-size:.68rem;
  text-decoration:none;
  cursor:pointer;
  text-align:left;
}
.b2p-modal__share-menu a:hover,
.b2p-modal__share-menu button:hover{background:#171c23;color:#fff}
.b2p-modal__share-menu svg{width:16px;height:16px;color:#ff1271;flex:0 0 16px}
.b2p-modal__music{
  margin-top:14px!important;
  overflow:hidden;
  border:1px solid #313740;
  border-radius:10px;
  background:#0a0d11;
}
.b2p-modal__music iframe{
  display:block;
  width:100%;
  border:0;
}
@media(max-width:680px){
  .b2p-modal__network-row{align-items:flex-start;flex-direction:column}
  .b2p-modal__share{margin-left:0;width:100%}
  .b2p-modal__share-trigger{width:100%;border-radius:9px}
  .b2p-modal__share-menu{left:0;right:auto;width:min(100%,260px)}
}


/* ==========================================================
   FULL BIOGRAPHY + PREMIUM MODAL FLOW — v1.2.3
   ========================================================== */
.b2p-modal__dialog{
  scrollbar-width:thin;
  scrollbar-color:#34343e transparent;
}
.b2p-modal__dialog::-webkit-scrollbar{width:7px}
.b2p-modal__dialog::-webkit-scrollbar-track{background:transparent}
.b2p-modal__dialog::-webkit-scrollbar-thumb{background:#34343e;border-radius:99px}
.b2p-modal__dialog::-webkit-scrollbar-thumb:hover{background:#4b4b57}

.b2p-modal__grid{
  align-items:start;
  min-height:0!important;
}
.b2p-modal__media{
  position:sticky;
  top:0;
  align-self:start;
  height:min(82vh,760px);
  min-height:620px!important;
  overflow:hidden;
}
.b2p-modal__media img,
.b2p-modal__placeholder{
  height:100%!important;
  min-height:0!important;
}
.b2p-modal__content{
  min-width:0;
  padding:48px 46px 42px!important;
}
.b2p-modal__artist-head{
  margin-bottom:22px;
}
.b2p-modal__content h2{
  margin-bottom:12px!important;
}
.b2p-modal__location{
  margin:0;
  display:flex;
  align-items:center;
  gap:7px;
  line-height:1.45;
}
.b2p-modal__tags{
  margin:18px 0 0!important;
}
.b2p-modal__copy{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:24px;
}
.b2p-modal__lead,
.b2p-modal__bio{
  margin:0!important;
}
.b2p-modal__lead{
  color:#ececf0!important;
  font-size:.95rem!important;
  line-height:1.6!important;
  font-weight:500;
}
.b2p-modal__bio{
  max-height:none!important;
  overflow:visible!important;
  color:#bcbcc5!important;
  font-size:.88rem!important;
  line-height:1.68!important;
  white-space:normal;
  overflow-wrap:anywhere;
}
.b2p-modal__network-row{
  margin-top:22px;
}
.b2p-modal__music{
  margin-top:18px;
}
.b2p-modal__actions{
  margin-top:18px!important;
  padding-top:2px;
}
.b2p-modal__book{
  min-height:54px;
}

@media(min-width:981px){
  .b2p-modal__dialog{
    width:min(1180px,95vw)!important;
    max-height:92vh!important;
  }
}

@media(max-width:980px){
  .b2p-modal__grid{
    grid-template-columns:1fr!important;
  }
  .b2p-modal__media{
    position:relative!important;
    top:auto!important;
    width:100%;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4/5;
    max-height:none!important;
  }
  .b2p-modal__media img,
  .b2p-modal__placeholder{
    min-height:0!important;
    max-height:none!important;
  }
  .b2p-modal__content{
    padding:32px 24px 28px!important;
  }
  .b2p-modal__copy{
    margin-top:20px;
  }
  .b2p-modal__bio{
    font-size:.9rem!important;
    line-height:1.7!important;
  }
}

@media(max-width:680px){
  .b2p-modal{
    padding:8px!important;
  }
  .b2p-modal__dialog{
    max-height:96vh!important;
    border-radius:18px!important;
  }
  .b2p-modal__content{
    padding:28px 18px 24px!important;
  }
  .b2p-modal__artist-head{
    margin-bottom:18px;
  }
  .b2p-modal__content h2{
    font-size:2.5rem!important;
    line-height:.98!important;
  }
  .b2p-modal__tags{
    gap:7px!important;
  }
  .b2p-modal__tags span{
    padding:6px 10px!important;
    font-size:.72rem!important;
  }
  .b2p-modal__copy{
    gap:12px;
  }
  .b2p-modal__lead{
    font-size:.9rem!important;
  }
  .b2p-modal__bio{
    font-size:.86rem!important;
    line-height:1.68!important;
  }
  .b2p-modal__network-row,
  .b2p-modal__music,
  .b2p-modal__actions{
    margin-top:16px!important;
  }
}


/* ==========================================================
   BIOGRAPHY PREVIEW + SECONDARY BIO MODAL — v1.2.4
   Keeps the primary DJ modal compact and premium.
   ========================================================== */
.b2p-modal__bio{
  max-height:none!important;
  overflow:visible!important;
  display:block;
}
.b2p-modal__view-more{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:2px;
  padding:0;
  border:0;
  background:transparent;
  color:#ff2b82;
  font-size:.74rem;
  font-weight:600;
  line-height:1.3;
  cursor:pointer;
}
.b2p-modal__view-more svg{
  width:14px;
  height:14px;
  transition:transform .18s ease;
}
.b2p-modal__view-more:hover{color:#fff}
.b2p-modal__view-more:hover svg{transform:translateX(3px)}

/* restore controlled primary-modal proportions */
@media(min-width:981px){
  .b2p-modal__dialog{
    width:min(1120px,94vw)!important;
    max-height:90vh!important;
  }
  .b2p-modal__grid{
    min-height:0!important;
    align-items:stretch!important;
  }
  .b2p-modal__media{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:590px!important;
    max-height:690px!important;
  }
  .b2p-modal__content{
    padding:38px 38px 34px!important;
  }
  .b2p-modal__copy{
    margin-top:18px!important;
    gap:11px!important;
  }
  .b2p-modal__lead{
    font-size:.82rem!important;
    line-height:1.52!important;
  }
  .b2p-modal__bio{
    font-size:.76rem!important;
    line-height:1.56!important;
  }
  .b2p-modal__network-row{margin-top:18px!important}
  .b2p-modal__music{margin-top:14px!important}
  .b2p-modal__actions{margin-top:14px!important}
}

.b2p-bio-modal[hidden]{display:none!important}
.b2p-bio-modal{
  position:fixed;
  inset:0;
  z-index:100003;
  display:grid;
  place-items:center;
  padding:22px;
  opacity:0;
  transition:opacity .16s ease;
}
.b2p-bio-modal.is-open{opacity:1}
.b2p-bio-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,3,6,.86);
  backdrop-filter:blur(12px);
}
.b2p-bio-modal__dialog{
  position:relative;
  z-index:1;
  width:min(720px,94vw);
  max-height:min(84vh,820px);
  overflow:auto;
  padding:38px 40px 34px;
  border:1px solid rgba(255,18,113,.65);
  border-radius:18px;
  background:
    radial-gradient(circle at 88% 8%,rgba(255,18,113,.09),transparent 27%),
    linear-gradient(180deg,#0e1116,#090b0f);
  box-shadow:0 28px 90px rgba(0,0,0,.58),0 0 34px rgba(255,18,113,.08);
  scrollbar-width:thin;
  scrollbar-color:#34343e transparent;
}
.b2p-bio-modal__dialog::-webkit-scrollbar{width:6px}
.b2p-bio-modal__dialog::-webkit-scrollbar-thumb{background:#34343e;border-radius:99px}
.b2p-bio-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #414955;
  border-radius:50%;
  background:#0d1117;
  color:#fff;
  font-size:1.25rem;
  cursor:pointer;
}
.b2p-bio-modal__close:hover{border-color:#ff1271;color:#ff1271}
.b2p-bio-modal__body{padding-right:12px}
.b2p-bio-modal__eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 48px 10px 0;
  color:#d1d4d9;
  font-size:.63rem;
  font-weight:600;
  letter-spacing:.17em;
}
.b2p-bio-modal__eyebrow span{width:28px;height:2px;background:#ff1271}
.b2p-bio-modal h2{
  margin:0;
  color:#fff;
  font-size:clamp(2.3rem,5vw,4.2rem);
  line-height:.98;
  letter-spacing:-.055em;
}
.b2p-bio-modal__rule{
  width:48px;
  height:2px;
  margin:22px 0;
  background:#ff1271;
}
.b2p-bio-modal__text{
  color:#c8cbd1;
  font-size:.92rem;
  line-height:1.78;
  white-space:pre-line;
}
.b2p-bio-modal__contact{
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:28px;
  padding:0 18px;
  border:1px solid #ff1271;
  border-radius:8px;
  background:#ff1271;
  color:#fff;
  text-decoration:none;
  font-size:.78rem;
  font-weight:600;
  box-shadow:0 12px 30px rgba(255,18,113,.17);
}
.b2p-bio-modal__contact svg{width:16px;height:16px}
.b2p-bio-modal__contact:hover{background:#e80c67;border-color:#e80c67}

@media(max-width:680px){
  .b2p-bio-modal{padding:10px}
  .b2p-bio-modal__dialog{
    width:100%;
    max-height:92vh;
    padding:30px 22px 24px;
    border-radius:15px;
  }
  .b2p-bio-modal__body{padding-right:0}
  .b2p-bio-modal h2{font-size:2.55rem}
  .b2p-bio-modal__text{font-size:.88rem;line-height:1.72}
  .b2p-modal__bio{font-size:.78rem!important;line-height:1.58!important}
  .b2p-modal__view-more{font-size:.76rem}
}


/* ==========================================================
   TESTIMONIAL AUTO-SCROLL + PREMIUM CONTROLS — v1.2.6
   ========================================================== */
.b2p-p-icon{display:block;flex:0 0 auto;pointer-events:none}
.b2p-testimonial-slider{position:relative;min-width:0;padding-bottom:38px}
.b2p-testimonial-track{border-radius:10px}
.b2p-testimonial{
  min-height:126px;
  padding:20px 78px 20px 50px;
  border-color:#2a313a;
  border-radius:10px;
  background:
    radial-gradient(circle at 86% 18%,rgba(255,15,114,.06),transparent 24%),
    linear-gradient(145deg,#15191f,#0d1015 72%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.b2p-testimonial__quote{
  top:18px;left:18px;width:24px;height:24px;
  display:grid;place-items:center;color:#ff1271;
  font-size:inherit;font-weight:400;
}
.b2p-testimonial blockquote{color:#d7dce2;font-size:.76rem;line-height:1.58}
.b2p-testimonial>span{display:flex;flex-direction:column;gap:2px;margin-top:12px;color:#fff;font-size:.65rem}
.b2p-testimonial>span strong{font-weight:600}
.b2p-testimonial>span small{color:#89929d;font-size:.61rem}
.b2p-testimonial-ui{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:14px}
.b2p-testimonial-dots{display:flex;align-items:center;gap:7px}
.b2p-testimonial-dots button{width:6px;height:6px;padding:0;border:0;border-radius:999px;background:#454b54;cursor:pointer;transition:width .2s ease,background .2s ease,box-shadow .2s ease}
.b2p-testimonial-dots button.is-active{width:20px;background:#ff1271;box-shadow:0 0 14px rgba(255,15,114,.38)}
.b2p-testimonial-controls{position:static;display:flex;gap:7px}
.b2p-testimonial-controls button{width:34px;height:34px;border:1px solid #3a424d;border-radius:50%;background:#11161d;color:#d7dce2;transition:.18s ease}
.b2p-testimonial-controls button:hover,.b2p-testimonial-controls button:focus-visible{border-color:#ff1271;color:#fff;background:rgba(255,15,114,.09);box-shadow:0 0 0 3px rgba(255,15,114,.08);outline:none}
.b2p-showreel__play{padding:0!important}
.b2p-showreel__play .b2p-p-icon{margin-left:2px}
.b2p-slider__arrow .b2p-p-icon{margin:auto}
.b2p-dj-card__more .b2p-p-icon,.b2p-search-panel__button .b2p-p-icon{transition:transform .18s ease}
.b2p-dj-card__more:hover .b2p-p-icon,.b2p-search-panel__button:hover .b2p-p-icon{transform:translateX(2px)}
@media(max-width:680px){
  .b2p-testimonial-slider{padding-bottom:40px}
  .b2p-testimonial{min-height:150px;padding:19px 26px 20px 46px}
  .b2p-testimonial blockquote{font-size:.74rem}
}
