/* Base wrapper */
.psbsl-wrapper{
  --psbsl-bg:#0b1f3a;
  --psbsl-text:#ffffff;
  --psbsl-chip-bg:rgba(0,0,0,0.1);
  --psbsl-gap:18px;
  --psbsl-radius:999px;
  --psbsl-logo-size:32px;
  --psbsl-height:64px;
  position:relative;
  padding:8px 16px;
  background:var(--psbsl-bg);
  color:var(--psbsl-text);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  box-sizing:border-box;
  overflow:hidden;
}
.psbsl-fullbleed{
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  border-radius:0;
}
.psbsl-viewport{
  overflow:hidden;
}
.psbsl-lane{
  display:flex;
  align-items:center;
  gap:var(--psbsl-gap);
}
.psbsl-chip{
  flex:0 0 auto;
  min-width:220px;
  max-width:280px;
  background:var(--psbsl-chip-bg);
  border-radius:var(--psbsl-radius);
  padding:6px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
}
.psbsl-team{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.psbsl-logo-wrap{
  width:var(--psbsl-logo-size);
  height:var(--psbsl-logo-size);
  border-radius:999px;
  overflow:hidden;
  flex:0 0 auto;
}
.psbsl-logo{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.psbsl-name{
  font-weight:600;
  font-size:14px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:130px;
}
.psbsl-score{
  font-weight:800;
  font-size:16px;
  min-width:56px;
  text-align:center;
}

/* LIVE badge */
.psbsl-live-badge{
  position:absolute;
  top:6px;
  left:16px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(0,0,0,0.4);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.psbsl-live-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#ff3333;
  box-shadow:0 0 0 2px rgba(255,51,51,.35);
}
.psbsl-live-text{
  color:#ff5555;
  font-weight:700;
}

/* Nav arrows */
.psbsl-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:30px;
  height:30px;
  border-radius:999px;
  border:none;
  padding:0;
  margin:0;
  cursor:pointer;
  background:rgba(0,0,0,0.35);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  line-height:1;
}
.psbsl-nav--prev{ left:8px; }
.psbsl-nav--next{ right:8px; }

/* Group label (campionato) */
.psbsl-group-label{
  position:absolute;
  top:-18px;
  left:12px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
  opacity:.8;
}

/* ===== STILI ===== */

/* 1) SKY BROADCAST */
.psbsl-style-1{
  --psbsl-bg:#0b1f3a;
  --psbsl-chip-bg:rgba(255,255,255,0.06);
  --psbsl-text:#ffffff;
}

/* 2) DAZN TILES */
.psbsl-style-2{
  --psbsl-bg:#111111;
  --psbsl-chip-bg:#1f1f1f;
  --psbsl-text:#f5f5f5;
  --psbsl-radius:10px;
}

/* 3) PRIME VIDEO VERTICAL (loghi sopra/sotto, centrati) */
.psbsl-style-3 .psbsl-chip{
  flex-direction:column;
  align-items:stretch;
}
.psbsl-style-3 .psbsl-team{
  justify-content:center;
}
.psbsl-style-3 .psbsl-score{
  margin:4px 0;
}
.psbsl-style-3 .psbsl-name{
  max-width:none;
  text-align:center;
}

/* 4) VERTICAL LOGOS SKY-LIKE */
.psbsl-style-4 .psbsl-chip{
  flex-direction:column;
  align-items:stretch;
}
.psbsl-style-4 .psbsl-team{
  justify-content:flex-start;
}
.psbsl-style-4 .psbsl-score{
  align-self:center;
  margin:4px 0;
}

/* 5) GAZZETTA STYLE */
.psbsl-style-5{
  --psbsl-bg:#ffffff;
  --psbsl-text:#111111;
  --psbsl-chip-bg:#ffe4ec;
}
.psbsl-style-5 .psbsl-wrapper,
.psbsl-style-5.psbsl-wrapper{
  border-top:2px solid #f5a0c1;
  border-bottom:2px solid #f5a0c1;
}
.psbsl-style-5 .psbsl-live-badge{
  background:#f5a0c1;
  color:#111;
}

/* 6) PREMIER STYLE */
.psbsl-style-6{
  --psbsl-bg:#25064c;
  --psbsl-chip-bg:#3d0b70;
  --psbsl-text:#ffffff;
}
.psbsl-style-6 .psbsl-logo-wrap{
  border-radius:16px;
}

/* 7) PIEMONTE SPORT CUSTOM */
.psbsl-style-7{
  --psbsl-bg:#0b1f3a;
  --psbsl-chip-bg:rgba(255,255,255,0.12);
  --psbsl-text:#ffffff;
}
.psbsl-style-7 .psbsl-chip{
  border:1px solid rgba(255,255,255,0.26);
}

/* Responsive */
@media (max-width: 640px){
  .psbsl-wrapper{
    --psbsl-gap:12px;
    --psbsl-height:60px;
    padding:6px 8px;
  }
  .psbsl-chip{
    min-width:210px;
    max-width:240px;
  }
  .psbsl-name{
    max-width:110px;
    font-size:13px;
  }
  .psbsl-score{
    font-size:15px;
  }
  .psbsl-live-badge{
    left:8px;
  }
  .psbsl-nav{
    width:26px;
    height:26px;
    font-size:18px;
  }
}
