/* Live Track — styl BassBus, ZASKOPOWANY pod .bbl-live.
   Nie zawiera globalnych resetów (*, body, html) — żeby NIE psuć reszty strony
   przy trybie shortcode wewnątrz motywu (np. Kadence). */

.bbl-live{
  --bb-violet:#B026FF;
  --bb-violet-dim:#60158C;
  --bb-violet-glow:rgba(176,38,255,.4);
  --bb-yellow:#FFC800;
  --bb-bg-1:#000;
  --bb-bg-2:#0A0A0A;
  --bb-bg-3:#141414;
  --bb-bg-4:#1F1F1F;
  --bb-fg-1:#FFF;
  --bb-fg-2:#A3A3A3;
  --bb-fg-3:#5C5C5C;
  --bb-border:#2A2A2A;
  --bb-font-display:'Anton','Arial Narrow',sans-serif;
  --bb-font-body:'DM Sans',system-ui,sans-serif;
  --bb-font-mono:'Geist Mono','Courier New',monospace;
  --bb-container:1280px;
  --bb-section-y:clamp(48px,8vw,120px);
  background:var(--bb-bg-2);
  color:var(--bb-fg-1);
  font-family:var(--bb-font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  display:block;
}
.bbl-live *{box-sizing:border-box;}
.bbl-live img{max-width:100%;display:block;}
.bbl-live a{color:inherit;text-decoration:none;}
.bbl-live button{font:inherit;cursor:pointer;background:none;border:none;color:inherit;}
.bbl-live h1,.bbl-live h2,.bbl-live h3,.bbl-live h4{font-family:var(--bb-font-display);font-weight:400;text-transform:uppercase;letter-spacing:-.01em;line-height:1;margin:0;color:var(--bb-fg-1);}
.bbl-live p{margin:0;}

.bbl-live .container{width:100%;max-width:var(--bb-container);margin:0 auto;padding:0 24px;}
.bbl-live .section{padding:var(--bb-section-y) 0;position:relative;}
.bbl-live .section-dark{background:var(--bb-bg-1);}
.bbl-live .section-head{margin-bottom:clamp(40px,6vw,80px);}
.bbl-live .section-head h2{font-size:clamp(40px,7vw,88px);max-width:14ch;}
.bbl-live .section-head p{margin-top:16px;max-width:60ch;color:var(--bb-fg-2);}
.bbl-live .eyebrow{font-family:var(--bb-font-mono);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--bb-violet);margin-bottom:16px;display:inline-flex;align-items:center;gap:12px;}
.bbl-live .eyebrow::before{content:'';width:32px;height:2px;background:var(--bb-violet);}
.bbl-live .mono{font-family:var(--bb-font-mono);}
.bbl-live .muted{color:var(--bb-fg-2);}
.bbl-live .mt-24{margin-top:24px;}
.bbl-live .mt-48{margin-top:48px;}

.bbl-live .btn{display:inline-flex;align-items:center;gap:12px;padding:16px 28px;font-family:var(--bb-font-mono);font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;border:2px solid var(--bb-violet);background:transparent;color:var(--bb-fg-1);transition:all .15s ease;cursor:pointer;white-space:nowrap;}
.bbl-live .btn:hover{background:var(--bb-violet);color:var(--bb-bg-1);}
.bbl-live .btn-primary{background:var(--bb-violet);color:var(--bb-bg-1);}
.bbl-live .btn-primary:hover{background:var(--bb-violet-dim);border-color:var(--bb-violet-dim);color:var(--bb-fg-1);}
.bbl-live .btn-arrow::after{content:'→';font-family:var(--bb-font-body);}

