.sts-liga{max-width:100%;}
.sts-liga__tabs{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 16px;}
.sts-liga__tab{appearance:none;border:1px solid rgba(0,0,0,.12);background:#fff;padding:8px 12px;border-radius:10px;font-weight:700;cursor:pointer;transition:transform .05s ease,background .2s ease,border-color .2s ease;color:inherit;}
.sts-liga__tab:hover{transform:translateY(-1px);}
.sts-liga__tab.is-active{background:#111;color:#fff;border-color:#111;}
.sts-liga__panel{display:none;}
.sts-liga__panel.is-active{display:block;}
.sts-liga__card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:14px;}
.sts-liga__cardTitle{font-weight:800;margin:0 0 10px;}
.sts-liga__muted{opacity:.7;}

.sts-liga__tableWrap{overflow:auto;}
.sts-liga__table{width:100%;border-collapse:separate;border-spacing:0;border-radius:10px;overflow:hidden;}
.sts-liga__table th,.sts-liga__table td{padding:10px 10px;border-bottom:1px solid rgba(0,0,0,.08);vertical-align:middle;white-space:nowrap;}
.sts-liga__table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;opacity:.75;}
.sts-liga__table tr:last-child td{border-bottom:none;}

.sts-liga__koloTitle{font-weight:800;margin:14px 0 8px;}
.sts-liga__scoreLink{font-weight:900;text-decoration:underline;}

/* Match view */
.sts-liga__matchMeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:10px;}
.sts-liga__metaItem{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:10px;}
.sts-liga__metaKey{font-size:12px;text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin-bottom:4px;}
.sts-liga__matchTeams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:10px 0 8px;}
.sts-liga__matchTeams h3{margin:0;font-size:16px;}
.sts-liga__matchTeams h3:last-child{text-align:right;}
.sts-liga__matchScore{font-size:22px;font-weight:900;}
.sts-liga__matchTable{width:100%;border-collapse:separate;border-spacing:0;border-radius:10px;overflow:hidden;}
.sts-liga__matchTable th,.sts-liga__matchTable td{padding:10px;border-bottom:1px solid rgba(0,0,0,.08);vertical-align:top;}
.sts-liga__setGrid{display:flex;gap:6px;flex-wrap:wrap;}
.sts-liga__setPill{display:inline-block;padding:3px 8px;border:1px solid rgba(0,0,0,.12);border-radius:999px;font-weight:700;font-size:12px;}

