/*
 * Šport v TV – frontend štýly (modernizované)
 * Pozn.: štýly sú zámerne „scoped“ na .sport-tv-table, aby čo najmenej zasahovali do témy.
 */

.sport-tv-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.sport-tv-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:var(--stv-bg, #fff);
  border:1px solid var(--stv-border, rgba(0,0,0,.08));
  border-radius:var(--stv-radius, 14px);
  box-shadow:0 10px 28px rgba(0,0,0,.06);
  overflow:hidden;
}

.sport-tv-table thead th{
  text-align:left;
  font-weight:700;
  font-size:13px;
  letter-spacing:.02em;
  padding:12px 14px;
  background:var(--stv-head-bg, rgba(0,0,0,.03));
  border-bottom:1px solid var(--stv-border, rgba(0,0,0,.08));
  white-space:nowrap;
}

.sport-tv-table.stv-table-broadcasts.stv-table-main td,
.sport-tv-table.stv-table-concurrent td{
  padding:12px 14px;
  vertical-align:top;
  border-bottom:1px solid var(--stv-border, rgba(0,0,0,.08));
  font-size:14px;
  line-height:1.4;
}

.sport-tv-table tbody tr:last-child td{
  border-bottom:none;
}

.sport-tv-table tbody tr:hover td{
  background:var(--stv-row-hover, rgba(0,0,0,.02));
}

/* Logo + názov stanice */
.sport-tv-table img{
  max-width:80px;
  height:auto;
  display:inline-block;
}

.stv-station-name{
  display:inline-block;
  font-weight:700;
}

.stv-watch-options{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.stv-watch-option + .stv-watch-option{
  padding-top:9px;
  border-top:1px solid var(--stv-border, rgba(0,0,0,.08));
}

/* Vlajka */
.stv-flag{
  display:inline-block;
  line-height:1;
  font-size:18px;
}

/* „Dnes / Zajtra / …“ badge */
.sport-tv-table .program-dnes,
.sport-tv-table .program-zajtra,
.sport-tv-table .program-den{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:2px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background:rgba(249, 115, 22, .14);
  color:rgba(154, 52, 18, 1);
}

/* Time cell (vlajka + deň + čas) – centrovanie */
.sport-tv-table.stv-table-broadcasts.stv-table-main .stv-timecell,
.sport-tv-table.stv-table-concurrent .stv-timecell{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  text-align:center;
}
.sport-tv-table.stv-table-broadcasts.stv-table-main .stv-timecell-flag,
.sport-tv-table.stv-table-broadcasts.stv-table-main .stv-timecell-label,
.sport-tv-table.stv-table-concurrent .stv-timecell-flag,
.sport-tv-table.stv-table-concurrent .stv-timecell-label{
  display:flex;
  justify-content:center;
  width:100%;
}
.sport-tv-table.stv-table-broadcasts.stv-table-main .stv-timecell-time,
.sport-tv-table.stv-table-concurrent .stv-timecell-time{
  font-weight:900;
  font-size:20px;
  letter-spacing:.01em;
}

.sport-tv-table .stv-timecell-end{
  font-size:12px;
  opacity:.78;
  margin-top:-2px;
}

/* Začína o… (len pre NAŽIVO do 60 min) */
.sport-tv-table.stv-table-broadcasts.stv-table-main .stv-timecell-soon{
  font-size:12px;
  font-weight:800;
  opacity:.85;
  margin-top:2px;
}

/* ak je prázdne, nenechávaj prázdny riadok */
.sport-tv-table .stv-timecell-soon:empty{display:none;}

/* wrapper pre dynamické skóre */
.sport-tv-table .stv-live-score-wrap:empty{display:none;}

/* LIVE tabuľky (shortcode_live / sport now=1) */
.stv-live-empty{
  padding:10px 12px;
  font-weight:700;
  opacity:.85;
}

/* NAŽIVO badge */
.sport-tv-table .program-nazivo{
  display:inline-flex;
  align-items:center;
  padding:2px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.03em;
  background:rgba(220, 38, 38, .12);
  color:rgba(180, 20, 20, 1);
  margin-right:6px;
}

/* SKÓRE / API badge (párované prenosy) */
.sport-tv-table .program-api{
  display:inline-flex;
  align-items:center;
  padding:2px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.03em;
  background:rgba(37, 99, 235, .12);
  color:rgba(29, 78, 216, 1);
  margin-right:6px;
}


/* Pozn.: používateľ nechcel "blikajúcu" bodku pri štítku NAŽIVO – vraciame pôvodné správanie.
   Nechávame iba jemné blikanie separátora "•" v live skóre. */
.sport-tv-table .program-nazivo::before,
.stv-cpt-livebox--live .stv-cpt-pill::before{
  content:'';
  display:none;
  animation:none;
}

/* LIVE skóre (API-Football) */
.sport-tv-table .stv-live-score{
  display:inline-flex;
  align-items:center;
  padding:2px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  background:rgba(34, 197, 94, .14);
  color:rgba(22, 101, 52, 1);
  margin-right:6px;
  white-space:nowrap;
}

/* separator medzi časťami (napr. skóre • 00:00 • SET 1) */
.sport-tv-table .stv-live-score .stv-live-score-sep,
.stv-cpt-livebox .stv-live-score .stv-live-score-sep{
  display:inline-block;
  margin:0 8px;
  opacity:.6;
  font-weight:900;
}

/* Pri prebiehajúcom zápase nech separátor jemne "bliká" (optický signál, že sa to hýbe).
   Finálne výsledky (data-stv-final="1") neanimujeme. */
.stv-live-score:not([data-stv-final="1"]) .stv-live-score-sep{
  animation:stvBlinkSep 1.2s steps(1,end) infinite;
}


.sport-tv-table .stv-live-score .stv-live-score-extra{
  font-size:11px;
  font-weight:700;
  margin-left:6px;
  opacity:.85;
}

/* Zvýraznenie slovenských prenosov */
.sport-tv-table tr.stv-row-svk td:first-child{
  border-left:4px solid #0B4EA2;
  padding-left:10px;
}
.sport-tv-table tr.stv-row-svk td{
  background:linear-gradient(90deg, rgba(11,78,162,.08), transparent 42%);
}

/* Odkazy */
.sport-tv-table a{
  color:inherit;
  text-decoration:none;
}
.sport-tv-table a:hover{
  text-decoration:underline;
}

/* „Program práve beží“ – progress */
.sport-tv-table .program-bezi-nadpis{
  display:inline-block;
  margin-top:8px;
  font-weight:700;
  font-size:12px;
  opacity:.8;
}

.sport-tv-table .program-bezi-stav{
  margin:6px 0 4px;
  height:8px;
  border-radius:999px;
  background:rgba(249, 115, 22, .22);
  overflow:hidden;
  border:none !important;
  outline:0 !important;
  box-shadow:none !important;
}

.sport-tv-table .program-bezi-stav-act{
  height:100%;
  background:linear-gradient(90deg, rgba(249, 115, 22, 1), rgba(239, 68, 68, 1));
}

.sport-tv-table .program-bezi-percento,
.sport-tv-table .program-bezi-bude-bezat{
  font-size:12px;
  opacity:.75;
  margin-right:10px;
}

/* Lepší mobilný layout pre prehľady – bez horizontálneho scrollu */
@media (max-width: 767px){
  .sport-tv-table-wrap{
    overflow-x:visible;
  }

  .sport-tv-table{
    display:block;
    border:none;
    box-shadow:none;
    background:transparent;
  }

  .sport-tv-table thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }

  .sport-tv-table tbody{
    display:block;
  }

  .sport-tv-table.stv-table-broadcasts.stv-table-main tbody tr{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(120px, 38%);
    grid-template-areas:
      'station time'
      'program program';
    align-items:start;
    margin:0 0 12px;
    border:1px solid var(--stv-border, rgba(0,0,0,.08));
    border-radius:var(--stv-radius, 14px);
    background:var(--stv-bg, #fff);
    box-shadow:0 10px 28px rgba(0,0,0,.06);
    overflow:hidden;
  }

  .sport-tv-table tbody tr:last-child{
    margin-bottom:0;
  }

  .sport-tv-table.stv-table-broadcasts.stv-table-main td,
.sport-tv-table.stv-table-concurrent td{
    display:block;
    width:auto;
    min-width:0;
    padding:10px 12px;
    box-sizing:border-box;
    white-space:normal;
    overflow-wrap:anywhere;
    border:none;
  }

  .sport-tv-table.stv-table-broadcasts.stv-table-main td:nth-child(1){
    grid-area:station;
  }

  .sport-tv-table.stv-table-broadcasts.stv-table-main td:nth-child(2){
    grid-area:time;
    text-align:center;
    white-space:normal;
    border-left:1px solid var(--stv-border, rgba(0,0,0,.08));
  }

  .sport-tv-table.stv-table-broadcasts.stv-table-main td:nth-child(3){
    grid-area:program;
    border-top:1px solid var(--stv-border, rgba(0,0,0,.08));
  }

  .sport-tv-table.stv-table-broadcasts.stv-table-main td:nth-child(1)::before,
  .sport-tv-table.stv-table-broadcasts.stv-table-main td:nth-child(2)::before,
  .sport-tv-table.stv-table-broadcasts.stv-table-main td:nth-child(3)::before{
    display:block;
    margin:0 0 6px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
    opacity:.62;
  }

  .sport-tv-table.stv-table-broadcasts.stv-table-main td:nth-child(1)::before{ content:'TV / online'; }
  .sport-tv-table.stv-table-broadcasts.stv-table-main td:nth-child(2)::before{ content:'Začiatok'; }
  .sport-tv-table.stv-table-broadcasts.stv-table-main td:nth-child(3)::before{ content:'Program'; }
  .sport-tv-table.stv-table-broadcasts.stv-table-main td[colspan]{
    grid-column:1 / -1;
    width:100%;
    border:none;
  }
  .sport-tv-table.stv-table-broadcasts.stv-table-main td[colspan]::before{ display:none; }

  .sport-tv-table.stv-table-broadcasts.stv-table-main .stv-station-name{
    display:block;
  }

  .sport-tv-table.stv-table-broadcasts.stv-table-main .stv-stream-mini{
    margin-top:8px;
    max-width:100%;
    white-space:normal;
  }

  .sport-tv-table.stv-table-broadcasts.stv-table-main .stv-timecell,
.sport-tv-table.stv-table-concurrent .stv-timecell{
    align-items:center;
    text-align:center;
  }

  .sport-tv-table.stv-table-broadcasts.stv-table-main .stv-timecell-flag,
  .sport-tv-table.stv-table-broadcasts.stv-table-main .stv-timecell-label{
    justify-content:center;
  }

  .sport-tv-table.stv-table-broadcasts.stv-table-main .stv-timecell-time,
.sport-tv-table.stv-table-concurrent .stv-timecell-time{
    font-size:18px;
  }

  .sport-tv-table.stv-table-broadcasts.stv-table-main .stv-timecell-end,
  .sport-tv-table.stv-table-broadcasts.stv-table-main .stv-timecell-soon{
    margin-top:0;
  }

  .sport-tv-table .stv-live-score-wrap,
  .sport-tv-table .program-nazivo,
  .sport-tv-table .program-zaznam{
    display:inline-flex;
    max-width:100%;
    vertical-align:top;
  }

  .sport-tv-table .stv-live-score-wrap{
    margin:0 0 6px;
  }

  .sport-tv-table .program-bezi-percento,
  .sport-tv-table .program-bezi-bude-bezat{
    display:inline-block;
    margin-top:4px;
  }

  .sport-tv-table tr.stv-row-svk td:first-child{
    padding-left:12px;
  }
}


@media (max-width: 767px){
  /* Detail zápasu – tabuľka ďalších zápasov má vlastný 4-stĺpcový mobilný layout */
  .sport-tv-table.stv-table-concurrent tbody tr{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(120px, 42%);
    grid-template-areas:
      "time status"
      "match match"
      "station station";
    align-items:start;
    margin:0 0 12px;
    border:1px solid var(--stv-border, rgba(0,0,0,.08));
    border-radius:var(--stv-radius, 14px);
    background:var(--stv-bg, #fff);
    box-shadow:0 10px 28px rgba(0,0,0,.06);
    overflow:hidden;
  }

  .sport-tv-table.stv-table-concurrent td{
    display:block;
    width:auto;
    min-width:0;
    padding:10px 12px;
    box-sizing:border-box;
    white-space:normal;
    overflow-wrap:anywhere;
    border:none;
  }

  .sport-tv-table.stv-table-concurrent td:nth-child(1){
    grid-area:time;
    text-align:center;
    border-right:1px solid var(--stv-border, rgba(0,0,0,.08));
  }

  .sport-tv-table.stv-table-concurrent td:nth-child(4){
    grid-area:status;
    text-align:center;
  }

  .sport-tv-table.stv-table-concurrent td:nth-child(2){
    grid-area:match;
    border-top:1px solid var(--stv-border, rgba(0,0,0,.08));
    font-weight:800;
  }

  .sport-tv-table.stv-table-concurrent td:nth-child(3){
    grid-area:station;
    border-top:1px solid var(--stv-border, rgba(0,0,0,.08));
  }

  .sport-tv-table.stv-table-concurrent td:nth-child(1)::before,
  .sport-tv-table.stv-table-concurrent td:nth-child(4)::before,
  .sport-tv-table.stv-table-concurrent td:nth-child(2)::before,
  .sport-tv-table.stv-table-concurrent td:nth-child(3)::before{
    display:block;
    margin:0 0 6px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
    opacity:.62;
  }

  .sport-tv-table.stv-table-concurrent td:nth-child(1)::before{ content:'Čas'; }
  .sport-tv-table.stv-table-concurrent td:nth-child(4)::before{ content:'Stav'; }
  .sport-tv-table.stv-table-concurrent td:nth-child(2)::before{ content:'Zápas'; }
  .sport-tv-table.stv-table-concurrent td:nth-child(3)::before{ content:'Stanica'; }

  .sport-tv-table.stv-table-concurrent .stv-timecell{
    align-items:center;
    text-align:center;
  }

  .sport-tv-table.stv-table-concurrent .stv-timecell-time{
    font-size:18px;
  }

  .sport-tv-table.stv-table-concurrent .stv-timecell-end,
  .sport-tv-table.stv-table-concurrent .stv-live-score-wrap{
    margin-top:0;
  }

  .sport-tv-table.stv-table-concurrent td:nth-child(2) a{
    display:inline-block;
    text-decoration:none;
  }

  .sport-tv-table.stv-table-concurrent td:nth-child(3) img{
    display:block;
    margin-bottom:8px;
  }
}


/* Filter panel (GET filtre nad tabuľkou) */
.stv-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:flex-end;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid var(--stv-border, rgba(0,0,0,.08));
  border-radius:var(--stv-radius, 14px);
  background:var(--stv-filters-bg, rgba(0,0,0,.02));
  box-shadow:0 6px 18px rgba(0,0,0,.04);
}
.stv-filter{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:160px;
}
.stv-filter-label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  opacity:.85;
}
.stv-filters select{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--stv-border, rgba(0,0,0,.10));
  background:#fff;
  padding:9px 12px;
  border-radius:12px;
  font-weight:700;
  font-size:14px;
  line-height:1.2;
}
.stv-filters select:focus{
  outline:none;
  box-shadow:0 0 0 3px rgba(0,0,0,.10);
  border-color:rgba(0,0,0,.22);
}