/* Hero */
.bbl-live .live-hero{background:radial-gradient(circle at 30% 50%,var(--bb-violet-glow) 0%,transparent 60%),var(--bb-bg-1);padding:80px 0;}
.bbl-live .live-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.bbl-live .live-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--bb-violet);color:var(--bb-bg-1);font-family:var(--bb-font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;}
.bbl-live .live-pill::before{content:'';width:8px;height:8px;background:var(--bb-bg-1);border-radius:50%;animation:bbl-blink 1.5s ease-in-out infinite;}
.bbl-live .live-title{font-size:clamp(48px,8vw,120px);line-height:.9;margin:16px 0 0;}
.bbl-live .live-title .accent{color:var(--bb-violet);}
.bbl-live .hero-subtitle{font-size:18px;color:var(--bb-fg-2);max-width:50ch;}
.bbl-live .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
.bbl-live .live-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;padding-top:32px;border-top:1px solid var(--bb-border);}
.bbl-live .live-meta-item .label{font-family:var(--bb-font-mono);font-size:11px;color:var(--bb-violet);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;}
.bbl-live .live-meta-item .value{font-family:var(--bb-font-display);font-size:28px;line-height:1;}
.bbl-live .hero-poster{aspect-ratio:4/5;background:var(--bb-bg-3);border:1px solid var(--bb-border);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.bbl-live .hero-poster-content{text-align:center;padding:40px;}
.bbl-live .hero-poster-label{font-family:var(--bb-font-mono);font-size:11px;color:var(--bb-violet);letter-spacing:.2em;text-transform:uppercase;margin-bottom:12px;}
.bbl-live .hero-poster-title{font-family:var(--bb-font-display);font-size:clamp(36px,6vw,72px);line-height:.9;text-transform:uppercase;margin-bottom:16px;}
.bbl-live .hero-poster-title .v{color:var(--bb-violet);}
.bbl-live .hero-poster-djs{margin-top:20px;font-size:13px;color:var(--bb-fg-2);line-height:1.8;}
.bbl-live .hero-poster-date{font-family:var(--bb-font-mono);font-size:16px;color:var(--bb-fg-1);margin-top:24px;padding-top:24px;border-top:1px solid var(--bb-border);}

/* Rozkład */
.bbl-live .route-wrapper{background:var(--bb-bg-3);border:1px solid var(--bb-border);padding:clamp(32px,5vw,64px);position:relative;}
.bbl-live .route-line{display:grid;grid-template-columns:1fr;gap:0;position:relative;}
.bbl-live .route-stop{display:grid;grid-template-columns:80px 1fr 200px;align-items:center;gap:24px;padding:20px 0;border-bottom:1px solid var(--bb-border);position:relative;}
.bbl-live .route-stop:last-child{border-bottom:0;}
.bbl-live .route-stop-num{width:56px;height:56px;border:2px solid var(--bb-violet);background:var(--bb-bg-1);color:var(--bb-violet);display:flex;align-items:center;justify-content:center;font-family:var(--bb-font-mono);font-size:16px;font-weight:500;position:relative;z-index:2;}
.bbl-live .route-stop.start .route-stop-num,.bbl-live .route-stop.finish .route-stop-num{background:var(--bb-violet);color:var(--bb-bg-1);}
.bbl-live .route-stop::before{content:'';position:absolute;left:27px;top:50%;bottom:-50%;width:2px;background:var(--bb-violet);opacity:.3;z-index:1;}
.bbl-live .route-stop:last-child::before{display:none;}
.bbl-live .route-stop-name{font-family:var(--bb-font-display);font-size:22px;text-transform:uppercase;}
.bbl-live .route-stop-tag{font-family:var(--bb-font-mono);font-size:11px;color:var(--bb-violet);margin-top:4px;text-transform:uppercase;letter-spacing:.1em;}
.bbl-live .route-stop-time{font-family:var(--bb-font-mono);font-size:14px;color:var(--bb-fg-2);text-align:right;}
.bbl-live .route-stop-time strong{color:var(--bb-fg-1);font-weight:500;}

/* Line-up */
.bbl-live .lineup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.bbl-live .dj-card{aspect-ratio:3/4;background:var(--bb-bg-3);border:1px solid var(--bb-border);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;}
.bbl-live .dj-card::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--bb-violet-glow) 0%,var(--bb-bg-1) 100%);opacity:.4;}
.bbl-live .dj-card:hover{border-color:var(--bb-violet);}
.bbl-live .dj-card-content{position:relative;z-index:1;}
.bbl-live .dj-card .label{font-family:var(--bb-font-mono);font-size:11px;color:var(--bb-violet);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;}
.bbl-live .dj-card h3{font-size:32px;line-height:1;}
.bbl-live .dj-card .role{margin-top:6px;color:var(--bb-fg-2);font-size:13px;}