/* Modal */
.sts-liga__modal{position:fixed;inset:0;z-index:9999;}
.sts-liga__modalBackdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);} 
.sts-liga__modalBox{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(980px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.35);}
.sts-liga__modalHeader{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.08);position:sticky;top:0;background:#fff;}
.sts-liga__modalTitle{font-weight:900;}
.sts-liga__modalClose{border:0;background:#111;color:#fff;border-radius:10px;width:36px;height:36px;cursor:pointer;}
.sts-liga__modalBody{padding:14px;}
.sts-liga__modalFooter{display:flex;gap:10px;justify-content:flex-end;padding:12px 14px;border-top:1px solid rgba(0,0,0,.08);}
.sts-liga__btn{appearance:none;border:1px solid rgba(0,0,0,.12);background:#fff;padding:8px 12px;border-radius:10px;font-weight:700;cursor:pointer;text-decoration:none;color:inherit;display:inline-flex;align-items:center;}
.sts-liga__btn--primary{background:#111;color:#fff;border-color:#111;}

@media (max-width:640px){
  .sts-liga__card{padding:10px;}
  .sts-liga__table th,.sts-liga__table td{padding:8px;}
  .sts-liga__matchTeams{grid-template-columns:1fr;}
  .sts-liga__matchTeams h3:last-child{text-align:left;}
}
/* ---------- Tabs (buttons) ---------- */
.sts-liga__tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin: 0 0 14px;
}

.sts-liga__tab{
  appearance:none;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  padding:10px 14px;
  border-radius:14px;
  font-weight:800;
  cursor:pointer;
  transition: transform .06s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.sts-liga__tab:hover{ transform: translateY(-1px); }
.sts-liga__tab.is-active{
  background:#111;
  color:#fff;
  border-color:#111;
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
}

/* Card polish */
.sts-liga__card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:#fff;
  padding: 14px;
}

.sts-liga__cardTitle{
  font-weight:900;
  font-size:14px;
  letter-spacing:.02em;
  margin-bottom:10px;
}

/* ---------- Tables ---------- */
.sts-liga__tableWrap{
  overflow:auto;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
}

.sts-liga__table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
}

/* Header */
.sts-liga__table thead th{
  position: sticky;
  top: 0;
  z-index: 1;
  background:#111;
  color:#fff;
  text-transform: uppercase;
  letter-spacing:.05em;
  font-size:12px;
  padding:12px 12px;
  border-bottom:1px solid rgba(255,255,255,.18);
}

/* Cells */
.sts-liga__table td{
  padding:10px 12px;
  border-bottom:1px solid rgba(0,0,0,.08);
}

/* Zebra rows */
.sts-liga__table tbody tr:nth-child(even) td{
  background: rgba(0,0,0,.03);
}

/* Score link */
.sts-liga__scoreLink,
.sts-match-link{
  font-weight:900;
  text-decoration:none;
}

.sts-liga__scoreLink:hover,
.sts-match-link:hover{
  text-decoration:underline;
}

/* Match table */
.sts-liga__matchTable thead th{
  background:#111;
  color:#fff;
}

/* Small screens */
@media (max-width: 700px){
  .sts-liga__tab{ padding:9px 12px; border-radius:12px; }
  .sts-liga__card{ padding:12px; }
  .sts-liga__table thead th{ padding:10px 10px; }
  .sts-liga__table td{ padding:9px 10px; }
}
:root{
  --sts-blue: #0b2a5b;        /* tamno plava */
  --sts-blue-2: #123a7a;      /* hover/active */
  --sts-zebra: rgba(18, 58, 122, .06);
  --sts-border: rgba(11, 42, 91, .15);
  --sts-shadow: rgba(11, 42, 91, .18);
}

/* Tabs – plavi stil */
.sts-liga__tab{
  border:1px solid var(--sts-border);
  background:#fff;
  border-radius:14px;
  font-weight:800;
}
.sts-liga__tab.is-active{
  background: var(--sts-blue);
  border-color: var(--sts-blue);
  color:#fff;
  box-shadow: 0 10px 22px var(--sts-shadow);
}
.sts-liga__tab:hover{ transform: translateY(-1px); }

/* Card */
.sts-liga__card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
}

/* Table wrap */
.sts-liga__tableWrap{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  overflow:auto;
}

/* Table header: tamno plava + jače istaknuto */
.sts-liga__table thead th,
.sts-liga__matchTable thead th{
  background: var(--sts-blue);
  color:#fff;
  text-transform: uppercase;
  letter-spacing:.05em;
  font-size:12px;
  padding:12px 12px;
  border-bottom:1px solid rgba(255,255,255,.18);
  position: sticky;
  top: 0;
  z-index: 1;
}

/* Zebra u plavoj nijansi */
.sts-liga__table tbody tr:nth-child(even) td{
  background: var(--sts-zebra);
}

/* Link rezultat */
.sts-liga__scoreLink,
.sts-match-link{
  color: var(--sts-blue-2);
  font-weight:900;
  text-decoration:none;
}
.sts-liga__scoreLink:hover,
.sts-match-link:hover{
  text-decoration: underline;
}

/* ---------- POREDAK: sve centar, KLUB lijevo, BODOVI desno ---------- */
[data-view="poredak"] .sts-liga__table td,
[data-view="poredak"] .sts-liga__table th{
  text-align:center;
}
[data-view="poredak"] .sts-liga__table .col-klub{ text-align:left; }
[data-view="poredak"] .sts-liga__table .col-bodovi{ text-align:right; }

/* ---------- FORMA: suženje + centriranje + W/L krugovi ---------- */
[data-view="forma"] .sts-liga__tableWrap{
  max-width: 720px;
  margin: 0 auto;
}
[data-view="forma"] .sts-liga__table td,
[data-view="forma"] .sts-liga__table th{
  text-align:center;
  white-space: nowrap;
}