.stv-filter-checks{
  display:flex !important;
  flex-direction:row !important; /* checkboxy vedľa seba */
  flex-basis:100%;
  gap:10px;
  align-items:center;
  min-width:auto;
  flex-wrap:wrap; /* aby sa na mobile nelámalo do horizontálneho scrollu */
}
.stv-check{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid var(--stv-border, rgba(0,0,0,.10));
  background:#fff;
  cursor:pointer;
  user-select:none;
  font-weight:800;
  font-size:13px;
  flex:0 0 auto;
}
.stv-check input{
  margin:0;
  accent-color: rgb(239, 68, 68);
}
.stv-check:has(input:checked){
  border-color:rgba(0,0,0,.22);
  background:rgba(0,0,0,.04);
}

/* Anchor pre návrat na panel volieb po reload-e */
#stv-filters{ scroll-margin-top: 90px; }

/* ZÁZNAM badge (keď sa miešajú typy prenosov) */
.sport-tv-table .program-zaznam{
  display:inline-flex;
  align-items:center;
  padding:2px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.03em;
  background:rgba(59, 130, 246, .12);
  color:rgba(30, 64, 175, 1);
  margin-right:6px;
}

/* Začiatok – centrované (vlajka + badge + čas) */
.sport-tv-table.stv-table-broadcasts.stv-table-main td:nth-child(2){
  text-align:center;
  white-space:nowrap;
}
.stv-timecell{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
}
.stv-timecell-flag{
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
}
.stv-timecell-time{
  font-weight:900;
  font-size:18px;
}

/* Empty state */
.sport-tv-table .stv-empty{
  text-align:center;
  padding:22px 14px;
  font-weight:700;
  opacity:.8;
}

/* Smart default hláška nad tabuľkou */
.stv-smart-notice{
  margin:12px 0;
  font-weight:700;
}


/* ==========================================================
 * Oficiálny stream – tlačidlá (detail CPT) + mini link (zoznam)
 * ========================================================== */
.stv-stream-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:10px 0 16px;
}

.stv-stream-btn{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
  text-decoration:none;
  color:inherit;
  font-weight:900;
  line-height:1.15;
}
.stv-stream-btn:hover{
  text-decoration:none;
  box-shadow:0 14px 32px rgba(0,0,0,.08);
}
.stv-stream-btn.stv-stream-disabled{
  opacity:.65;
  box-shadow:none;
  cursor:default;
}
.stv-stream-btn.stv-stream-disabled:hover{ box-shadow:none; }
.stv-stream-btn::before{
  content:'▶';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  font-size:13px;
}
.stv-stream-btn.stv-stream-radio::before{ content:'🎧'; }

.stv-stream-btn .stv-stream-station{
  margin-left:8px;
  font-weight:800;
  font-size:12px;
  opacity:.75;
}

.stv-stream-tags{
  display:inline-flex;
  gap:6px;
  margin-left:8px;
}
.stv-stream-tag{
  display:inline-flex;
  align-items:center;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  background:rgba(0,0,0,.06);
  opacity:.9;
}

/* mini link v zozname pri stanici */
.stv-station-stream{ margin-top:6px; }
.stv-stream-mini{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(0,0,0,.02);
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}
.stv-stream-mini::before{ content:'📺'; }
.stv-stream-mini.stv-stream-disabled{ opacity:.65; cursor:default; }
.stv-stream-mini.stv-stream-radio::before{ content:'🎧'; }
.stv-stream-mini.stv-stream-ott::before{ content:'▶'; }

@media (max-width: 640px){
  .stv-stream-btn{ width:100%; }
}

/* ==========================================================
 * CPT detail – moderný LIVE box (stav prenosu + stav zápasu)
 * ========================================================== */
.stv-cpt-livebox{
  margin:18px 0 22px;
  padding:14px 14px 12px;
  border-radius:18px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(0,0,0,.015);
  box-shadow:0 10px 28px rgba(0,0,0,.06);
}

.stv-cpt-livebox__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.stv-cpt-livebox__topLeft{
  display:flex;
  align-items:center;
  gap:10px;
}

.stv-cpt-pill{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
}

.stv-cpt-livebox--live .stv-cpt-pill{
  background:rgba(220, 38, 38, .12);
  border-color:rgba(220, 38, 38, .18);
}

.stv-cpt-livebox--ended .stv-cpt-pill{
  background:rgba(0,0,0,.05);
}

.stv-cpt-livebox--upcoming .stv-cpt-pill{
  background:rgba(249, 115, 22, .14);
  border-color:rgba(249, 115, 22, .18);
}

.stv-cpt-livebox__title{
  font-weight:900;
  font-size:16px;
  line-height:1.25;
}

.stv-cpt-livebox__meta{
  font-size:13px;
  font-weight:800;
  opacity:.78;
}

.stv-cpt-livebox__bar{
  margin-top:10px;
  height:10px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(0,0,0,.07);
}

.stv-cpt-livebox__barFill{
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(249, 115, 22, 1), rgba(239, 68, 68, 1));
  transition:width .35s ease;
}

.stv-cpt-livebox--ended .stv-cpt-livebox__barFill{
  opacity:.55;
}

.stv-cpt-livebox__bottom{
  margin-top:12px;
}

.stv-cpt-livebox__kvLabel{
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  opacity:.75;
  margin-bottom:6px;
}

.stv-cpt-livebox__kvValue{
  font-size:16px;
  font-weight:900;
  line-height:1.25;
}

/* Konečný stav (CPT detail) */
.stv-cpt-livebox .stv-match-final-note{
  margin-top:8px;
  font-size:12px;
  font-weight:800;
  opacity:.78;
}

/* Názvy tímov pri skóre (CPT detail) */
.stv-cpt-livebox__teams{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:8px;
  font-size:13px;
  font-weight:850;
  opacity:.88;
}
.stv-cpt-teamSep{
  opacity:.55;
  font-weight:900;
}
.stv-cpt-team{
  display:inline-block;
}


.stv-cpt-livebox__comp{
  margin:-2px 0 8px;
  font-size:12px;
  font-weight:800;
  opacity:.75;
}

.stv-cpt-livebox__hint{
  margin-top:6px;
  font-size:13px;
  font-weight:700;
  opacity:.8;
}

/* Skóre badge (v detaile, mimo tabuľky) */
.stv-cpt-livebox .program-nazivo,
.stv-cpt-livebox .stv-live-score{
  display:inline-flex;
  align-items:center;
  padding:3px 10px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}

.stv-cpt-livebox .program-nazivo{
  background:rgba(220, 38, 38, .12);
  color:rgba(180, 20, 20, 1);
  margin-right:6px;
}

.stv-cpt-livebox .stv-live-score{
  background:rgba(34, 197, 94, .14);
  color:rgba(22, 101, 52, 1);
  margin-right:6px;
}

.stv-cpt-livebox .stv-live-score .stv-live-score-extra{
  font-size:12px;
  font-weight:800;
  margin-left:8px;
  opacity:.85;
}