/* Mapa Traccar + markery */
.bbl-live #bbl-map{width:100%;height:600px;background:var(--bb-bg-3);border:1px solid var(--bb-border);}
.bbl-live .bbl-small-btn{font-family:var(--bb-font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:8px 16px;border:1px solid var(--bb-border);color:var(--bb-fg-1);background:transparent;cursor:pointer;transition:all .15s;}
.bbl-live .bbl-small-btn:hover{border-color:var(--bb-violet);color:var(--bb-violet);}
.bbl-live .bbl-bus-dot{width:46px;height:46px;border-radius:50%;background:var(--bb-violet);display:grid;place-items:center;box-shadow:0 0 0 6px var(--bb-violet-glow);font-size:22px;border:2px solid #fff;}
.bbl-live .bbl-stop-map-dot{width:30px;height:30px;border-radius:50%;background:var(--bb-bg-1);color:var(--bb-violet);display:grid;place-items:center;font-weight:700;border:2px solid var(--bb-violet);font-family:var(--bb-font-mono);font-size:13px;}
.bbl-live .bbl-stop-map-marker{background:transparent;border:0;}
.bbl-live .leaflet-popup-content{color:#111;line-height:1.35;}
.bbl-live .leaflet-control-attribution{font-size:9px!important;}

@keyframes bbl-blink{0%,100%{opacity:1;}50%{opacity:.3;}}

@media (max-width:968px){
  .bbl-live .live-hero-grid{grid-template-columns:1fr;gap:40px;}
}
@media (max-width:768px){
  .bbl-live #bbl-map{height:400px;}
  .bbl-live .lineup-grid{grid-template-columns:1fr;}
  .bbl-live .route-stop{grid-template-columns:56px 1fr;gap:16px;}
  .bbl-live .route-stop-time{grid-column:2;text-align:left;margin-top:4px;}
}

/* ──────── Patroni (dodane) ──────── */
.bbl-live .partners-grid{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:center;}
.bbl-live .partner-logo{display:flex;align-items:center;justify-content:center;height:88px;min-width:160px;padding:18px 28px;background:var(--bb-bg-1);border:1px solid var(--bb-border);transition:border-color .15s ease,transform .15s ease;}
.bbl-live a.partner-logo:hover{border-color:var(--bb-violet);transform:translateY(-2px);}
.bbl-live .partner-logo img{max-height:100%;max-width:200px;width:auto;object-fit:contain;filter:grayscale(1) brightness(1.7);opacity:.8;transition:filter .15s ease,opacity .15s ease;}
.bbl-live a.partner-logo:hover img{filter:none;opacity:1;}

/* ──────── Przycisk LIVE (YouTube) ──────── */
.bbl-live .btn-live{border-color:var(--bb-violet);color:var(--bb-fg-1);}
.bbl-live .btn-live:hover{background:var(--bb-violet);color:var(--bb-bg-1);}
.bbl-live .btn-live-dot{width:10px;height:10px;border-radius:50%;background:#ff2d55;display:inline-block;box-shadow:0 0 0 0 rgba(255,45,85,.6);animation:bbl-live-pulse 1.4s infinite;}
@keyframes bbl-live-pulse{0%{box-shadow:0 0 0 0 rgba(255,45,85,.6);}70%{box-shadow:0 0 0 10px rgba(255,45,85,0);}100%{box-shadow:0 0 0 0 rgba(255,45,85,0);}}

/* ──────── Karta DJ jako link (dodane) ──────── */
.bbl-live a.dj-card{text-decoration:none;color:inherit;}
.bbl-live .dj-card.has-link{cursor:pointer;}
.bbl-live .dj-card.has-link:hover{transform:translateY(-3px);}
.bbl-live .dj-card-cta{margin-top:14px;font-family:var(--bb-font-mono);font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--bb-violet);}
