/* Shared same-origin native concert player; photos remain the resilient fallback. */
.bb-featured-video { position:absolute; inset:0; z-index:4; min-width:0; min-height:0; color:#f4f3ef; font-family:"DM Sans",Arial,sans-serif; pointer-events:none; }
.bb-featured-video [hidden] { display:none!important; }
.bb-featured-video--native { display:grid; grid-template-rows:minmax(0,1fr) auto; }
.bb-native-video { display:block; grid-row:1; width:100%; height:100%; min-height:0; object-fit:cover; object-position:center; background:#070707; pointer-events:none; user-select:none; }
/* Preserve these ensembles' complete stage framing and titles at every hero/modal ratio. */
.bb-native-video[src$="/abba-experience.mp4"],
.bb-native-video[src$="/meteora-wF56g24z7bY.mp4"],
.bb-native-video[src$="/bemused-showreel.mp4"] { object-fit:contain; }
.bb-native-video[src$="/genesish-showreel.mp4"],
.bb-native-video[src$="/harry-styles-show-showreel.mp4"] { object-fit:contain; }
.bb-native-video[src$="/bemused-VIFTxAapikw.mp4"] { object-fit:contain; }
.bb-native-video[src$="/back-to-glory-days-YR30tPmjcfA.mp4"] { object-fit:contain; }
.bb-native-video[src$="/jadele-showreel.mp4"] { object-fit:contain; }
.bb-native-video[src$="/celtica-zo2hXxB06zQ.mp4"],
.bb-native-video[src$="/sinfonity-wqgQ7IYhvRg.mp4"],
.bb-native-video[src$="/supersonic-queen-ZTuonBRqv-8.mp4"],
.bb-native-video[src$="/midge-ure-Ifn0jqF4J0w-performance.mp4"] { object-fit:contain; }
/* These original performance videos include programme titles/credits. Keep
   their whole frame in catalogue modals too, just as on direct profiles. */
.bb-native-video[src$="/unindo-os-povos-zZFFpE_COXk.mp4"],
.bb-native-video[src$="/te-quiero-havana-OfOMTXY06vs.mp4"] { object-fit:contain; }
.bb-featured-video--native[data-has-frame="false"] .bb-native-video { opacity:0; }
.bb-video-controls { grid-row:2; position:relative; z-index:2; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:4px 12px; min-height:52px; padding:4px 8px; box-sizing:border-box; background:#111; border-top:1px solid #ffffff25; pointer-events:auto; }
.bb-video-controls button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; padding:10px; border:1px solid transparent; border-radius:5px; background:transparent; color:#f4f3ef; cursor:pointer; transition:background-color .2s ease,border-color .2s ease; }
.bb-video-controls button:hover:not(:disabled) { background:#292929; border-color:#ffffff70; }
.bb-video-controls button:active:not(:disabled) { background:#3a3a3a; }
.bb-video-controls button:focus-visible { outline:2px solid #fff; outline-offset:-2px; }
.bb-video-controls button:disabled { opacity:.4; cursor:default; }
.bb-video-controls button[data-icon="mute"] { flex:0 1 auto; width:auto; min-width:44px; gap:7px; padding-inline:8px; }
.bb-video-controls button[data-icon="mute"]::after { content:attr(aria-label); font-size:12px; line-height:1.25; text-align:left; }
.bb-video-controls svg { display:block; flex:none; width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.bb-video-controls svg text { fill:currentColor; stroke:none; text-anchor:middle; font:700 9px Arial,sans-serif; }
.bb-video-volume { display:flex; align-items:center; flex:1 1 120px; gap:8px; min-width:0; max-width:200px; margin:0; color:#d7d7d7; font:500 12px/1.4 "DM Sans",Arial,sans-serif; }
.bb-video-volume input { flex:1 1 80px; min-width:0; width:80px; min-height:44px; margin:0; padding:0; accent-color:#f4f3ef; cursor:pointer; }
.bb-video-volume input:focus-visible { outline:2px solid #fff; outline-offset:2px; border-radius:4px; }
.bb-video-volume input:disabled { cursor:default; opacity:.45; }
.bb-video-volume-label { flex:none; }
.bb-video-volume-value { flex:0 0 3.5ch; font-variant-numeric:tabular-nums; text-align:right; }
.bb-native-video-status { position:absolute; inset:auto 0 52px; margin:0; padding:18px; background:linear-gradient(transparent,#080808e8 20%); color:#eee; font-size:.8rem; line-height:1.6; overflow-wrap:anywhere; }
.artist-modal-v2 .artist-visual-media { position:absolute; inset:0; display:grid; place-items:center; min-width:0; min-height:0; overflow:hidden; }
.artist-modal-v2 .visual.has-featured-video { display:grid; grid-template-rows:minmax(0,1fr) auto; align-items:stretch; }
.artist-modal-v2 .visual.has-featured-video .artist-visual-media { position:relative; inset:auto; width:100%; height:100%; }
.artist-modal-v2 .visual.has-featured-video .visual-caption { position:relative; inset:auto; z-index:5; display:flex; justify-self:stretch; width:100%; box-sizing:border-box; align-items:center; gap:14px; padding:18px 24px; border-top:1px solid #ffffff25; background:#111; }
.artist-modal-v2 .visual.has-featured-video .visual-name { overflow-wrap:anywhere; }
.artist-modal-v2 .visual.has-featured-video .visual-image-status { max-width:calc(100% - 80px); }
/* External players retain their own proportions and branding, without cropping or overlays. */
.bb-featured-video--youtube { display:grid; grid-template-rows:minmax(200px,1fr) auto; pointer-events:auto; }
.bb-featured-video--youtube iframe { display:block; border:0; width:100%; height:100%; min-width:200px; min-height:200px; }
.artist-page-profile>figure:has(.bb-featured-video) { min-height:252px; }
.bb-embed-prompt { align-self:end; padding:16px; color:#fff; background:#111e; font-size:.78rem; line-height:1.5; }
.bb-embed-prompt p { margin:0; }
@media (max-width:820px) {
  .artist-modal-v2 .bb-native-video-status { padding:12px 14px; font-size:.7rem; line-height:1.45; }
  .artist-modal-v2 .artist-modal-shell:has(.has-featured-video) { grid-template-rows:auto minmax(0,1fr); }
  .artist-modal-v2 .visual.has-featured-video { height:312px; grid-template-rows:minmax(252px,1fr) auto; }
  .artist-modal-v2 .visual.has-featured-video .visual-caption { padding:10px 14px; }
  .artist-modal-v2 .visual.has-featured-video .visual-caption b { font-size:12px; }
  .artist-modal-v2 .artist-modal-shell:has(.bb-featured-video)>.visual { grid-row:1; grid-column:1; }
  .artist-modal-v2 .artist-modal-shell:has(.bb-featured-video)>.content { grid-row:2; grid-column:1; }
  .artist-modal-v2 .artist-modal-shell:has(.bb-featured-video)>.close { position:relative!important; inset:auto!important; grid-row:1; grid-column:1; justify-self:end; align-self:end; margin:4px 8px; width:44px; height:44px; }
  .artist-modal-v2 .visual.has-featured-video .visual-caption { min-height:52px; padding-right:66px; }
}
@media (max-height:480px) and (max-width:820px) {
  .artist-modal-v2 .artist-modal-shell:has(.has-featured-video) { display:block; overflow:auto; }
  .artist-modal-v2 .visual.has-featured-video { height:312px; }
  .artist-modal-v2 .artist-modal-shell:has(.has-featured-video) .content { overflow:visible; height:auto; }
}
@media (prefers-reduced-motion:reduce) { .bb-video-controls button { transition:none; } }
.bb-native-video[src$="/dennis-rodnyansky.mp4"],
.bb-native-video[src$="/queen-in-rock.mp4"],
.bb-native-video[src$="/steve-mitchell.mp4"] { object-fit:contain; }
.bb-native-video[src$="/the-rock-orchestra.mp4"] { object-fit:contain; }
.bb-native-video[src$="/counterfeit-beatles.mp4"] { object-fit:contain; }
.bb-native-video[src$="/breathless-corrs.mp4"],
.bb-native-video[src$="/steve-mitchell-9f4kfWUiBO8.mp4"] { object-fit:contain; }