/* Loading */
.stv-cpt-livebox .stv-loading{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  opacity:.82;
}
.stv-cpt-livebox .stv-loading::after{
  content:'';
  width:14px;
  height:14px;
  border-radius:999px;
  border:2px solid rgba(0,0,0,.18);
  border-top-color: rgba(0,0,0,.55);
  display:inline-block;
  animation:stvSpin .9s linear infinite;
}
@keyframes stvSpin{ to { transform: rotate(360deg); } }

/* Animácie */
@keyframes stvPulseDot{
  0%{ transform:translateY(-.5px) scale(1); opacity:.35; }
  50%{ transform:translateY(-.5px) scale(1.35); opacity:.95; }
  100%{ transform:translateY(-.5px) scale(1); opacity:.35; }
}
@keyframes stvBlinkSep{
  0%,49%{ opacity:.35; }
  50%,100%{ opacity:.85; }
}

/* Jemné "pop" pri zmene badge (JS pridá triedu .stv-badge-updated na wrapper) */
.stv-badge-updated .stv-live-score{
  animation:stvBadgePop .65s ease;
}
.sport-tv-table tr.stv-row-score-updated td{
  animation:stvRowScoreFlash 3s ease;
}

.sport-tv-table .stv-score-moment{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  opacity:0;
  transform:translateY(-4px);
  pointer-events:none;
}

.sport-tv-table .stv-score-moment.is-active{
  opacity:1;
  transform:translateY(0);
  transition:opacity .2s ease, transform .2s ease;
}

.sport-tv-table .stv-score-moment__badge{
  display:inline-flex;
  align-items:center;
  padding:2px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  background:rgba(220, 38, 38, .12);
  color:rgba(180, 20, 20, 1);
}

.sport-tv-table .stv-score-moment__text{
  font-size:12px;
  font-weight:800;
  color:rgba(22, 101, 52, 1);
}

.stv-recent-finished{
  margin-top:18px;
}

.stv-recent-finished__title{
  font-size:18px;
  font-weight:900;
  margin:0 0 10px;
}
@keyframes stvBadgePop{
  0%{ transform:scale(1); filter:brightness(1); }
  35%{ transform:scale(1.06); filter:brightness(1.08); }
  100%{ transform:scale(1); filter:brightness(1); }
}
@keyframes stvRowScoreFlash{
  0%{ background-color:rgba(250, 204, 21, .22); }
  100%{ background-color:transparent; }
}

@media (prefers-reduced-motion: reduce){
  .sport-tv-table .program-nazivo::before,
  .stv-cpt-livebox--live .stv-cpt-pill::before,
  .stv-live-score:not([data-stv-final="1"]) .stv-live-score-sep,
  .stv-badge-updated .stv-live-score,
  .sport-tv-table tr.stv-row-score-updated td,
  .stv-cpt-livebox .stv-loading::after{
    animation:none !important;
  }
  .sport-tv-table .stv-score-moment{
    transition:none !important;
  }
}

@media (max-width: 640px){
  .stv-cpt-livebox{ padding:12px 12px 10px; }
  .stv-cpt-livebox__title{ font-size:15px; }
}

/* ==========================================================
 * CPT detail – match facts + timeline
 * ========================================================== */
.stv-match-facts__lead{
  margin-top:12px;
}
.stv-f1-weekend-box__lead{
  margin:12px 0 14px;
}
.stv-match-info-note{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(0,0,0,.08);
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(249,115,22,.05));
  box-shadow:0 10px 26px rgba(0,0,0,.05);
}
.stv-match-info-note__icon{
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  line-height:1;
  color:#fff;
  background:linear-gradient(135deg, #f97316, #ef4444);
  box-shadow:0 10px 20px rgba(249,115,22,.22);
}
.stv-match-info-note__body{
  min-width:0;
}
.stv-match-info-note__title{
  font-size:15px;
  line-height:1.3;
  font-weight:900;
  margin-bottom:4px;
}
.stv-match-info-note__text{
  font-size:13px;
  line-height:1.5;
  font-weight:700;
  opacity:.8;
}
.stv-match-info-note__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.stv-match-info-note__chip{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(0,0,0,.06);
  font-size:11px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.02em;
}
.stv-match-info-note--live{
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(34,197,94,.06));
}
.stv-match-info-note--live .stv-match-info-note__icon{
  background:linear-gradient(135deg, #22c55e, #16a34a);
  box-shadow:0 10px 20px rgba(34,197,94,.22);
}
.stv-match-info-note--finished{
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(59,130,246,.05));
}
.stv-match-info-note--finished .stv-match-info-note__icon{
  background:linear-gradient(135deg, #3b82f6, #2563eb);
  box-shadow:0 10px 20px rgba(59,130,246,.20);
}
.stv-match-facts__lead .stv-league-box,
.stv-match-facts__lead .stv-sidecard{
  margin:0;
}
.stv-match-facts__featured{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:12px;
}
.stv-match-facts__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}
.stv-match-facts__grid--f1{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.stv-match-facts__scoregrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}
.stv-match-fact{
  align-self:start;
  min-width:0;
  padding:12px 13px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(0,0,0,.015));
  box-shadow:0 8px 22px rgba(0,0,0,.04);
}
.stv-match-fact__label{
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:.62;
  margin-bottom:6px;
}
.stv-match-fact__value{
  font-size:15px;
  line-height:1.35;
  font-weight:850;
}
.stv-match-fact__sub{
  margin-top:6px;
  font-size:12px;
  font-weight:700;
  opacity:.72;
}

.stv-match-fact--state-wide{
  grid-column:1/-1;
}
.stv-match-fact--state .stv-live-score,
.stv-match-state-pill{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px 0;
  max-width:100%;
  padding:5px 11px;
  border-radius:16px;
  background:rgba(34, 197, 94, .14);
  color:rgba(22, 101, 52, 1);
  font-size:14px;
  font-weight:900;
  line-height:1.25;
  white-space:normal;
}
.stv-match-fact--state .stv-live-score .stv-live-score-sep,
.stv-match-state-pill .stv-live-score-sep{
  opacity:.8;
  margin:0 6px;
}
.stv-match-fact--state .stv-live-score .stv-live-score-extra{
  margin-left:8px;
  font-size:12px;
  font-weight:800;
  opacity:.85;
}

.stv-match-fact--state .stv-match-fact__value,
.stv-match-fact--state .stv-match-fact__sub{
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
}

.stv-match-fact--featured{
  min-height:auto;
}
.stv-match-fact--summary .stv-match-fact__value,
.stv-match-fact__summary{
  font-size:14px;
  line-height:1.55;
  font-weight:750;
}
.stv-match-fact--compact .stv-match-fact__listItem{
  padding:7px 9px;
}
.stv-match-fact--compact .stv-match-fact__listTitle{
  min-width:0;
  font-size:13px;
  line-height:1.35;
}
.stv-match-fact--compact .stv-match-fact__listMeta{
  color:#166534;
  background:rgba(34,197,94,.12);
}
.stv-match-fact--compact .stv-match-fact__sub{
  font-size:11px;
  line-height:1.4;
}
.stv-match-fact--events{
  grid-column:span 1;
}
.stv-match-fact__list{
  list-style:none !important;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}
.stv-match-fact__listItem::marker{
  content:'';
}
.stv-match-fact__listItem{
  list-style:none !important;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(0,0,0,.035);
}
.stv-match-fact__listItem::before{
  content:none !important;
  display:none !important;
}
.stv-match-fact__listTitle{
  min-width:0;
  flex:1 1 auto;
  font-size:14px;
  line-height:1.35;
  font-weight:800;
}
.stv-match-fact__listMeta{
  flex:0 0 auto;
  max-width:48%;
  white-space:nowrap;
  font-size:11px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.02em;
  color:#9a3412;
  background:rgba(249,115,22,.12);
  border-radius:999px;
  padding:5px 8px;
}