/* W/L pillovi: zeleni/crveni krug */
.sts-liga__formaPill{
  width:30px;
  height:30px;
  border-radius:999px;
  border:2px solid rgba(0,0,0,.08);
  font-weight:900;
}
.sts-liga__formaPill--W{
  background: rgba(16, 185, 129, .12);
  border-color: rgba(16, 185, 129, .45);
  color: #0f7a54;
}
.sts-liga__formaPill--L{
  background: rgba(239, 68, 68, .12);
  border-color: rgba(239, 68, 68, .45);
  color: #b42323;
}

/* ---------- RANG IGRAČA / PAROVA: poravnanja po stupcima ---------- */
/* default: centar */
[data-view="igraci"] .sts-liga__table td,
[data-view="igraci"] .sts-liga__table th,
[data-view="parovi"] .sts-liga__table td,
[data-view="parovi"] .sts-liga__table th{
  text-align:center;
}

/* lijevo: PREZIME I IME, KLUB */
[data-view="igraci"] .sts-liga__table .col-prezime-i-ime,
[data-view="igraci"] .sts-liga__table .col-klub,
[data-view="parovi"] .sts-liga__table .col-prezime-i-ime,
[data-view="parovi"] .sts-liga__table .col-klub{
  text-align:left;
}

/* desno: POSTOTAK */
[data-view="igraci"] .sts-liga__table .col-postotak,
[data-view="parovi"] .sts-liga__table .col-postotak{
  text-align:right;
}
.sts-liga__modalHeader{
  background: var(--sts-blue);
  color:#fff;
}
.sts-liga__modalTitle{ color:#fff; }
.sts-liga__modalClose{ color:#fff; }

/* Stabilan hover (bez "blink" / layout shift): ne mijenjati veličinu/pomak na hover */
.sts-liga__tab,
.sts-liga__btn,
.sts-liga__modalClose{
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.sts-liga__tab:hover{ transform:none; }
/* =========================
   FINAL UI FIXES
   ========================= */

/* TAB hover bez pomicanja */
.sts-liga__tab:hover{ transform: none !important; }

/* TABLE WRAP: uvijek vidljiv obrub */
.sts-liga__tableWrap{
  border: 1px solid var(--sts-border) !important;
  border-radius: 14px;
  overflow: hidden;
  background:#fff;
}

/* Donji obrub (zadnji red) */
.sts-liga__table tbody tr:last-child td{
  border-bottom: 1px solid var(--sts-border) !important;
}

/* KOLA: ujednačene širine + suženje */
[data-view="kola"] .sts-liga__tableWrap{
  max-width: 820px;
  margin: 0 auto 12px;
}
[data-view="kola"] .sts-liga__table{
  table-layout: fixed;
}
[data-view="kola"] .sts-liga__table th:nth-child(1),
[data-view="kola"] .sts-liga__table td:nth-child(1){ width:44%; }
[data-view="kola"] .sts-liga__table th:nth-child(2),
[data-view="kola"] .sts-liga__table td:nth-child(2){ width:12%; text-align:center; }
[data-view="kola"] .sts-liga__table th:nth-child(3),
[data-view="kola"] .sts-liga__table td:nth-child(3){ width:44%; }
[data-view="kola"] .sts-liga__table td:nth-child(1),
[data-view="kola"] .sts-liga__table td:nth-child(3){
  overflow: hidden;
  text-overflow: ellipsis;
}

/* FORMA: centriraj W/L + ljepši krugovi */
.sts-liga__formaStrip{
  display:flex;
  justify-content:center;
  gap:6px;
  flex-wrap:wrap;
  margin: 6px 0 12px;
}
.sts-liga__formaPill{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border: 0;
  font-weight:900;
  color:#fff;
  box-shadow: 0 6px 14px rgba(11, 42, 91, .18);
}
.sts-liga__formaPill--W{ background: #16a34a; }
.sts-liga__formaPill--L{ background: #dc2626; }
.sts-liga__formaPill--{ background: rgba(11, 42, 91, .25); }

/* RANG: POSTOTAK desno */
[data-view="igraci"] .sts-liga__table .col-postotak,
[data-view="parovi"] .sts-liga__table .col-postotak{
  text-align:right;
}
/* =========================
   WP/THEME OVERRIDE – UNIFIED BORDERS
   (paste at the very end of sts-liga.css)
   ========================= */

/* 1) Ubij globalne theme bordere samo unutar STS LIGA */
.sts-liga table,
.sts-liga thead,
.sts-liga tbody,
.sts-liga tfoot,
.sts-liga tr,
.sts-liga th,
.sts-liga td {
  border: 0 !important;
}

/* 2) Tablica: konzistentna geometrija */
.sts-liga .sts-liga__table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* 3) Svaka ćelija dobije isti “meki” donji obrub */
.sts-liga .sts-liga__table thead th {
  border-bottom: 1px solid rgba(255,255,255,0.18) !important; /* header ostaje elegantan */
}

.sts-liga .sts-liga__table tbody td {
  border-bottom: 1px solid var(--sts-border) !important;      /* SVI redovi jednako */
}

/* 4) Donji obrub tablice – pojačaj ga (wrapper + fallback) */
.sts-liga .sts-liga__tableWrap {
  border: 1px solid var(--sts-border) !important;
  box-shadow: inset 0 -1px 0 var(--sts-border) !important; /* “sigurna” donja linija */
  overflow: hidden;
}

/* 5) Ako theme jede zadnju liniju, dodaj još jednu na zadnji red */
.sts-liga .sts-liga__table tbody tr:last-child td {
  border-bottom: 1px solid var(--sts-border) !important;
}
/* Napomena: u rank JSON-u koristimo ključ "POSTOTAK" (umjesto "%") da klase stupaca budu stabilne. */
/* =========================
   RESPONSIVE (mobile/tablet)
   ========================= */

/* 1) Tabs: vodoravni scroll na manjim ekranima */
.sts-liga__tabs {
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 6px;
}
.sts-liga__tabs::-webkit-scrollbar { height: 6px; }
.sts-liga__tab { flex: 0 0 auto; }

/* 2) Tablice: uvijek stanu u wrap koji može scrollati vodoravno */
.sts-liga__tableWrap {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
}

/* osiguraj da tablica ne "stisne" stupce do nečitljivosti */
.sts-liga__table {
  min-width: 820px;           /* desktop/tablet baseline */
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

/* 3) Manji padding/font na mobitelu */
@media (max-width: 768px) {
  .sts-liga__table { min-width: 760px; }
  .sts-liga__table th,
  .sts-liga__table td {
    padding: 10px 10px;
    font-size: 14px;
  }
  .sts-liga__cardTitle { font-size: 18px; }
}

/* 4) Extra small phones: još malo kompaktnije + sakrij manje bitne stupce */
@media (max-width: 520px) {
  .sts-liga__table { min-width: 700px; }

  .sts-liga__table th,
  .sts-liga__table td {
    padding: 9px 9px;
    font-size: 13px;
  }

  /* POREDAK: sakrij POEN RAZLIKA (7. stupac) i SET RAZLIKA (6. stupac) na najmanjim ekranima */
  [data-view="poredak"] .sts-liga__table th:nth-child(6),
  [data-view="poredak"] .sts-liga__table td:nth-child(6),
  [data-view="poredak"] .sts-liga__table th:nth-child(7),
  [data-view="poredak"] .sts-liga__table td:nth-child(7) {
    display: none;
  }

  /* RANG IGRAČA / PAROVA: sakrij KLUB (3. stupac) na najmanjim ekranima */
  [data-view="igraci"] .sts-liga__table th:nth-child(3),
  [data-view="igraci"] .sts-liga__table td:nth-child(3),
  [data-view="parovi"] .sts-liga__table th:nth-child(3),
  [data-view="parovi"] .sts-liga__table td:nth-child(3) {
    display: none;
  }

  /* duga imena: elipsa */
  [data-view="igraci"] .sts-liga__table td:nth-child(2),
  [data-view="parovi"] .sts-liga__table td:nth-child(2),
  [data-view="kola"] .sts-liga__table td:nth-child(1),
  [data-view="kola"] .sts-liga__table td:nth-child(3) {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 240px;
  }
}

/* 5) Bonus: “hint” da se tablica može scrollati (diskretno) */
@media (max-width: 768px) {
  .sts-liga__tableWrap::after {
    content: "⇆";
    position: sticky;
    right: 10px;
    float: right;
    margin-top: -34px;
    opacity: .35;
    font-weight: 800;
    pointer-events: none;
  }
}

