.bc{ position:relative; }
.bc-viewport{ overflow:hidden; border-radius:16px; border:1px solid rgba(255,255,255,.10); }
.bc-track{ display:flex; transition:transform .5s ease; will-change:transform; }
.bc-slide{ flex:0 0 100%; min-width:100%; }
.bc-slide-inner{ padding:12px; }

/* indicators */
.bc-indicators{
  position:absolute; left:0; right:0; bottom:-16px;
  display:flex; gap:8px; justify-content:center; padding:0; margin:0; list-style:none;
}
.bc-dot{ width:8px; height:8px; border-radius:9999px; background:#475569; cursor:pointer; opacity:.9; }
.bc-dot.active{ background:#ef4444; }

/* arrows */
.bc-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.15);
  background:rgba(15,23,42,.9); color:#e5e7eb;
  padding:6px 10px; border-radius:8px; cursor:pointer; z-index:2;
}
.bc-prev{ left:8px; } .bc-next{ right:8px; }

/* tiny helpers to replace a couple of utilities used in headers */
.hc-flex{ display:flex; } .hc-justify-between{ justify-content:space-between; } .hc-items-center{ align-items:center; }
.hc-mb-8{ margin-bottom:.5rem; }

/* P4P / Top-15 ticker box */
.ticker-wrap{ max-height:260px; overflow:hidden; border:1px solid rgba(255,255,255,.10); border-radius:12px; }
.p4p-ticker{ margin:0; padding:0; list-style:none; transition:transform .2s linear; }
.ticker-row{ display:flex; justify-content:space-between; padding:.6rem .8rem; border-top:1px solid rgba(255,255,255,.08); }
.ticker-row:first-child{ border-top:0; }
.ticker-row .pos{ font-weight:900; }
.ticker-row .nm{ font-weight:900; text-transform:uppercase; }

/* ===== BDSFL NEWS (Home) ===== */
#news{
  --accent: #ef4444;            /* ESPN red */
  --accent-2: #64748b;          /* slate trim */
  --panel: #0f172a;             /* card base */
  --panel-2: #0c1326;           /* darker */
  --line: rgba(255,255,255,.08);
  --line-strong: rgba(255,255,255,.14);
}

/* Header */
#news .news-head h2{ margin:0; }
#news .news-head{
  position:relative;
  padding-bottom:.4rem;
}
#news .news-head::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-6px; height:3px;
  background:linear-gradient(90deg,var(--accent), transparent 70%);
  border-radius:2px;
}

/* Platform pill (also used as rank pill in Wins slide) */
#news .pill{
  display:inline-flex;               /* updated */
  align-items:center; justify-content:center; /* updated */
  padding:.28rem .6rem; border-radius:9999px;
  border:1px solid var(--line-strong); background:rgba(100,116,139,.16);
  font:700 11px/1 system-ui; color:#e5e7eb; letter-spacing:.06em; text-transform:uppercase;
  line-height:1; vertical-align:middle;       /* updated */
}

/* Section tag (MAIN CARD, etc.) */
#news .news-badge{
  display:inline-block; padding:.36rem .7rem; border-radius:.35rem;
  background:rgba(239,68,68,.16); color:#fecaca; font:900 11px/1 system-ui;
  letter-spacing:.12em; text-transform:uppercase; border:1px solid var(--line-strong);
}
#news .news-badge.secondary{
  background:rgba(148,163,184,.14); color:#d1d5db; border-color:var(--line-strong);
}

/* Bout cards */
#news .news-bout{
  position:relative;
  background:linear-gradient(90deg, rgba(255,255,255,.02), transparent 30%), var(--panel);
  border:1px solid var(--line);
  border-radius:16px;
  padding:1rem;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
#news .news-bout::before{
  content:"";
  position:absolute; left:0; right:0; top:0; height:3px;
  background:linear-gradient(90deg,var(--accent), rgba(239,68,68,.0) 70%);
}
#news .news-bout + .news-bout{ margin-top:.75rem; }
#news .news-bout:hover{
  transform:translateY(-1px);
  border-color:var(--line-strong);
  box-shadow:0 14px 30px rgba(0,0,0,.26);
}

/* Bout meta row (left: tag, right: pill) */
#news .news-bout .meta{
  display:flex; align-items:center; justify-content:space-between; margin-bottom:.6rem;
}

/* Names + VS row */
#/* Names + VS row (bout cards) */
#news .news-vs{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:.9rem;
  font-weight:900;                               /* bold like before */
  font-size:clamp(1.08rem, 2.9vw, 1.42rem);
  text-transform:uppercase;
  letter-spacing:.02em;

  /* NEW: nudge entire row to the right */
  padding-left:1.1rem;
}
/* keep name + rank badge on one line, side-by-side */
#news .news-vs .a,
#news .news-vs .b{
  display:inline-flex;
  align-items:center;
  gap:.35rem;                                    /* space between name and badge */
  white-space:nowrap;                            /* prevent wrap under name */
  min-width:0;
}
#news .news-vs .a{ text-align:right; justify-self:end; }
#news .news-vs .b{ text-align:left;  justify-self:start; }

#news .news-vs .vs{
  min-width:2.1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#cbd5e1;
  font-weight:900;
  font-size:clamp(.95rem,2.4vw,1.15rem);
  letter-spacing:.12em;
  border:1px solid var(--line-strong);
  border-radius:.4rem;
  padding:.15rem .35rem;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
}