.stv-match-timeline__list{
  position:relative;
  margin-top:12px;
}
.stv-match-timeline__list::before{
  content:'';
  position:absolute;
  left:55px;
  top:0;
  bottom:0;
  width:2px;
  background:rgba(0,0,0,.08);
}
.stv-match-timeline__item{
  position:relative;
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
  align-items:start;
  margin-bottom:14px;
}
.stv-match-timeline__item:last-child{ margin-bottom:0; }
.stv-match-timeline__time{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(249,115,22,.12);
  color:#9a3412;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.stv-match-timeline__content{
  position:relative;
  padding:10px 52px 10px 12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.035);
}
.stv-match-timeline__icon{
  position:absolute;
  right:12px;
  top:12px;
  width:24px;
  height:24px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  line-height:1;
  font-weight:900;
  background:rgba(0,0,0,.05);
  color:#374151;
}
.stv-match-timeline__icon--goal{ background:rgba(34,197,94,.14); color:#166534; }
.stv-match-timeline__icon--penalty{ background:rgba(249,115,22,.14); color:#9a3412; }
.stv-match-timeline__icon--substitution{ background:rgba(59,130,246,.12); color:#1d4ed8; }
.stv-match-timeline__icon--milestone{ background:rgba(139,92,246,.14); color:#6d28d9; }
.stv-match-timeline__icon--event{ background:rgba(0,0,0,.05); color:#374151; }
.stv-match-timeline__icon--yellow-card,
.stv-match-timeline__icon--red-card{
  width:18px;
  height:22px;
  border-radius:4px;
  box-shadow:0 4px 10px rgba(0,0,0,.10);
}
.stv-match-timeline__icon--yellow-card{ background:#facc15; }
.stv-match-timeline__icon--red-card{ background:#ef4444; }
.stv-match-timeline__content::before{
  content:'';
  position:absolute;
  left:-18px;
  top:14px;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#f97316;
  box-shadow:0 0 0 5px rgba(249,115,22,.12);
}
.stv-match-timeline__item--goal .stv-match-timeline__content::before{ background:#22c55e; box-shadow:0 0 0 5px rgba(34,197,94,.14); }
.stv-match-timeline__item--yellow-card .stv-match-timeline__content::before{ background:#facc15; box-shadow:0 0 0 5px rgba(250,204,21,.18); }
.stv-match-timeline__item--red-card .stv-match-timeline__content::before{ background:#ef4444; box-shadow:0 0 0 5px rgba(239,68,68,.16); }
.stv-match-timeline__item--substitution .stv-match-timeline__content::before{ background:#3b82f6; box-shadow:0 0 0 5px rgba(59,130,246,.14); }
.stv-match-timeline__item--penalty .stv-match-timeline__content::before{ background:#f97316; box-shadow:0 0 0 5px rgba(249,115,22,.12); }
.stv-match-timeline__item--milestone .stv-match-timeline__content::before{ background:#8b5cf6; box-shadow:0 0 0 5px rgba(139,92,246,.14); }
.stv-match-timeline__item--milestone .stv-match-timeline__time{ background:rgba(139,92,246,.12); color:#6d28d9; }
.stv-match-timeline__team{
  font-size:12px;
  font-weight:900;
  opacity:.72;
  margin-bottom:3px;
}
.stv-match-timeline__meta{
  font-size:11px;
  line-height:1.25;
  font-weight:800;
  opacity:.62;
  margin-bottom:6px;
}
.stv-match-timeline__text{
  font-size:14px;
  line-height:1.45;
  font-weight:700;
}

@media (max-width: 1024px){
  .stv-match-facts__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stv-match-facts__grid--f1{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 900px){
  .stv-match-facts__grid--f1{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px){
  .stv-match-info-note{ padding:13px 14px; }
  .stv-match-info-note__icon{ width:30px; height:30px; }
  .stv-match-info-note__chips{ gap:6px; }
  .stv-match-facts__grid{ grid-template-columns:1fr; }
  .stv-match-facts__grid--f1{ grid-template-columns:1fr; }
  .stv-match-facts__scoregrid{ grid-template-columns:1fr; }
  .stv-match-fact--events{ grid-column:span 1; }
  .stv-match-fact__listItem{ flex-direction:column; align-items:flex-start; }
  .stv-match-fact__listMeta{ max-width:none; white-space:normal; }
  .stv-match-fact--state .stv-live-score{ width:100%; font-size:13px; }
  .stv-match-timeline__list::before{ left:47px; }
  .stv-match-timeline__item{ grid-template-columns:38px 1fr; gap:12px; }
  .stv-match-timeline__content::before{ left:-16px; }
}

/* Formula 1 – jemná animácia presunu riadkov v live poradí */
.stv-f1-results-table tbody tr[data-stv-f1-rank-key],
.stv-f1-grid-table tbody tr[data-stv-f1-rank-key],
.stv-f1-standings-table tbody tr[data-stv-f1-rank-key] {
  will-change: transform;
}

.stv-f1-results-table tbody tr.stv-f1-rank-animating,
.stv-f1-grid-table tbody tr.stv-f1-rank-animating,
.stv-f1-standings-table tbody tr.stv-f1-rank-animating {
  position: relative;
  z-index: 2;
}

.stv-f1-results-table tbody tr.stv-f1-rank-refreshed,
.stv-f1-grid-table tbody tr.stv-f1-rank-refreshed,
.stv-f1-standings-table tbody tr.stv-f1-rank-refreshed {
  background: rgba(255,255,255,0.04);
}

.stv-f1-results-table tbody tr.stv-f1-rank-moved-up,
.stv-f1-grid-table tbody tr.stv-f1-rank-moved-up,
.stv-f1-standings-table tbody tr.stv-f1-rank-moved-up {
  box-shadow: inset 4px 0 0 rgba(34,197,94,0.9);
  background: rgba(34,197,94,0.08);
}

.stv-f1-results-table tbody tr.stv-f1-rank-moved-down,
.stv-f1-grid-table tbody tr.stv-f1-rank-moved-down,
.stv-f1-standings-table tbody tr.stv-f1-rank-moved-down {
  box-shadow: inset 4px 0 0 rgba(245,158,11,0.95);
  background: rgba(245,158,11,0.08);
}

/* === League hub pages (/liga/...) ===================================== */
.stv-league-page{margin:0;padding:0}
.stv-league-hero{margin:0 0 22px 0;padding:0;border:0;background:transparent;border-radius:0}
.stv-league-title{margin:0 0 10px 0;font-size:clamp(1.65rem,2.8vw,2.45rem);line-height:1.12;font-weight:900;letter-spacing:-.035em;color:#0f172a}
.stv-league-sub{margin:0 0 10px 0;color:inherit;opacity:.75}
.stv-league-intro{margin:0;color:inherit;opacity:.92;max-width:none}
.stv-league-card{background:linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(248,250,252,.96) 100%);border:1px solid rgba(148,163,184,.16);border-radius:18px;padding:18px 18px 16px;margin:0 0 26px 0;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.stv-league-card h2{margin:0 0 14px 0;font-size:1.08rem;line-height:1.25}
.stv-league-card--wide{max-width:none;margin-left:0;margin-right:0}
.stv-league-empty{margin:8px 0 0 0;color:inherit;opacity:.75}
.stv-league-empty--info{padding:12px 14px;border:1px solid rgba(59,130,246,.16);border-radius:14px;background:linear-gradient(180deg,rgba(239,246,255,.92) 0%,rgba(248,250,252,.96) 100%);opacity:1;color:#334155}
.stv-league-cachemeta{margin:12px 0 0 0;color:#64748b;font-size:11px;display:flex;flex-direction:column;gap:2px;align-items:flex-start;line-height:1.35}
.stv-league-cachemeta__label{font-weight:400;color:#64748b}
.stv-league-cachemeta__value{font-weight:400;color:#475569}
.stv-league-cachemeta__stale{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:2px 8px;border-radius:999px;background:rgba(245,158,11,.12);color:#b45309;font-weight:800;opacity:1}
.stv-league-subheading{margin:18px 0 10px 0;font-size:.95rem;font-weight:800;color:#0f172a}
.stv-league-table-wrap{border-radius:16px;overflow:hidden}
.sport-tv-table.stv-league-matches,.sport-tv-table.stv-league-standings{border:1px solid rgba(148,163,184,.16);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.05)}
.sport-tv-table.stv-league-matches thead th,.sport-tv-table.stv-league-standings thead th{background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);color:#334155;font-weight:800;border-bottom:1px solid rgba(59,130,246,.14)}
.sport-tv-table.stv-league-matches tbody tr,.sport-tv-table.stv-league-standings tbody tr{transition:background .18s ease,box-shadow .18s ease}
.sport-tv-table.stv-league-matches tbody tr:nth-child(even),.sport-tv-table.stv-league-standings tbody tr:nth-child(even){background:rgba(248,250,252,.72)}
.sport-tv-table.stv-league-matches tbody tr:hover,.sport-tv-table.stv-league-standings tbody tr:hover{background:rgba(239,246,255,.88)}
.sport-tv-table.stv-league-standings tbody tr.stv-league-standings-row--promotion{background:linear-gradient(90deg,rgba(34,197,94,.10) 0%,rgba(34,197,94,.035) 100%)}
.sport-tv-table.stv-league-standings tbody tr.stv-league-standings-row--relegation{background:linear-gradient(90deg,rgba(245,158,11,.12) 0%,rgba(245,158,11,.035) 100%)}
.sport-tv-table.stv-league-standings tbody tr.stv-league-standings-row--promotion:hover{background:linear-gradient(90deg,rgba(34,197,94,.15) 0%,rgba(34,197,94,.055) 100%)}
.sport-tv-table.stv-league-standings tbody tr.stv-league-standings-row--relegation:hover{background:linear-gradient(90deg,rgba(245,158,11,.17) 0%,rgba(245,158,11,.055) 100%)}
.sport-tv-table.stv-league-standings tbody tr.stv-league-standings-row--promotion td:first-child{box-shadow:inset 3px 0 0 rgba(34,197,94,.42)}
.sport-tv-table.stv-league-standings tbody tr.stv-league-standings-row--relegation td:first-child{box-shadow:inset 3px 0 0 rgba(245,158,11,.48)}
.stv-league-standings-notes{margin:8px 0 0 0;color:#64748b;font-size:.83rem;line-height:1.42}
.sport-tv-table.stv-league-matches td,.sport-tv-table.stv-league-standings td{vertical-align:middle}
.sport-tv-table.stv-league-matches td:nth-child(2) a,.sport-tv-table.stv-league-matches td:nth-child(2) span{font-weight:800;color:#0f172a}
.sport-tv-table.stv-league-standings td:nth-child(2){font-weight:800;color:#0f172a}
.sport-tv-table.stv-league-standings td:first-child{font-weight:700;color:#1d4ed8}
.sport-tv-table.stv-league-matches td:last-child{font-weight:700}
.sport-tv-table.stv-league-matches tbody tr[data-stv-live="1"]{background:linear-gradient(180deg,rgba(236,253,245,.92) 0%,rgba(240,253,250,.96) 100%)}
.sport-tv-table.stv-league-matches tbody tr[data-stv-live="1"] td:first-child{box-shadow:inset 4px 0 0 #22c55e}
.stv-league-standings td,.stv-league-standings th{white-space:nowrap}
.stv-league-matches td:nth-child(2){min-width:0}
.stv-league-team-label{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%;vertical-align:middle}
.stv-league-team-label__flag{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;border-radius:999px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);box-shadow:inset 0 0 0 1px rgba(148,163,184,.18);font-size:1rem;line-height:1}
.stv-league-team-label__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stv-league-team-label--match{font-weight:850;color:#0f172a}
.stv-league-team-label--standing{font-weight:850;color:#0f172a}
.stv-league-team-label--chip{font-size:inherit;font-weight:inherit;color:inherit}
.stv-league-match-link{display:inline-flex;max-width:100%;text-decoration:none;color:#0f172a}
.stv-league-match-link:hover,.stv-league-match-link:focus{text-decoration:underline;text-underline-offset:3px}
.stv-league-match-link--static:hover,.stv-league-match-link--static:focus{text-decoration:none}
.stv-league-match-title{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;font-weight:850;color:#0f172a}
.stv-league-match-title__vs{flex:0 0 auto;color:#64748b;font-weight:800}
.stv-league-match-title--plain{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stv-league-time{display:flex;flex-direction:column;gap:2px;line-height:1.2;white-space:nowrap}
.stv-league-time__clock{font-weight:700;color:#0f172a}
.stv-league-time__date{font-size:12px;opacity:.72}
.stv-league-time__date--today,.stv-league-time__date--tomorrow,.stv-league-time__date--yesterday{display:inline-flex;align-items:center;gap:6px;width:max-content;margin-top:1px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.01em;opacity:1}
.stv-league-time__date--today{background:rgba(34,197,94,.12);color:#15803d}
.stv-league-time__date--tomorrow{background:rgba(59,130,246,.12);color:#1d4ed8}
.stv-league-time__date--yesterday{background:rgba(244,63,94,.12);color:#be123c}
.stv-league-matchmeta{margin-top:5px;font-size:12px;opacity:.8;line-height:1.35}
.stv-league-periods{margin-top:5px;font-size:11px;line-height:1.35;color:#64748b;font-weight:600;white-space:normal}
.stv-league-series{margin-top:4px;font-size:12px;line-height:1.35;color:#475569;font-weight:600;white-space:normal}
.stv-league-hub-card{margin:14px 0 18px 0}
.stv-league-hub-card__link{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border:1px solid rgba(59,130,246,.14);border-radius:18px;text-decoration:none;background:linear-gradient(180deg,#fcfdff 0%,#f7faff 100%);box-shadow:0 10px 28px rgba(15,23,42,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;overflow:hidden}
.stv-league-hub-card__link:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#60a5fa 0%,#2563eb 100%);opacity:.95}
.stv-league-hub-card__link:hover,.stv-league-hub-card__link:focus{transform:translateY(-1px);box-shadow:0 16px 34px rgba(15,23,42,.10);border-color:rgba(37,99,235,.26);background:linear-gradient(180deg,#ffffff 0%,#f2f7ff 100%);text-decoration:none}
.stv-league-hub-card__content{display:grid;gap:5px;min-width:0;padding-left:2px}
.stv-league-hub-card__eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2563eb}
.stv-league-hub-card__title{font-size:1.04rem;font-weight:800;line-height:1.25;color:#0f172a}
.stv-league-hub-card__meta{font-size:.92rem;line-height:1.42;color:#475569}
.stv-league-hub-card__action{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;background:rgba(37,99,235,.08);box-shadow:inset 0 0 0 1px rgba(37,99,235,.09);transition:transform .18s ease,background .18s ease,box-shadow .18s ease;flex:0 0 auto}
.stv-league-hub-card__link:hover .stv-league-hub-card__action,.stv-league-hub-card__link:focus .stv-league-hub-card__action{transform:translateX(2px);background:rgba(37,99,235,.12);box-shadow:inset 0 0 0 1px rgba(37,99,235,.15)}
.stv-league-hub-card__arrow{font-size:1rem;line-height:1;color:#1d4ed8;font-weight:700}
@media (max-width:640px){.stv-league-hub-card__link{grid-template-columns:1fr;padding:15px 16px}.stv-league-hub-card__action{width:38px;height:38px}}
.stv-league-card--live{margin-bottom:26px}
.stv-league-watch{display:flex;flex-direction:column;gap:7px;align-items:flex-start;min-width:0}
.stv-league-stations{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.stv-league-station{display:inline-flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.stv-league-station__logo{display:block;max-width:46px;max-height:22px;width:auto;height:auto;object-fit:contain}
.stv-league-station__name{display:inline-block;vertical-align:middle}
.stv-league-streams{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.stv-league-watch-label{font-size:.78rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.stv-league-stream{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:3px 9px;border-radius:999px;background:#eef6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:.86rem;font-weight:750;text-decoration:none;line-height:1.2}
.stv-league-stream:hover,.stv-league-stream:focus{color:#1e40af;background:#dbeafe;text-decoration:none}

@media (max-width:900px){.stv-league-grid{grid-template-columns:1fr}}

@media (max-width:767px){
  .stv-league-page{padding:0}
  .stv-league-card{padding:16px 14px 14px;border-radius:16px}
  .stv-league-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .sport-tv-table.stv-league-standings{
    display:table;
    min-width:420px;
    border:1px solid var(--stv-border, rgba(0,0,0,.08));
    border-radius:var(--stv-radius, 14px);
    background:var(--stv-bg, #fff);
    box-shadow:0 10px 28px rgba(0,0,0,.06);
  }
  .sport-tv-table.stv-league-standings thead{
    position:static;
    width:auto;
    height:auto;
    padding:0;
    margin:0;
    overflow:visible;
    clip:auto;
    white-space:normal;
    border:0;
  }
  .sport-tv-table.stv-league-standings tbody{display:table-row-group}
  .sport-tv-table.stv-league-standings tr{display:table-row}
  .sport-tv-table.stv-league-standings th,
  .sport-tv-table.stv-league-standings td{
    display:table-cell;
    width:auto;
    min-width:0;
    padding:10px 12px;
    white-space:nowrap;
    border:none;
    border-bottom:1px solid var(--stv-border, rgba(0,0,0,.08));
  }
  .sport-tv-table.stv-league-standings tbody tr:last-child td{border-bottom:none}
  .sport-tv-table.stv-league-matches td:nth-child(3) img{
    display:block;
    margin-bottom:8px;
  }
}


/* 3.7.35.100 – SEO preklik na stránku sledovanej ligy v zoznamoch prenosov */
.stv-listing-links{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 2px;align-items:center}
.stv-league-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 10px;border:1px solid rgba(37,99,235,.18);border-radius:999px;background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%);color:#1d4ed8;font-size:.82rem;font-weight:700;line-height:1.25;text-decoration:none;box-shadow:0 6px 16px rgba(15,23,42,.05);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
.stv-league-chip:hover,.stv-league-chip:focus{transform:translateY(-1px);border-color:rgba(37,99,235,.34);background:linear-gradient(180deg,#ffffff 0%,#e9f2ff 100%);color:#1e40af;text-decoration:none;box-shadow:0 10px 22px rgba(15,23,42,.09)}
.stv-league-chip__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:rgba(37,99,235,.10);font-size:.78rem;line-height:1;flex:0 0 auto}
.stv-league-chip__text{display:inline-block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:640px){.stv-league-chip{font-size:.78rem;padding:5px 9px}.stv-league-chip__text{max-width:220px}}
.stv-league-card--overview{position:relative;overflow:hidden;margin-bottom:26px;background:linear-gradient(135deg,rgba(239,246,255,.95) 0%,rgba(255,255,255,.96) 46%,rgba(240,253,250,.82) 100%);border-color:rgba(37,99,235,.16);box-shadow:0 16px 38px rgba(15,23,42,.07)}
.stv-league-card--overview::before{content:"";position:absolute;inset:-80px -60px auto auto;width:190px;height:190px;border-radius:999px;background:radial-gradient(circle,rgba(37,99,235,.13) 0%,rgba(37,99,235,0) 68%);pointer-events:none}
.stv-league-card--overview h2{display:flex;align-items:center;gap:9px;position:relative}
.stv-league-card--overview h2::before{content:"🏒";display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:11px;background:#fff;border:1px solid rgba(37,99,235,.16);box-shadow:0 8px 18px rgba(15,23,42,.08);font-size:1rem;line-height:1}
.stv-league-overview-section{position:relative;margin:0 0 18px 0}
.stv-league-overview-section:last-child{margin-bottom:0}
.stv-league-overview-section h3{display:flex;align-items:center;gap:8px;margin:0 0 10px 0;font-size:.98rem;line-height:1.3;color:#0f172a;font-weight:800}
.stv-league-overview-section h3::before{content:"";width:8px;height:8px;border-radius:999px;background:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.10)}
.stv-league-overview-section p{margin:0;color:#475569;line-height:1.55}
.stv-league-system-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.stv-league-system-list__item{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid rgba(37,99,235,.14);border-radius:999px;background:rgba(255,255,255,.86);padding:6px 11px;box-shadow:0 8px 18px rgba(15,23,42,.05);color:#334155;font-size:.84rem;line-height:1.25}
.stv-league-system-list__rank{font-weight:850;color:#1e40af;white-space:nowrap}
.stv-league-system-list__arrow{color:#64748b;font-weight:800;line-height:1}
.stv-league-system-list__label{font-weight:700}
.stv-league-teams-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:8px}
.stv-league-teams-group{border:1px solid rgba(37,99,235,.12);border-radius:16px;background:rgba(255,255,255,.78);padding:13px;box-shadow:0 10px 24px rgba(15,23,42,.055)}
.stv-league-teams-group h4{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px 0;font-size:.92rem;line-height:1.3;color:#1e40af;font-weight:850}
.stv-league-teams-group__count{display:inline-flex;align-items:center;border:1px solid rgba(37,99,235,.12);border-radius:999px;background:rgba(37,99,235,.07);padding:2px 7px;color:#475569;font-size:.72rem;font-weight:800;white-space:nowrap}
.stv-league-teams-list{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}
.stv-league-teams-list li,.stv-league-team-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(37,99,235,.12);border-radius:999px;background:#fff;padding:5px 10px;font-size:.82rem;font-weight:750;color:#334155;line-height:1.25;box-shadow:0 5px 12px rgba(15,23,42,.04)}
.stv-league-team-chip__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;border-radius:999px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);box-shadow:inset 0 0 0 1px rgba(148,163,184,.18);font-size:1rem;line-height:1}
.stv-league-team-chip__name{min-width:0}
.stv-league-team-chip .stv-league-team-label{max-width:100%}
@media (max-width:640px){.stv-league-card--overview h2::before{width:29px;height:29px}.stv-league-system-list{gap:7px}.stv-league-system-list__item{width:100%;justify-content:flex-start;border-radius:13px}.stv-league-teams-grid{grid-template-columns:1fr}.stv-league-teams-group{padding:11px 12px}.stv-league-teams-list li{font-size:.78rem}.stv-league-team-chip__icon{width:20px;height:20px;flex-basis:20px}}

/* 3.7.35.123 – informačný box a zápasy Slovenska na stránkach sledovaných líg */
.stv-league-card--facts{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.96) 0%,rgba(248,250,252,.96) 52%,rgba(239,246,255,.82) 100%)}
.stv-league-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0;padding:0}
.stv-league-fact{display:grid;gap:4px;padding:12px 13px;border:1px solid rgba(59,130,246,.14);border-radius:15px;background:rgba(255,255,255,.82);box-shadow:0 8px 18px rgba(15,23,42,.045)}
.stv-league-fact dt{margin:0;color:#64748b;font-size:.76rem;font-weight:800;line-height:1.25;letter-spacing:.04em;text-transform:uppercase}
.stv-league-fact dd{margin:0;color:#0f172a;font-size:1rem;font-weight:850;line-height:1.25}
.stv-league-card--slovakia{border-color:rgba(14,165,233,.18);background:linear-gradient(135deg,rgba(240,249,255,.94) 0%,rgba(255,255,255,.96) 55%,rgba(239,246,255,.82) 100%)}
.stv-league-card--slovakia h2{display:flex;align-items:center;gap:9px}
.stv-league-card--slovakia h2::before{content:"🇸🇰";display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:11px;background:#fff;border:1px solid rgba(14,165,233,.16);box-shadow:0 8px 18px rgba(15,23,42,.07);font-size:1rem;line-height:1}
@media (max-width:640px){.stv-league-facts{grid-template-columns:1fr}.stv-league-fact{padding:11px 12px}.stv-league-card--slovakia h2::before{width:29px;height:29px}}
.stv-league-station--predicted .stv-league-station__name{border-bottom:1px dotted currentColor}

/* 3.7.35.175 – ligové zápasy: čitateľnejší stav a celé názvy tímov na mobile */
.sport-tv-table.stv-league-matches .stv-league-result-score{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:normal;
}
.sport-tv-table.stv-league-matches .stv-league-result-score__value{
  font-size:14px;
  line-height:1;
  font-weight:900;
}
.sport-tv-table.stv-league-matches .stv-league-result-score__label{
  font-size:12px;
  line-height:1.25;
  font-weight:700;
  opacity:.9;
}

@media (max-width:767px){
  .sport-tv-table.stv-league-matches{
    display:block;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
  }
  .sport-tv-table.stv-league-matches thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .sport-tv-table.stv-league-matches tbody{
    display:grid;
    gap:12px;
  }
  .sport-tv-table.stv-league-matches tr,
  .sport-tv-table.stv-league-matches tbody tr:nth-child(even),
  .sport-tv-table.stv-league-matches tbody tr:hover{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding:13px 13px 12px;
    border:1px solid rgba(148,163,184,.18);
    border-radius:15px;
    background:#fff;
    box-shadow:0 8px 22px rgba(15,23,42,.055);
  }
  .sport-tv-table.stv-league-matches td{
    display:block;
    width:100%;
    min-width:0;
    padding:0;
    border:0;
    white-space:normal;
  }
  .sport-tv-table.stv-league-matches td::before{
    content:attr(data-label);
    display:block;
    margin:0 0 3px;
    font-size:10px;
    line-height:1.2;
    font-weight:850;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#64748b;
  }
  .sport-tv-table.stv-league-matches td[data-label="Čas"]{
    order:1;
  }
  .sport-tv-table.stv-league-matches td[data-label="Zápas"]{
    order:2;
  }
  .sport-tv-table.stv-league-matches td[data-label="Stav"]{
    order:3;
  }
  .sport-tv-table.stv-league-matches td[data-label="Stanica"]{
    order:4;
  }
  .sport-tv-table.stv-league-matches .stv-league-time{
    align-items:flex-start;
  }
  .sport-tv-table.stv-league-matches .stv-league-time__clock{
    font-size:16px;
    font-weight:900;
  }
  .sport-tv-table.stv-league-matches .stv-league-match-link{
    display:block;
    width:100%;
  }
  .sport-tv-table.stv-league-matches .stv-league-match-title{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    max-width:none;
    width:100%;
  }
  .sport-tv-table.stv-league-matches .stv-league-match-title__vs{
    line-height:1;
    padding-left:2px;
  }
  .sport-tv-table.stv-league-matches .stv-league-team-label{
    max-width:none;
    width:100%;
  }
  .sport-tv-table.stv-league-matches .stv-league-team-label__name,
  .sport-tv-table.stv-league-matches .stv-league-match-title--plain{
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
  }
  .sport-tv-table.stv-league-matches .stv-live-score-wrap{
    display:block;
  }
  .sport-tv-table.stv-league-matches .stv-league-result-score{
    display:inline-flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    padding:7px 10px;
    max-width:100%;
  }
  .sport-tv-table.stv-league-matches .stv-league-result-score__value{
    font-size:19px;
    line-height:1;
    font-weight:950;
    letter-spacing:.01em;
  }
  .sport-tv-table.stv-league-matches .stv-league-result-score__label{
    font-size:12px;
    line-height:1.25;
    font-weight:750;
  }
  .sport-tv-table.stv-league-matches .stv-league-periods,
  .sport-tv-table.stv-league-matches .stv-league-series,
  .sport-tv-table.stv-league-matches .stv-league-matchmeta{
    font-size:12px;
    line-height:1.35;
  }
  .sport-tv-table.stv-league-matches .stv-league-station{
    display:flex;
    align-items:center;
    gap:8px;
  }
}


/* 3.7.35.176 – drobné doladenie mobilných kariet ligových zápasov */
@media (max-width:767px){
  .sport-tv-table.stv-league-matches td[data-label="Stav"],
  .sport-tv-table.stv-league-matches .stv-live-score-wrap{
    text-align:center;
  }
  .sport-tv-table.stv-league-matches .stv-league-result-score{
    align-items:center;
    text-align:center;
  }
  .sport-tv-table.stv-league-matches .stv-league-team-label__name,
  .sport-tv-table.stv-league-matches .stv-league-match-title--plain{
    font-size:15px;
    line-height:1.28;
  }
}


/* 3.7.35.177 – jemné označenie klikateľného detailu zápasu na mobile */
.stv-league-match-cta{display:none}
@media (max-width:767px){
  .sport-tv-table.stv-league-matches .stv-league-match-cta{
    display:inline-flex;
    align-items:center;
    gap:5px;
    width:max-content;
    max-width:100%;
    margin-top:8px;
    padding:5px 10px;
    border:1px solid rgba(37,99,235,.18);
    border-radius:999px;
    background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%);
    color:#1d4ed8;
    font-size:12px;
    line-height:1.2;
    font-weight:850;
    text-decoration:none;
    box-shadow:0 6px 16px rgba(15,23,42,.045);
  }
  .sport-tv-table.stv-league-matches .stv-league-match-cta:hover,
  .sport-tv-table.stv-league-matches .stv-league-match-cta:focus{
    transform:translateY(-1px);
    border-color:rgba(37,99,235,.32);
    background:linear-gradient(180deg,#fff 0%,#e9f2ff 100%);
    color:#1e40af;
    text-decoration:none;
  }
}

/* 3.7.35.199 – sledované ligy: čisté live karty bez zeleného preblikávania celej tabuľky */
.sport-tv-table.stv-league-matches tbody tr[data-stv-live="1"],
.sport-tv-table.stv-league-matches tbody tr[data-stv-live="1"]:hover{
  background:#fff;
}
.sport-tv-table.stv-league-matches tbody tr[data-stv-live="1"] td:first-child{
  box-shadow:inset 3px 0 0 rgba(34,197,94,.88);
}
.sport-tv-table.stv-league-matches tr.stv-row-score-updated td{
  animation:none;
}
.sport-tv-table.stv-league-matches .stv-badge-updated .stv-live-score,
.sport-tv-table.stv-league-matches .stv-badge-updated .stv-league-result-score{
  animation:stvBadgePop .45s ease;
}
.stv-league-page.stv-league-refreshing,
.stv-league-page.stv-league-refreshing *{
  transition:none !important;
  animation:none !important;
}

@media (max-width:767px){
  .stv-league-table-wrap--matches{
    overflow:visible;
  }
  .sport-tv-table.stv-league-matches,
  .sport-tv-table.stv-table-concurrent.stv-league-matches{
    display:block;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
  }
  .sport-tv-table.stv-league-matches tbody,
  .sport-tv-table.stv-table-concurrent.stv-league-matches tbody{
    display:grid;
    gap:12px;
  }
  .sport-tv-table.stv-league-matches tr,
  .sport-tv-table.stv-table-concurrent.stv-league-matches tbody tr,
  .sport-tv-table.stv-league-matches tbody tr:nth-child(even),
  .sport-tv-table.stv-table-concurrent.stv-league-matches tbody tr:nth-child(even),
  .sport-tv-table.stv-league-matches tbody tr:hover,
  .sport-tv-table.stv-table-concurrent.stv-league-matches tbody tr:hover,
  .sport-tv-table.stv-league-matches tbody tr[data-stv-live="1"],
  .sport-tv-table.stv-table-concurrent.stv-league-matches tbody tr[data-stv-live="1"],
  .sport-tv-table.stv-league-matches tbody tr[data-stv-live="1"]:hover,
  .sport-tv-table.stv-table-concurrent.stv-league-matches tbody tr[data-stv-live="1"]:hover{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(126px, 43%);
    grid-template-areas:
      "time status"
      "match match"
      "station station";
    gap:0;
    margin:0;
    padding:0;
    border:1px solid rgba(148,163,184,.18);
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 22px rgba(15,23,42,.055);
    overflow:hidden;
  }
  .sport-tv-table.stv-league-matches tbody tr[data-stv-live="1"]::before,
  .sport-tv-table.stv-table-concurrent.stv-league-matches tbody tr[data-stv-live="1"]::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:#22c55e;
    pointer-events:none;
  }
  .sport-tv-table.stv-league-matches td,
  .sport-tv-table.stv-table-concurrent.stv-league-matches td,
  .sport-tv-table.stv-league-matches tbody tr[data-stv-live="1"] td:first-child,
  .sport-tv-table.stv-table-concurrent.stv-league-matches tbody tr[data-stv-live="1"] td:first-child{
    display:block;
    min-width:0;
    width:auto;
    padding:10px 12px;
    border:0;
    box-shadow:none;
    box-sizing:border-box;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .sport-tv-table.stv-league-matches td[data-label="Čas"],
  .sport-tv-table.stv-table-concurrent.stv-league-matches td[data-label="Čas"]{
    grid-area:time;
    padding-left:16px;
    border-right:1px solid rgba(148,163,184,.16);
  }
  .sport-tv-table.stv-league-matches td[data-label="Stav"],
  .sport-tv-table.stv-table-concurrent.stv-league-matches td[data-label="Stav"]{
    grid-area:status;
    text-align:left;
    overflow:hidden;
  }
  .sport-tv-table.stv-league-matches td[data-label="Zápas"],
  .sport-tv-table.stv-table-concurrent.stv-league-matches td[data-label="Zápas"]{
    grid-area:match;
    border-top:1px solid rgba(148,163,184,.16);
  }
  .sport-tv-table.stv-league-matches td[data-label="Stanica"],
  .sport-tv-table.stv-table-concurrent.stv-league-matches td[data-label="Stanica"]{
    grid-area:station;
    border-top:1px solid rgba(148,163,184,.16);
  }
  .sport-tv-table.stv-league-matches td::before,
  .sport-tv-table.stv-table-concurrent.stv-league-matches td::before{
    content:attr(data-label);
    display:block;
    margin:0 0 6px;
    font-size:11px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.045em;
    text-transform:uppercase;
    color:#64748b;
    opacity:.72;
  }
  .sport-tv-table.stv-league-matches .stv-league-time,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-time{
    align-items:flex-start;
    text-align:left;
  }
  .sport-tv-table.stv-league-matches .stv-league-time__clock,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-time__clock{
    font-size:18px;
    line-height:1;
    font-weight:950;
  }
  .sport-tv-table.stv-league-matches .stv-live-score-wrap,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-live-score-wrap{
    display:block;
    max-width:100%;
    margin:0;
    overflow:hidden;
  }
  .sport-tv-table.stv-league-matches .stv-live-score,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-live-score,
  .sport-tv-table.stv-league-matches .stv-league-result-score,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-result-score{
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:5px 8px;
    max-width:100%;
    margin:0;
    padding:7px 10px;
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.15;
  }
  .sport-tv-table.stv-league-matches .stv-league-result-score__value,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-result-score__value{
    font-size:17px;
    line-height:1;
    font-weight:950;
    white-space:nowrap;
  }
  .sport-tv-table.stv-league-matches .stv-league-result-score__label,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-result-score__label{
    min-width:0;
    font-size:12px;
    line-height:1.22;
    font-weight:800;
  }
  .sport-tv-table.stv-league-matches .stv-league-match-title,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-match-title{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    max-width:none;
    width:100%;
  }
  .sport-tv-table.stv-league-matches .stv-league-match-title__vs,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-match-title__vs{
    line-height:1;
    padding-left:2px;
  }
  .sport-tv-table.stv-league-matches .stv-league-team-label,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-team-label{
    width:100%;
    max-width:none;
  }
  .sport-tv-table.stv-league-matches .stv-league-team-label__name,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-team-label__name,
  .sport-tv-table.stv-league-matches .stv-league-match-title--plain,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-match-title--plain{
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
    font-size:15px;
    line-height:1.28;
  }
  .sport-tv-table.stv-league-matches .stv-league-station,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-station{
    display:flex;
    align-items:center;
    gap:8px;
  }
}



/* 3.7.35.200 – ligové stránky: rýchle prepnutie na tabuľku a názvy dní pri dátumoch */
.stv-league-anchor{scroll-margin-top:92px}
.stv-league-jumpnav{display:flex;align-items:center;gap:10px;margin:-8px 0 18px 0;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 10px 26px rgba(15,23,42,.055)}
.stv-league-jumpnav__label{flex:0 0 auto;color:#64748b;font-size:.76rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;line-height:1.2}
.stv-league-jumpnav__links{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.stv-league-jumpnav__link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:32px;padding:7px 12px;border:1px solid rgba(37,99,235,.16);border-radius:999px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);color:#1d4ed8;font-size:.84rem;font-weight:850;line-height:1.15;text-decoration:none;box-shadow:0 5px 14px rgba(15,23,42,.04);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.stv-league-jumpnav__link:hover,.stv-league-jumpnav__link:focus{transform:translateY(-1px);border-color:rgba(37,99,235,.32);background:#fff;text-decoration:none;box-shadow:0 9px 18px rgba(15,23,42,.075)}
.stv-league-jumpnav__link--primary{background:linear-gradient(180deg,#2563eb 0%,#1d4ed8 100%);border-color:rgba(29,78,216,.82);color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.18)}
.stv-league-jumpnav__link--primary:hover,.stv-league-jumpnav__link--primary:focus{background:linear-gradient(180deg,#1d4ed8 0%,#1e40af 100%);color:#fff}
.stv-league-time__date--weekday{display:inline-flex;align-items:center;width:max-content;margin-top:1px;padding:2px 8px;border-radius:999px;background:rgba(15,23,42,.055);color:#475569;font-size:11px;font-weight:800;letter-spacing:.01em;opacity:1;white-space:nowrap}
@media (max-width:767px){
  .stv-league-jumpnav{position:sticky;top:8px;z-index:8;margin:-4px -2px 16px;padding:9px 10px;border-radius:15px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);align-items:flex-start;flex-direction:column;gap:7px}
  .stv-league-jumpnav__links{width:100%;padding-bottom:1px}
  .stv-league-jumpnav__link{min-height:31px;padding:7px 11px;font-size:.8rem}
  .stv-league-time__date--weekday{max-width:100%;white-space:normal;line-height:1.15}
}

/* 3.7.35.201 – ligové stránky: neaktívny horný banner a mobilná tabuľka bez posúvania do strany */
.stv-league-jumpnav{flex-wrap:wrap;align-items:center;background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(248,250,252,.96) 100%)}
.stv-league-jumpnav__links{flex-wrap:wrap;overflow:visible;scrollbar-width:none}
.stv-league-jumpnav__links::-webkit-scrollbar{display:none}
.stv-league-jumpnav__link--primary,.stv-league-jumpnav__link--primary:hover,.stv-league-jumpnav__link--primary:focus{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border-color:rgba(37,99,235,.16);color:#1d4ed8;box-shadow:0 5px 14px rgba(15,23,42,.04)}
.stv-league-jumpnav__link--primary:hover,.stv-league-jumpnav__link--primary:focus{border-color:rgba(37,99,235,.32);background:#fff;box-shadow:0 9px 18px rgba(15,23,42,.075)}
.sport-tv-table.stv-league-standings td.stv-league-standings__points{font-weight:900;color:#1d4ed8}
.sport-tv-table.stv-league-standings td.stv-league-standings__form{font-size:.82rem;font-weight:850;letter-spacing:.045em;color:#475569}
@media (max-width:767px){
  .stv-league-jumpnav{position:sticky;top:8px;z-index:8;margin:-4px -2px 16px;padding:10px;border-radius:16px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 14px 28px rgba(15,23,42,.08)}
  .stv-league-jumpnav__label{font-size:.72rem}
  .stv-league-jumpnav__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:7px;padding:0;overflow:visible}
  .stv-league-jumpnav__link{width:100%;min-height:36px;padding:8px 10px;border-radius:13px;font-size:.8rem;white-space:normal;text-align:center;box-shadow:0 6px 14px rgba(15,23,42,.045)}
  .stv-league-table-wrap--standings{overflow:visible!important;border-radius:0}
  .sport-tv-table.stv-league-standings{display:block!important;width:100%;min-width:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
  .sport-tv-table.stv-league-standings thead{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
  .sport-tv-table.stv-league-standings tbody{display:grid!important;gap:10px!important;width:100%}
  .sport-tv-table.stv-league-standings tr{position:relative;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;box-shadow:0 10px 24px rgba(15,23,42,.065)}
  .sport-tv-table.stv-league-standings tbody tr:hover{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important}
  .sport-tv-table.stv-league-standings tbody tr.stv-league-standings-row--promotion{background:linear-gradient(180deg,#ffffff 0%,#f0fdf4 100%)!important;border-color:rgba(34,197,94,.20)}
  .sport-tv-table.stv-league-standings tbody tr.stv-league-standings-row--relegation{background:linear-gradient(180deg,#ffffff 0%,#fffbeb 100%)!important;border-color:rgba(245,158,11,.22)}
  .sport-tv-table.stv-league-standings th,.sport-tv-table.stv-league-standings td{border:0!important}
  .sport-tv-table.stv-league-standings td{display:flex!important;flex-direction:column;align-items:center;justify-content:center;min-width:0;width:auto!important;min-height:46px;padding:7px 6px!important;border-radius:12px!important;background:rgba(248,250,252,.86);color:#0f172a;font-size:.88rem;font-weight:850;line-height:1.12;text-align:center;white-space:normal!important;box-shadow:inset 0 0 0 1px rgba(148,163,184,.11)}
  .sport-tv-table.stv-league-standings td::before{content:attr(data-label);display:block;margin:0 0 3px 0;color:#64748b;font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;line-height:1.1}
  .sport-tv-table.stv-league-standings td.stv-league-standings__rank{position:absolute;left:12px;top:12px;width:34px!important;height:34px!important;min-height:34px;padding:0!important;border-radius:12px!important;background:linear-gradient(180deg,#eff6ff 0%,#dbeafe 100%);color:#1d4ed8!important;font-size:.9rem;font-weight:950;box-shadow:inset 0 0 0 1px rgba(37,99,235,.14)}
  .sport-tv-table.stv-league-standings td.stv-league-standings__rank::before{display:none}
  .sport-tv-table.stv-league-standings tbody tr.stv-league-standings-row--promotion td.stv-league-standings__rank{box-shadow:inset 0 0 0 1px rgba(34,197,94,.18)}
  .sport-tv-table.stv-league-standings tbody tr.stv-league-standings-row--relegation td.stv-league-standings__rank{box-shadow:inset 0 0 0 1px rgba(245,158,11,.20)}
  .sport-tv-table.stv-league-standings td.stv-league-standings__team{grid-column:1/-1;align-items:flex-start;justify-content:center;min-height:34px;margin:0 0 2px 0;padding:0 0 0 44px!important;border-radius:0!important;background:transparent;box-shadow:none;color:#0f172a;text-align:left;font-size:.98rem;line-height:1.25}
  .sport-tv-table.stv-league-standings td.stv-league-standings__team::before{display:none}
  .sport-tv-table.stv-league-standings .stv-league-team-label{align-items:flex-start;gap:8px;max-width:100%}
  .sport-tv-table.stv-league-standings .stv-league-team-label__flag{margin-top:1px}
  .sport-tv-table.stv-league-standings .stv-league-team-label__name{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
  .sport-tv-table.stv-league-standings td.stv-league-standings__points{background:rgba(37,99,235,.09);color:#1d4ed8!important;box-shadow:inset 0 0 0 1px rgba(37,99,235,.12);font-size:.95rem;font-weight:950}
  .sport-tv-table.stv-league-standings td.stv-league-standings__form{font-size:.72rem;letter-spacing:.045em}
  .stv-league-standings-notes{padding:10px 12px;border:1px solid rgba(148,163,184,.16);border-radius:14px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.045)}
}
@media (max-width:400px){
  .sport-tv-table.stv-league-standings tr{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* 3.7.35.202 – ligové stránky: kompaktnejšia horná navigácia a slovenské badge pre formu v tabuľke */
.stv-league-form{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;vertical-align:middle}
.stv-league-form__item{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;color:#fff;font-size:.72rem;font-weight:950;letter-spacing:0;line-height:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 4px 10px rgba(15,23,42,.10)}
.stv-league-form__item--win{background:#16a34a}
.stv-league-form__item--draw{background:#f59e0b}
.stv-league-form__item--loss{background:#dc2626}
.sport-tv-table.stv-league-standings td.stv-league-standings__form{letter-spacing:0;text-align:center}
@media (max-width:767px){
  .stv-league-jumpnav{padding:8px 9px;gap:6px}
  .stv-league-jumpnav__label{font-size:.68rem}
  .stv-league-jumpnav__links{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .stv-league-jumpnav__link{min-height:32px;padding:6px 7px;border-radius:12px;font-size:.74rem;line-height:1.12}
  .sport-tv-table.stv-league-standings td.stv-league-standings__form{font-size:inherit;letter-spacing:0}
  .sport-tv-table.stv-league-standings td.stv-league-standings__form .stv-league-form{gap:3px}
  .sport-tv-table.stv-league-standings td.stv-league-standings__form .stv-league-form__item{width:20px;height:20px;font-size:.68rem}
}
@media (max-width:359px){
  .stv-league-jumpnav__links{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 3.7.35.204 – ligové stránky: mobilná navigácia používa plný názov Slovensko */
@media (max-width:767px){
  .stv-league-jumpnav{
    flex-direction:row;
    align-items:center;
    padding:7px;
    gap:0;
    border-radius:15px;
  }
  .stv-league-jumpnav__label{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  .stv-league-jumpnav__links{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    width:100%;
    gap:5px;
    padding:0;
    overflow:visible;
  }
  .stv-league-jumpnav--count-1 .stv-league-jumpnav__links{grid-template-columns:repeat(1,minmax(0,1fr))}
  .stv-league-jumpnav--count-2 .stv-league-jumpnav__links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stv-league-jumpnav--count-3 .stv-league-jumpnav__links{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stv-league-jumpnav--count-4 .stv-league-jumpnav__links{grid-template-columns:repeat(4,minmax(0,1fr))}
  .stv-league-jumpnav--count-5 .stv-league-jumpnav__links{grid-template-columns:repeat(5,minmax(0,1fr))}
  .stv-league-jumpnav__link{
    min-width:0;
    min-height:31px;
    width:100%;
    padding:6px 5px;
    border-radius:12px;
    font-size:.68rem;
    line-height:1.05;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .stv-league-jumpnav__link span{display:none}
  .stv-league-jumpnav__link::before{content:attr(data-short)}
}
@media (max-width:359px){
  .stv-league-jumpnav__links,
  .stv-league-jumpnav--count-4 .stv-league-jumpnav__links,
  .stv-league-jumpnav--count-5 .stv-league-jumpnav__links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stv-league-jumpnav__link span{display:inline}
  .stv-league-jumpnav__link::before{content:none}
}


/* 3.7.35.205 – ligové stránky: mobilná rýchla navigácia na celú šírku displeja */
@media (max-width:767px){
  .stv-league-jumpnav{
    box-sizing:border-box;
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:8px max(10px, env(safe-area-inset-left)) 8px max(10px, env(safe-area-inset-right));
    border-left:0;
    border-right:0;
    border-radius:0;
  }
  .stv-league-jumpnav__links{
    gap:6px;
  }
  .stv-league-jumpnav__link{
    min-height:34px;
    padding:7px 5px;
    border-radius:12px;
    font-size:.74rem;
    line-height:1.08;
  }
  .stv-league-jumpnav--count-5 .stv-league-jumpnav__link{
    font-size:.69rem;
    padding-left:4px;
    padding-right:4px;
  }
}
@media (max-width:359px){
  .stv-league-jumpnav__links,
  .stv-league-jumpnav--count-4 .stv-league-jumpnav__links,
  .stv-league-jumpnav--count-5 .stv-league-jumpnav__links{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .stv-league-jumpnav--count-1 .stv-league-jumpnav__links{grid-template-columns:repeat(1,minmax(0,1fr))}
  .stv-league-jumpnav--count-2 .stv-league-jumpnav__links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stv-league-jumpnav--count-3 .stv-league-jumpnav__links{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stv-league-jumpnav--count-5 .stv-league-jumpnav__links{grid-template-columns:repeat(5,minmax(0,1fr))}
  .stv-league-jumpnav__link{
    font-size:.68rem;
    min-height:32px;
    padding:6px 3px;
  }
  .stv-league-jumpnav__link span{display:none}
  .stv-league-jumpnav__link::before{content:attr(data-short)}
  .stv-league-jumpnav--count-5 .stv-league-jumpnav__link{font-size:.61rem}
}


/* 3.7.35.240 – sledované ligy: status badge a hokejové tretiny sú oddelené.
   Badge používa rovnaké bodky/medzery ako sport-nazivo, ale skóre ostáva vizuálne výraznejšie
   a riadok „Tretiny:“ ostáva samostatne pod skóre menším sivým písmom. */
.sport-tv-table.stv-league-matches .stv-live-score.stv-league-result-score,
.sport-tv-table.stv-table-concurrent.stv-league-matches .stv-live-score.stv-league-result-score{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:0 !important;
  max-width:100%;
  margin:0;
  padding:7px 10px;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.15;
}
.sport-tv-table.stv-league-matches .stv-live-score.stv-league-result-score .stv-live-score-sep,
.sport-tv-table.stv-table-concurrent.stv-league-matches .stv-live-score.stv-league-result-score .stv-live-score-sep{
  flex:0 0 auto;
  margin:0 8px !important;
}
.sport-tv-table.stv-league-matches .stv-league-result-score__value,
.sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-result-score__value{
  font-size:14px;
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
  white-space:nowrap;
}
.sport-tv-table.stv-league-matches .stv-league-result-score__label,
.sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-result-score__label{
  min-width:0;
  font-size:12px;
  line-height:1.25;
  font-weight:700;
  opacity:.9;
}
.sport-tv-table.stv-league-matches .stv-league-periods,
.sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-periods{
  margin-top:5px;
  font-size:11px;
  line-height:1.35;
  color:#64748b;
  font-weight:600;
  white-space:normal;
}
@media (max-width:767px){
  .sport-tv-table.stv-league-matches .stv-live-score.stv-league-result-score,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-live-score.stv-league-result-score{
    justify-content:center;
    align-items:center;
    text-align:center;
  }
  .sport-tv-table.stv-league-matches .stv-league-result-score__value,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-result-score__value{
    font-size:19px;
    line-height:1;
    font-weight:950;
  }
  .sport-tv-table.stv-league-matches .stv-league-result-score__label,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-result-score__label{
    font-size:12px;
    line-height:1.25;
    font-weight:750;
  }
  .sport-tv-table.stv-league-matches .stv-league-periods,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-periods{
    font-size:12px;
    line-height:1.35;
  }
}

/* 3.7.35.241 – score moment na sledovaných ligách: hláška je súčasťou bunky Stav,
   ale nepreblikáva celý riadok a ostáva zarovnaná s ligovým skóre. */
.sport-tv-table.stv-league-matches td[data-label="Stav"] .stv-score-moment,
.sport-tv-table.stv-table-concurrent.stv-league-matches td[data-label="Stav"] .stv-score-moment{
  justify-content:flex-start;
  margin:0 0 6px;
}
@media (max-width:767px){
  .sport-tv-table.stv-league-matches td[data-label="Stav"] .stv-score-moment,
  .sport-tv-table.stv-table-concurrent.stv-league-matches td[data-label="Stav"] .stv-score-moment{
    justify-content:center;
    text-align:center;
  }
}

/* 3.7.35.304 – stream služby používajú rovnaký vizuál ako existujúce logá staníc */
.stv-league-station--stream{color:inherit;text-decoration:none}
.stv-league-station--stream:hover,.stv-league-station--stream:focus{color:inherit;text-decoration:none}
.stv-related-watch{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:8px;vertical-align:middle}
.stv-related-watch__item{display:inline-flex;align-items:center;justify-content:center;min-width:0;padding:0;border:0;background:transparent;vertical-align:middle;text-decoration:none;line-height:1.15;color:inherit}
.stv-related-watch__item--stream{background:transparent;border:0;color:inherit}
.stv-related-watch__item:hover,.stv-related-watch__item:focus{color:inherit;text-decoration:none}
.stv-related-watch__logo{display:block;max-width:46px;max-height:22px;width:auto;height:auto;object-fit:contain}
.stv-related-watch__name{display:inline-block;font-size:.88rem;font-weight:750;white-space:nowrap;color:inherit}


/* 3.7.35.305 – vrátenie veľkosti log v sledovaných ligách a súvisiacich prenosoch
   na pôvodný väčší vizuál používaný v programových tabuľkách; stream služba sa iba
   pridá vedľa staníc, bez rámčeka a bez zmenšovania existujúcich log. */
.sport-tv-table.stv-league-matches .stv-league-station__logo,
.sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-station__logo,
.stv-related-watch .stv-related-watch__logo{
  display:block;
  width:auto;
  height:auto;
  max-width:80px;
  max-height:36px;
  object-fit:contain;
}
.stv-related-watch{
  gap:10px;
}
.stv-related-watch__item,
.stv-related-watch__item--stream,
.stv-league-station--stream{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

/* Dostupné detailné dáta v programových výpisoch: Zostava / Štatistiky.
   Vykresľuje sa pri SEO chip-e súťaže, nie medzi stavom zápasu a titulkom. */
.stv-detail-feature-badges{
  display:inline-flex;
  flex-wrap:wrap;
  gap:5px;
  margin:0;
  align-items:center;
  vertical-align:middle;
}
.stv-detail-feature-badge{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:4px 9px;
  border:1px solid rgba(37,99,235,.16);
  border-radius:999px;
  background:#f3f9ff;
  color:#1e5f9f;
  font-size:.78rem;
  font-weight:750;
  line-height:1.2;
  white-space:nowrap;
}
.stv-listing-links .stv-detail-feature-badges{
  margin-left:0;
}
@media (max-width:560px){
  .stv-detail-feature-badges{gap:4px;}
  .stv-detail-feature-badge{font-size:.72rem;padding:3px 7px;}
}


/* Slovenskí hráči evidovaní pri tíme; nejde o potvrdenú zostavu zápasu. */
.stv-league-team-slovaks{display:flex;align-items:center;gap:5px;margin-top:4px;font-size:.73rem;line-height:1.3;font-weight:400;color:#64748b;white-space:normal}
.stv-league-team-slovaks__flag{flex:0 0 auto;font-size:.78rem;line-height:1}
.stv-league-team-slovaks__names{min-width:0;overflow-wrap:anywhere;font-weight:400}

/* 3.7.35.391 – sekundárna, vizuálne oddelená informácia pri zápase. */
.stv-match-slovaks{display:flex;align-items:flex-start;gap:6px;width:fit-content;max-width:100%;margin-top:6px;padding:4px 8px;border:1px solid rgba(100,116,139,.13);border-radius:7px;background:rgba(248,250,252,.82);font-size:.72rem;line-height:1.35;font-weight:400;color:#64748b;white-space:normal}
.stv-match-slovaks__flag{flex:0 0 auto;margin-top:1px;font-size:.78rem;line-height:1.1}
.stv-match-slovaks__list{display:grid;gap:1px;min-width:0}
.stv-match-slovaks__line{display:flex;align-items:baseline;gap:5px;min-width:0;flex-wrap:wrap}
.stv-match-slovaks__team{font-weight:500;color:#526173}
.stv-match-slovaks__sep{color:#94a3b8}
.stv-match-slovaks__names{min-width:0;font-weight:400;color:#64748b;overflow-wrap:anywhere}
.stv-league-match-team{display:inline-flex;align-items:center;min-width:0}
/* Ligové bloky (Live / Dnešné skončené / Najbližšie) majú všeobecné pravidlo, ktoré robí všetky span prvky tučné.
 * Hráčsky blok je sekundárna informácia a musí zostať vizuálne jemný rovnako ako v /sport-nazivo/ a športových landingoch. */
.sport-tv-table.stv-league-matches td:nth-child(2) .stv-match-slovaks,
.sport-tv-table.stv-league-matches td:nth-child(2) .stv-match-slovaks span{font-weight:400;color:#64748b}
.sport-tv-table.stv-league-matches td:nth-child(2) .stv-match-slovaks__team{font-weight:500;color:#526173}
.sport-tv-table.stv-league-standings td:nth-child(2) .stv-league-team-slovaks,
.sport-tv-table.stv-league-standings td:nth-child(2) .stv-league-team-slovaks span{font-weight:400;color:#64748b}
@media (max-width:560px){.stv-match-slovaks{font-size:.7rem;padding:4px 7px}.stv-match-slovaks__line{gap:4px}.stv-league-team-slovaks{font-size:.69rem}}

/* 3.7.35.394 – ligové stanice: kompaktný channel card, názov ostáva pod logom.
 * Jeden zvislý blok drží logo aj presný názov kanála pokope bez rozširovania stĺpca. */
.sport-tv-table.stv-league-matches .stv-league-stations,
.sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-stations{
  gap:8px;
}
.sport-tv-table.stv-league-matches .stv-league-station,
.sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-station{
  align-items:flex-start;
  gap:0;
}
.sport-tv-table.stv-league-matches .stv-league-station__visual,
.sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-station__visual{
  display:inline-grid;
  grid-template-rows:minmax(24px,auto) auto;
  justify-items:center;
  align-items:center;
  gap:5px;
  min-width:70px;
  max-width:118px;
  padding:6px 7px 5px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(248,250,252,.92) 100%);
  box-shadow:0 4px 12px rgba(15,23,42,.045);
  text-align:center;
  line-height:1;
}
.sport-tv-table.stv-league-matches .stv-league-station__visual .stv-league-station__logo,
.sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-station__visual .stv-league-station__logo{
  display:block;
  margin:0 auto;
  max-width:50px;
  max-height:24px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.sport-tv-table.stv-league-matches .stv-league-station__visual .stv-league-station__name,
.sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-station__visual .stv-league-station__name{
  display:block;
  max-width:104px;
  padding:2px 6px;
  border-radius:999px;
  background:rgba(15,23,42,.045);
  color:#526173;
  font-size:10.5px;
  line-height:1.2;
  font-weight:500;
  letter-spacing:.005em;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
}
.sport-tv-table.stv-league-matches .stv-league-station--predicted .stv-league-station__name,
.sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-station--predicted .stv-league-station__name{
  border-bottom:0;
  box-shadow:inset 0 -1px 0 rgba(100,116,139,.35);
}
.sport-tv-table.stv-league-matches .stv-league-station__name--fallback,
.sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-station__name--fallback{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  max-width:118px;
  padding:5px 9px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:10px;
  background:rgba(248,250,252,.92);
  color:#475569;
  font-size:.78rem;
  line-height:1.2;
  font-weight:500;
  text-align:center;
}
@media (max-width:767px){
  .sport-tv-table.stv-league-matches .stv-league-station__visual,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-station__visual{
    min-width:66px;
    max-width:108px;
    padding:5px 6px 4px;
    border-radius:11px;
  }
  .sport-tv-table.stv-league-matches .stv-league-station__visual .stv-league-station__name,
  .sport-tv-table.stv-table-concurrent.stv-league-matches .stv-league-station__visual .stv-league-station__name{
    max-width:96px;
    font-size:10px;
  }
}

