/* =========================================================
   Podstrony drużyn: Statystyki i Galeria
   Ładowany PO style.css (korzysta ze zmiennych :root i klas .tp-*)
   ========================================================= */
.sr-only{position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;}

/* kartki (ikonki) */
.st-card{display:inline-block; width:10px; height:14px; border-radius:2px; vertical-align:-2px; box-shadow:0 1px 2px rgba(15,32,56,.25);}
.st-card.is-yellow{background:#f2b336;}
.st-card.is-red{background:#df0021;}

/* ---------- podium najlepszych strzelców ---------- */
.st-podium{display:grid; grid-template-columns:1fr 1.15fr 1fr; gap:18px; align-items:end;}
/* stałe miejsca na podium — 1. zawsze w środku, nawet gdy na podium są tylko 1–2 osoby */
.st-podium-item.is-2{grid-area:1 / 1;}
.st-podium-item.is-1{grid-area:1 / 2;}
.st-podium-item.is-3{grid-area:1 / 3;}
.st-podium-item{
  position:relative; text-align:center;
  background:#fff; border:1px solid var(--paper-line); border-radius:var(--radius-l);
  box-shadow:var(--shadow-card);
  padding:30px 16px 22px;
}
.st-podium-item.is-1{
  padding-block:42px 28px;
  background:linear-gradient(160deg, var(--navy-800), var(--navy-900));
  border-color:var(--navy-900); color:#fff; box-shadow:var(--shadow-pop);
  overflow:hidden;
}
.st-podium-item.is-1::before{content:""; position:absolute; inset:0; background:radial-gradient(260px 140px at 50% 0%, rgba(227,185,58,.32), transparent 70%); pointer-events:none;}
.st-podium-item > *{position:relative;}
.st-medal{
  position:absolute; top:-18px; left:50%; transform:translateX(-50%);
  width:38px; height:38px; border-radius:50%; display:grid; place-items:center;
  font-family:var(--ff-display); font-weight:600; font-size:1.05rem;
  background:#d7dde6; color:var(--navy-900); border:3px solid #fff; box-shadow:var(--shadow-card);
}
.st-podium-item.is-1 .st-medal{position:relative; top:auto; left:auto; transform:none; margin:-20px auto 10px; width:46px; height:46px; font-size:1.25rem; background:var(--mustard-500); border-color:var(--navy-800);}
.st-podium-item.is-3 .st-medal{background:#e6c3a1;}
.st-podium-goals b{display:flex; align-items:center; justify-content:center; gap:.18em; font-family:var(--ff-display); font-weight:600; font-size:2.6rem; line-height:1; color:var(--navy-900);}
.st-podium-icon{width:.72em; height:.72em; flex:none; color:var(--mustard-600);}
.st-podium-icon .st-icon-cut{stroke:#fff;}
.st-podium-item.is-1 .st-podium-icon{color:var(--mustard-500);}
.st-podium-item.is-1 .st-podium-icon .st-icon-cut{stroke:var(--navy-800);}
.st-podium-item.is-1 .st-podium-goals b{font-size:3.4rem; color:var(--mustard-400);}
.st-podium-goals span{font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint);}
.st-podium-item.is-1 .st-podium-goals span{color:#c8d2e0;}
.st-podium-name{margin-top:12px; font-family:var(--ff-display); font-weight:500; font-size:1.12rem; color:var(--navy-900); line-height:1.2;}
.st-podium-item.is-1 .st-podium-name{color:#fff; font-size:1.3rem;}
.st-podium-meta{margin-top:6px; font-size:.8rem; color:var(--ink-faint);}
.st-podium-item.is-1 .st-podium-meta{color:#c8d2e0;}

/* ---------- dalsze miejsca ---------- */
.st-rank{list-style:none; margin-top:22px; padding:6px 22px;}
.st-rank-row{display:grid; grid-template-columns:34px minmax(0,1.3fr) minmax(0,2fr) 34px; align-items:center; gap:14px; padding:11px 0; border-bottom:1px solid var(--paper-line);}
.st-rank-row:last-child{border-bottom:none;}
.st-rank-pos{display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--paper-soft); font-family:var(--ff-display); font-size:.82rem; color:var(--ink-soft);}
.st-rank-name{color:var(--navy-900); font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.st-rank-bar{height:8px; border-radius:100px; background:var(--paper-soft); overflow:hidden;}
.st-rank-bar i{display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg, var(--mustard-400), var(--mustard-600));}
.st-rank-val{font-family:var(--ff-display); font-weight:600; font-size:1.1rem; color:var(--navy-900); text-align:right;}

/* ---------- liderzy ---------- */
.st-leaders{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.st-leader{position:relative; padding:20px 72px 20px 22px; display:flex; flex-direction:column; gap:4px; border-top:3px solid var(--mustard-500);}
.st-leader-ico{
  position:absolute; top:18px; right:18px;
  width:42px; height:42px; border-radius:50%; display:grid; place-items:center;
  background:var(--mustard-100); color:var(--mustard-600);
}
.st-leader-ico svg{width:24px; height:24px;}
.st-leader-ico .st-icon-cut{stroke:var(--mustard-100);}
.st-leader-label{font-family:var(--ff-display); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--mustard-700);}
.st-leader-name{font-family:var(--ff-display); font-weight:500; font-size:1.15rem; color:var(--navy-900);}
.st-leader-val{color:var(--ink-soft); font-size:.92rem;}

/* ---------- tabela kadry ---------- */
.st-table th{padding:0; position:relative;} /* trzyma ukryte etykiety (.sr-only) wewnątrz przewijanej tabeli */
.st-table th button{
  all:unset; box-sizing:border-box; display:flex; align-items:center; justify-content:center; gap:6px;
  width:100%; padding:12px 8px; cursor:pointer;
  font:inherit; letter-spacing:inherit; text-transform:inherit; color:inherit;
}
.st-table th.c-team button{justify-content:flex-start;}
.st-table th button:hover{color:var(--navy-900);}
.st-table th button:focus-visible{outline:2px solid var(--mustard-500); outline-offset:-2px;}
.st-table th[aria-sort]{color:var(--navy-900); background:var(--mustard-100);}
.st-sort{width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; opacity:.25; border-top:5px solid currentColor;}
.st-sort.is-desc{opacity:1;}
.st-sort.is-asc{opacity:1; border-top:none; border-bottom:5px solid currentColor;}
.st-table td{font-variant-numeric:tabular-nums;}
.st-goals{font-family:var(--ff-display); font-weight:600; color:var(--navy-900);}
.st-zero{color:#c3c9d2;}
.st-table tr.is-top{background:var(--mustard-100); box-shadow:inset 4px 0 0 var(--mustard-500);}
.st-table tr.is-top td.c-team{font-weight:600; color:var(--navy-900);}
.st-table tr.is-unused td{color:var(--ink-faint);}

/* ---------- galeria (na razie zapowiedź) ---------- */
.gl-soon{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:26px;}
.gl-soon span{aspect-ratio:4/3; border-radius:var(--radius-m); background:linear-gradient(135deg, var(--paper-soft), #ebe7dc); border:1px dashed var(--paper-line); position:relative; overflow:hidden;}
.gl-soon span::after{content:""; position:absolute; inset:0; background:linear-gradient(100deg, transparent 30%, rgba(255,255,255,.65) 50%, transparent 70%); transform:translateX(-100%); animation:gl-shine 2.4s ease-in-out infinite;}
.gl-soon span:nth-child(2)::after{animation-delay:.3s;}
.gl-soon span:nth-child(3)::after{animation-delay:.6s;}
@keyframes gl-shine{to{transform:translateX(100%);}}

@media (max-width:1100px){
  .st-leaders{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .st-leaders{grid-template-columns:1fr;}
}
@media (max-width:640px){
  /* podium zostaje w trzech kolumnach (2 – 1 – 3), tylko mniejsze */
  .st-podium{grid-template-columns:1fr 1.12fr 1fr; gap:8px; padding-top:14px;}
  .st-podium-item{padding:20px 6px 12px; border-radius:var(--radius-m);}
  .st-podium-item.is-1{padding-block:24px 14px;}
  .st-podium-item.is-1::before{background:radial-gradient(140px 90px at 50% 0%, rgba(227,185,58,.32), transparent 70%);}
  .st-medal{top:-14px; width:28px; height:28px; font-size:.85rem; border-width:2px;}
  .st-podium-item.is-1 .st-medal{width:32px; height:32px; font-size:.95rem; margin:-12px auto 6px;}
  .st-podium-goals b{font-size:1.7rem;}
  .st-podium-item.is-1 .st-podium-goals b{font-size:2.2rem;}
  .st-podium-goals span{font-size:.6rem; letter-spacing:.08em;}
  .st-podium-name{margin-top:8px; font-size:.84rem; overflow-wrap:anywhere;}
  .st-podium-item.is-1 .st-podium-name{font-size:.92rem;}
  .st-podium-meta{margin-top:4px; font-size:.68rem;}
  .st-podium-avg{display:none;}
  .st-rank{padding:4px 14px;}
  .st-rank-row{grid-template-columns:30px minmax(0,1fr) 70px 28px; gap:10px;}
  .gl-soon{grid-template-columns:1fr 1fr;}
  .gl-soon span:nth-child(3){display:none;}
}

/* ---------- zarysy podczas wczytywania (zamiast „Ładowanie…”) ---------- */
.sk-grid{display:grid; gap:18px;}
.sk-albums{grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));}
.sk-podium{grid-template-columns:1fr 1.15fr 1fr; align-items:end; padding-top:18px;}
.sk-grid span, .sk-rows span{
  display:block; position:relative; overflow:hidden; border-radius:var(--radius-l);
  background:linear-gradient(135deg, var(--paper-soft), #ebe7dc);
}
.sk-albums span{aspect-ratio:4/3;}
.sk-podium span{height:190px;}
.sk-podium span:nth-child(2){height:230px;}
.sk-rows{display:flex; flex-direction:column; gap:8px;}
.sk-rows span{height:42px; border-radius:var(--radius-m);}
.sk-grid span::after, .sk-rows span::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, transparent 30%, rgba(255,255,255,.65) 50%, transparent 70%);
  transform:translateX(-100%); animation:gl-shine 1.6s ease-in-out infinite;
}
@media (max-width:640px){
  .sk-albums{grid-template-columns:1fr;}
  .sk-albums span:nth-child(n+2){display:none;}
  .sk-podium{gap:8px;}
  .sk-podium span{height:130px; border-radius:var(--radius-m);}
  .sk-podium span:nth-child(2){height:160px;}
}
@media (prefers-reduced-motion:reduce){ .sk-grid span::after, .sk-rows span::after{animation:none;} }