/* Ensure MAIN CARD (compact cards) stays bold + right padding */
#news .news-bout .news-vs{ font-weight:900; }
#news .news-bout.sm .news-vs{
  font-size:clamp(1rem, 2.1vw, 1.14rem);
  font-weight:900;
  padding-left:1rem;                             /* NEW: match the nudge on compact cards */
}
#news .news-section .news-badge.secondary ~ .news-bout .news-vs{
  font-weight:900;
}

/* RANK BADGES — numeric ranks remain as light text */
#news .rk{
  margin-left:.42rem;
  font:800 .74rem/1 system-ui;
  color:#94a3b8;
}

/* Gold square with white C */
/* Gold square with white C.C. (double champ) */
#news .rk.cc{
  display:inline-flex; align-items:center; justify-content:center;
  width:1.3rem; height:1.1rem; border-radius:.2rem;
  background:linear-gradient(180deg,#f5cc4a,#c99f24);
  color:#fff; border:1px solid rgba(255,255,255,.18);
  letter-spacing:.02em; font-weight:900; font-size:.62rem; text-transform:uppercase; padding:0;
}
#news .rk.c{
  display:inline-flex; align-items:center; justify-content:center;
  width:1.1rem; height:1.1rem; border-radius:.2rem;
  background:linear-gradient(180deg,#f5cc4a,#c99f24);
  color:#fff; border:1px solid rgba(255,255,255,.18);
  letter-spacing:.02em; font-weight:900; font-size:.70rem; text-transform:uppercase; padding:0;
}

/* Dark graphite/silver box with white BMF */
#news .rk.bmf{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:2.0rem; height:1.1rem; padding:0 .3rem;
  border-radius:.2rem;
  background:linear-gradient(180deg,#8b949e,#3f4750);
  color:#fff; border:1px solid rgba(0,0,0,.45);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  text-shadow:0 1px 0 rgba(0,0,0,.45);
  letter-spacing:.04em; font-weight:900; font-size:.62rem; text-transform:uppercase;
}

/* Sections & lists */
#news .news-section{ margin-top:.95rem; }
#news .news-list{ list-style:none; padding:0; margin:.5rem 0 0 0; }

/* Use 3-column grid only where VS chip exists (Main Card + Prelims lists) */
#news .news-section .news-list .row,
#news details.news-prelims .news-list .row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);
  align-items:center;
  column-gap:.6rem;
  padding:.78rem .9rem;
  border-top:1px solid var(--line);
}

/* keep NAME + RANK together in list rows */
#news .news-list .row .l,
#news .news-list .row .r{
  display:inline-flex; align-items:center; gap:.18rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  min-width:0;
}
#news .news-list .row .l{ justify-self:start; text-align:left; }
#news .news-list .row .r{ justify-self:end;   text-align:right; }

/* centered VS chip with fixed width so columns never drift */
#news .news-list .row .vs{
  justify-self:center;
  display:inline-flex; align-items:center; justify-content:center;
  width:52px;
  border:1px solid var(--line-strong);
  border-radius:.45rem; padding:.12rem .34rem;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  color:#cbd5e1; font-weight:900; letter-spacing:.10em;
}

/* prelim numeric ranks: smaller + snug (champ/BMF styles unchanged) */
#news .news-list .row .rk.tiny:not(.c):not(.bmf){
  margin-left:.12rem;
  font:800 .66rem/1 system-ui;
  color:#94a3b8;
}

/* Reset layout for the “Most Wins” slide (two columns) */
#news .bc-slide[data-type="wins"] .news-list .row{
  display:flex;
  grid-template-columns:none;
  align-items:center;
  justify-content:space-between;
  padding:.78rem .9rem;
  border-top:1px solid var(--line);
}

/* Make .left/.right behave like .l/.r in Wins slide */
#news .news-list .row .left,
#news .news-list .row .right{
  display:inline-flex;
  align-items:center;
  gap:.5rem;                    /* room between #pill and name */
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}
#news .news-list .row .right{
  justify-content:flex-end;
  text-align:right;
}

/* Prelims ONLY: scale text down so it doesn't look like Main Card */
#news details.news-prelims .news-list .row .l,
#news details.news-prelims .news-list .row .r{
  font-size: clamp(.90rem, 2vw, 1.02rem);
  font-weight: 800;             /* slightly lighter for hierarchy */
  letter-spacing: .01em;
}
/* Prelims VS a little smaller to match */
#news details.news-prelims .news-list .row .vs{
  width:46px;
  font-size:clamp(.85rem,1.9vw,1rem);
  padding:.10rem .28rem;
}

/* Tabs */
#news .news-tab{
  text-transform:uppercase; font-weight:800; font-size:.72rem; letter-spacing:.08em;
  border-radius:9999px; border:1px solid var(--line);
  padding:.45rem .7rem; background:rgba(15,23,42,.85); color:#cbd5e1;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
#news .news-tab:hover{ border-color:var(--line-strong); color:#fff; }
#news .news-tab[aria-selected="true"]{
  background:linear-gradient(180deg,rgba(239,68,68,.24),rgba(239,68,68,.12));
  color:#fff; border-color:rgba(239,68,68,.45);
  box-shadow:0 0 0 2px rgba(239,68,68,.15) inset;
}