.sportspress,.sp-template{--sp-accent:var(--psg-league-color)}.sp-template{margin:0 0 24px;overflow:hidden;border-top:5px solid var(--sp-accent)}.sp-template+.sp-template{margin-top:22px}.sp-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.sp-data-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;background:#fff}.sp-data-table thead th{padding:13px 11px!important;background:var(--psg-dark)!important;color:#fff!important;border:0!important;font-size:12px!important;font-weight:850!important;text-transform:uppercase;letter-spacing:.045em}.sp-data-table tbody td{padding:12px 11px!important;border:0!important;border-bottom:1px solid var(--psg-border)!important;color:var(--psg-text);vertical-align:middle}.sp-data-table tbody tr:nth-child(even){background:#f8fafb}.sp-data-table tbody tr:hover{background:color-mix(in srgb,var(--sp-accent) 8%,white)}.sp-data-table a{color:var(--psg-text);font-weight:750}.sp-data-table a:hover{color:var(--sp-accent)}.sp-table-caption{margin:0!important;padding:14px 16px!important;background:#fff!important;color:var(--psg-dark)!important;border:0!important;border-top:5px solid var(--sp-accent)!important;font-size:19px!important;font-weight:900!important}.sp-template-event-logos,.sp-template-event-results,.sp-template-event-details,.sp-template-event-performance{padding:20px}.sp-event-logos{display:flex;align-items:center;justify-content:center;gap:30px}.sp-event-logos .sp-team-logo img{max-height:115px;width:auto}.sp-event-results{font-size:clamp(28px,5vw,52px)!important;font-weight:950!important;color:var(--psg-dark)}.sp-event-details dt{font-weight:800}.sp-event-details dd{margin-bottom:8px}.sp-template-player-photo img,.sp-template-team-logo img{border-radius:8px}.sp-league-table .data-rank{width:50px;text-align:center}.sp-league-table .data-name{text-align:left}.sp-league-table tr:first-child td{font-weight:850}.sp-pagination{display:flex;justify-content:center;gap:6px}.sp-pagination a,.sp-pagination span{padding:8px 11px;border:1px solid var(--psg-border);border-radius:5px;background:#fff}.sp-pagination .current{background:var(--sp-accent);color:#fff;border-color:var(--sp-accent)}.sp-countdown{padding:22px;text-align:center}.sp-countdown time{font-size:26px;font-weight:900;color:var(--sp-accent)}.sp-scoreboard-wrapper{border-top:5px solid var(--sp-accent)}.sp-scoreboard{background:var(--psg-dark)!important;color:#fff!important}.sp-scoreboard a{color:#fff!important}@media(max-width:782px){.sp-template{border-radius:8px}.sp-data-table{min-width:600px}.sp-event-logos{gap:12px}.sp-event-logos .sp-team-logo img{max-height:75px}.sp-event-results{font-size:30px!important}.sp-template-event-performance-icons table,.sp-template-event-performance-icons tbody,.sp-template-event-performance-icons tr,.sp-template-event-performance-icons td{display:block!important;width:100%!important;max-width:100%!important}.sp-template-event-performance-icons td.sp-performance-icons{display:none!important}.sp-template-event-performance-icons td.data-name{padding:9px!important;white-space:normal!important}.psg-mobile-stats-under-player{display:block;margin-top:5px;font-size:13px;line-height:1.45}}

/* PSG 1.3.0 — każdy mecz zachowuje kolor własnej ligi */
.psg-event-league-superliga{--psg-league-color:#B8860B}.psg-event-league-liga35{--psg-league-color:#00A69C}.psg-event-league-glh30{--psg-league-color:#1414B8}.psg-event-league-ligaa{--psg-league-color:#D64A3A}.psg-event-league-puchar{--psg-league-color:#00A69C}
.sp-template-event-blocks tr,.sp-template-event-list tr{--psg-row-color:var(--psg-league-color,#00A69C)}
.sp-template-event-blocks .sp-event-league,.sp-template-event-list .sp-event-league{color:var(--psg-row-color);font-weight:800}
.sportspress table{max-width:100%}.sp-table-wrapper{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.sportspress img{max-width:100%;height:auto}
@media(max-width:782px){.sp-template,.sp-template-event-blocks,.sp-template-league-table,.sp-template-player-list{max-width:100%;overflow:hidden}.sp-data-table{font-size:12px}.sp-data-table th,.sp-data-table td{padding:8px 6px!important}.sp-template-event-logos .sp-team-logo{max-width:90px}.sp-template-event-performance table{min-width:0!important}}

/* === PSG v1.5.0: single event – precise table alignment === */
.psg-sp-event-page .sp-template-event-details table,
.psg-sp-event-page .sp-template-event-results table,
.psg-sp-event-page table.sp-event-details,
.psg-sp-event-page table.sp-event-results {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}

/* Szczegóły: DATA | CZAS | LIGA | SEZON | KOLEJKA */
.psg-sp-event-page .sp-template-event-details table th,
.psg-sp-event-page .sp-template-event-details table td,
.psg-sp-event-page table.sp-event-details th,
.psg-sp-event-page table.sp-event-details td {
  box-sizing: border-box !important;
  text-align: center !important;
  vertical-align: middle !important;
}
.psg-sp-event-page .sp-template-event-details table th:nth-child(1),
.psg-sp-event-page .sp-template-event-details table td:nth-child(1),
.psg-sp-event-page table.sp-event-details th:nth-child(1),
.psg-sp-event-page table.sp-event-details td:nth-child(1) { width: 24% !important; }
.psg-sp-event-page .sp-template-event-details table th:nth-child(2),
.psg-sp-event-page .sp-template-event-details table td:nth-child(2),
.psg-sp-event-page table.sp-event-details th:nth-child(2),
.psg-sp-event-page table.sp-event-details td:nth-child(2) { width: 14% !important; }
.psg-sp-event-page .sp-template-event-details table th:nth-child(3),
.psg-sp-event-page .sp-template-event-details table td:nth-child(3),
.psg-sp-event-page table.sp-event-details th:nth-child(3),
.psg-sp-event-page table.sp-event-details td:nth-child(3) { width: 20% !important; }
.psg-sp-event-page .sp-template-event-details table th:nth-child(4),
.psg-sp-event-page .sp-template-event-details table td:nth-child(4),
.psg-sp-event-page table.sp-event-details th:nth-child(4),
.psg-sp-event-page table.sp-event-details td:nth-child(4) { width: 28% !important; }
.psg-sp-event-page .sp-template-event-details table th:nth-child(5),
.psg-sp-event-page .sp-template-event-details table td:nth-child(5),
.psg-sp-event-page table.sp-event-details th:nth-child(5),
.psg-sp-event-page table.sp-event-details td:nth-child(5) { width: 14% !important; }

/* Wyniki: KLUB | PIERWSZA POŁOWA | DRUGA POŁOWA | GOLE | WYNIK */
.psg-sp-event-page .sp-template-event-results table th,
.psg-sp-event-page .sp-template-event-results table td,
.psg-sp-event-page table.sp-event-results th,
.psg-sp-event-page table.sp-event-results td {
  box-sizing: border-box !important;
  vertical-align: middle !important;
}
.psg-sp-event-page .sp-template-event-results table th:first-child,
.psg-sp-event-page .sp-template-event-results table td:first-child,
.psg-sp-event-page table.sp-event-results th:first-child,
.psg-sp-event-page table.sp-event-results td:first-child {
  width: 28% !important;
  text-align: left !important;
}
.psg-sp-event-page .sp-template-event-results table th:nth-child(2),
.psg-sp-event-page .sp-template-event-results table td:nth-child(2),
.psg-sp-event-page table.sp-event-results th:nth-child(2),
.psg-sp-event-page table.sp-event-results td:nth-child(2) { width: 20% !important; text-align:center !important; }
.psg-sp-event-page .sp-template-event-results table th:nth-child(3),
.psg-sp-event-page .sp-template-event-results table td:nth-child(3),
.psg-sp-event-page table.sp-event-results th:nth-child(3),
.psg-sp-event-page table.sp-event-results td:nth-child(3) { width: 20% !important; text-align:center !important; }
.psg-sp-event-page .sp-template-event-results table th:nth-child(4),
.psg-sp-event-page .sp-template-event-results table td:nth-child(4),
.psg-sp-event-page table.sp-event-results th:nth-child(4),
.psg-sp-event-page table.sp-event-results td:nth-child(4) { width: 14% !important; text-align:center !important; }
.psg-sp-event-page .sp-template-event-results table th:nth-child(5),
.psg-sp-event-page .sp-template-event-results table td:nth-child(5),
.psg-sp-event-page table.sp-event-results th:nth-child(5),
.psg-sp-event-page table.sp-event-results td:nth-child(5) { width: 18% !important; text-align:center !important; }

/* Prevent generic SportsPress min-width from breaking these two tables */
.psg-sp-event-page .sp-template-event-details .sp-table-wrapper,
.psg-sp-event-page .sp-template-event-results .sp-table-wrapper {
  overflow-x: hidden !important;
}
.psg-sp-event-page .sp-template-event-details .sp-data-table,
.psg-sp-event-page .sp-template-event-results .sp-data-table {
  min-width: 0 !important;
}

@media (max-width: 782px) {
  .psg-sp-event-page .sp-template-event-details,
  .psg-sp-event-page .sp-template-event-results {
    padding: 12px !important;
  }
  .psg-sp-event-page .sp-template-event-details table th,
  .psg-sp-event-page .sp-template-event-details table td,
  .psg-sp-event-page table.sp-event-details th,
  .psg-sp-event-page table.sp-event-details td,
  .psg-sp-event-page .sp-template-event-results table th,
  .psg-sp-event-page .sp-template-event-results table td,
  .psg-sp-event-page table.sp-event-results th,
  .psg-sp-event-page table.sp-event-results td {
    padding: 8px 4px !important;
    font-size: 9.5px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .psg-sp-event-page .sp-template-event-details table th:nth-child(1),
  .psg-sp-event-page .sp-template-event-details table td:nth-child(1),
  .psg-sp-event-page table.sp-event-details th:nth-child(1),
  .psg-sp-event-page table.sp-event-details td:nth-child(1) { width: 23% !important; }
  .psg-sp-event-page .sp-template-event-details table th:nth-child(2),
  .psg-sp-event-page .sp-template-event-details table td:nth-child(2),
  .psg-sp-event-page table.sp-event-details th:nth-child(2),
  .psg-sp-event-page table.sp-event-details td:nth-child(2) { width: 12% !important; }
  .psg-sp-event-page .sp-template-event-details table th:nth-child(3),
  .psg-sp-event-page .sp-template-event-details table td:nth-child(3),
  .psg-sp-event-page table.sp-event-details th:nth-child(3),
  .psg-sp-event-page table.sp-event-details td:nth-child(3) { width: 18% !important; }
  .psg-sp-event-page .sp-template-event-details table th:nth-child(4),
  .psg-sp-event-page .sp-template-event-details table td:nth-child(4),
  .psg-sp-event-page table.sp-event-details th:nth-child(4),
  .psg-sp-event-page table.sp-event-details td:nth-child(4) { width: 32% !important; }
  .psg-sp-event-page .sp-template-event-details table th:nth-child(5),
  .psg-sp-event-page .sp-template-event-details table td:nth-child(5),
  .psg-sp-event-page table.sp-event-details th:nth-child(5),
  .psg-sp-event-page table.sp-event-details td:nth-child(5) { width: 15% !important; }

  .psg-sp-event-page .sp-template-event-results table th:first-child,
  .psg-sp-event-page .sp-template-event-results table td:first-child,
  .psg-sp-event-page table.sp-event-results th:first-child,
  .psg-sp-event-page table.sp-event-results td:first-child { width: 31% !important; }
  .psg-sp-event-page .sp-template-event-results table th:nth-child(2),
  .psg-sp-event-page .sp-template-event-results table td:nth-child(2),
  .psg-sp-event-page table.sp-event-results th:nth-child(2),
  .psg-sp-event-page table.sp-event-results td:nth-child(2) { width: 18% !important; }
  .psg-sp-event-page .sp-template-event-results table th:nth-child(3),
  .psg-sp-event-page .sp-template-event-results table td:nth-child(3),
  .psg-sp-event-page table.sp-event-results th:nth-child(3),
  .psg-sp-event-page table.sp-event-results td:nth-child(3) { width: 18% !important; }
  .psg-sp-event-page .sp-template-event-results table th:nth-child(4),
  .psg-sp-event-page .sp-template-event-results table td:nth-child(4),
  .psg-sp-event-page table.sp-event-results th:nth-child(4),
  .psg-sp-event-page table.sp-event-results td:nth-child(4) { width: 13% !important; }
  .psg-sp-event-page .sp-template-event-results table th:nth-child(5),
  .psg-sp-event-page .sp-template-event-results table td:nth-child(5),
  .psg-sp-event-page table.sp-event-results th:nth-child(5),
  .psg-sp-event-page table.sp-event-results td:nth-child(5) { width: 20% !important; }
}

/* === PSG v1.5.1: mobile event tables – exact header/value alignment === */
@media (max-width: 782px) {
  .psg-sp-event-page .sp-template-event-details table,
  .psg-sp-event-page .sp-template-event-results table,
  .psg-sp-event-page table.sp-event-details,
  .psg-sp-event-page table.sp-event-results {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }

  .psg-sp-event-page .sp-template-event-details thead,
  .psg-sp-event-page .sp-template-event-details tbody,
  .psg-sp-event-page .sp-template-event-details tr,
  .psg-sp-event-page .sp-template-event-results thead,
  .psg-sp-event-page .sp-template-event-results tbody,
  .psg-sp-event-page .sp-template-event-results tr {
    display: table-row-group !important;
    width: auto !important;
  }
  .psg-sp-event-page .sp-template-event-details tr,
  .psg-sp-event-page .sp-template-event-results tr {
    display: table-row !important;
  }
  .psg-sp-event-page .sp-template-event-details th,
  .psg-sp-event-page .sp-template-event-details td,
  .psg-sp-event-page .sp-template-event-results th,
  .psg-sp-event-page .sp-template-event-results td,
  .psg-sp-event-page table.sp-event-details th,
  .psg-sp-event-page table.sp-event-details td,
  .psg-sp-event-page table.sp-event-results th,
  .psg-sp-event-page table.sp-event-results td {
    display: table-cell !important;
    float: none !important;
    position: static !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }

  /* SZCZEGÓŁY: header i wartość dokładnie w tej samej osi */
  .psg-sp-event-page .sp-template-event-details th,
  .psg-sp-event-page .sp-template-event-details td,
  .psg-sp-event-page table.sp-event-details th,
  .psg-sp-event-page table.sp-event-details td {
    text-align: center !important;
    vertical-align: middle !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
  }
  .psg-sp-event-page .sp-template-event-details th > *,
  .psg-sp-event-page .sp-template-event-details td > *,
  .psg-sp-event-page table.sp-event-details th > *,
  .psg-sp-event-page table.sp-event-details td > * {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  /* WYNIKI: klub po lewej, wszystkie wartości idealnie wycentrowane pod nagłówkami */
  .psg-sp-event-page .sp-template-event-results th,
  .psg-sp-event-page .sp-template-event-results td,
  .psg-sp-event-page table.sp-event-results th,
  .psg-sp-event-page table.sp-event-results td {
    text-align: center !important;
    vertical-align: middle !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
  }
  .psg-sp-event-page .sp-template-event-results th:first-child,
  .psg-sp-event-page .sp-template-event-results td:first-child,
  .psg-sp-event-page table.sp-event-results th:first-child,
  .psg-sp-event-page table.sp-event-results td:first-child {
    text-align: left !important;
    padding-left: 7px !important;
  }
  .psg-sp-event-page .sp-template-event-results th > *,
  .psg-sp-event-page .sp-template-event-results td > *,
  .psg-sp-event-page table.sp-event-results th > *,
  .psg-sp-event-page table.sp-event-results td > * {
    width: 100% !important;
    margin: 0 !important;
    text-align: inherit !important;
  }

  /* Stabilne szerokości na telefonie */
  .psg-sp-event-page .sp-template-event-details th:nth-child(1),
  .psg-sp-event-page .sp-template-event-details td:nth-child(1) { width: 22% !important; }
  .psg-sp-event-page .sp-template-event-details th:nth-child(2),
  .psg-sp-event-page .sp-template-event-details td:nth-child(2) { width: 12% !important; }
  .psg-sp-event-page .sp-template-event-details th:nth-child(3),
  .psg-sp-event-page .sp-template-event-details td:nth-child(3) { width: 18% !important; }
  .psg-sp-event-page .sp-template-event-details th:nth-child(4),
  .psg-sp-event-page .sp-template-event-details td:nth-child(4) { width: 33% !important; }
  .psg-sp-event-page .sp-template-event-details th:nth-child(5),
  .psg-sp-event-page .sp-template-event-details td:nth-child(5) { width: 15% !important; }

  .psg-sp-event-page .sp-template-event-results th:nth-child(1),
  .psg-sp-event-page .sp-template-event-results td:nth-child(1) { width: 30% !important; }
  .psg-sp-event-page .sp-template-event-results th:nth-child(2),
  .psg-sp-event-page .sp-template-event-results td:nth-child(2) { width: 19% !important; }
  .psg-sp-event-page .sp-template-event-results th:nth-child(3),
  .psg-sp-event-page .sp-template-event-results td:nth-child(3) { width: 19% !important; }
  .psg-sp-event-page .sp-template-event-results th:nth-child(4),
  .psg-sp-event-page .sp-template-event-results td:nth-child(4) { width: 13% !important; }
  .psg-sp-event-page .sp-template-event-results th:nth-child(5),
  .psg-sp-event-page .sp-template-event-results td:nth-child(5) { width: 19% !important; }
}


/* =========================================================
   PSG Pro League 1.5.18 — szczegóły pojedynczego meczu
   Tylko .psg-sp-event-page, bez wpływu na globalny header/menu.
   ========================================================= */

/* Cała zawartość meczu nie może rozszerzać viewportu. */
.psg-sp-event-page,
.psg-sp-event-page .psg-sp-container,
.psg-sp-event-page .content-area,
.psg-sp-event-page .entry-card,
.psg-sp-event-page .entry-content,
.psg-sp-event-page .sportspress,
.psg-sp-event-page .sp-template{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.psg-sp-event-page{
  overflow-x:hidden!important;
}

/* Tytuł meczu: wyśrodkowany zarówno desktop jak i mobile. */
.psg-sp-event-page .entry-header{
  width:100%!important;
  text-align:center!important;
}

.psg-sp-event-page .entry-title{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Herby i nazwy drużyn — równy, stabilny grid. */
.psg-sp-event-page .sp-template-event-logos{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}

.psg-sp-event-page .sp-event-logos{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}

.psg-sp-event-page .sp-event-logos .sp-team-logo{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  position:static!important;
  text-align:center!important;
  box-sizing:border-box!important;
}

.psg-sp-event-page .sp-event-logos .sp-team-logo:first-child{
  grid-column:1!important;
}
.psg-sp-event-page .sp-event-logos .sp-team-logo:last-child{
  grid-column:3!important;
}

.psg-sp-event-page .sp-event-logos .sp-team-logo a,
.psg-sp-event-page .sp-event-logos .sp-team-logo strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Wszystko pomiędzy drużynami (VS / separator / wynik) trafia na środek. */
.psg-sp-event-page .sp-event-logos > :not(.sp-team-logo){
  grid-column:2!important;
  justify-self:center!important;
  align-self:center!important;
  min-width:0!important;
  max-width:44px!important;
  text-align:center!important;
}

/* Desktop */
@media(min-width:783px){
  .psg-sp-event-page .entry-title{
    font-size:clamp(30px,3vw,46px)!important;
    line-height:1.08!important;
  }

  .psg-sp-event-page .sp-template-event-logos{
    padding:22px 26px!important;
  }

  .psg-sp-event-page .sp-event-logos{
    grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr)!important;
    gap:20px!important;
  }

  .psg-sp-event-page .sp-event-logos .sp-team-logo img{
    display:block!important;
    width:auto!important;
    height:100px!important;
    max-width:130px!important;
    max-height:100px!important;
    margin:0 auto 10px!important;
    object-fit:contain!important;
  }

  .psg-sp-event-page .sp-event-logos .sp-team-logo a,
  .psg-sp-event-page .sp-event-logos .sp-team-logo strong{
    font-size:16px!important;
    line-height:1.25!important;
  }

  .psg-sp-event-page .sp-event-logos > :not(.sp-team-logo){
    max-width:64px!important;
  }
}

/* Mobile */
@media(max-width:782px){
  .psg-sp-event-page .psg-sp-container{
    width:min(100% - 20px,var(--psg-container))!important;
  }

  .psg-sp-event-page .entry-card{
    padding:16px!important;
    overflow:hidden!important;
  }

  .psg-sp-event-page .entry-title{
    padding:0 2px!important;
    font-size:clamp(27px,8vw,38px)!important;
    line-height:1.08!important;
  }

  .psg-sp-event-page .sp-template-event-logos{
    padding:14px 8px!important;
  }

  .psg-sp-event-page .sp-event-logos{
    grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr)!important;
    gap:5px!important;
  }

  .psg-sp-event-page .sp-event-logos .sp-team-logo{
    padding:2px!important;
  }

  .psg-sp-event-page .sp-event-logos .sp-team-logo img{
    display:block!important;
    width:auto!important;
    height:60px!important;
    max-width:76px!important;
    max-height:60px!important;
    margin:0 auto 7px!important;
    object-fit:contain!important;
  }

  .psg-sp-event-page .sp-event-logos .sp-team-logo a,
  .psg-sp-event-page .sp-event-logos .sp-team-logo strong{
    font-size:12px!important;
    line-height:1.18!important;
  }

  .psg-sp-event-page .sp-event-logos > :not(.sp-team-logo){
    max-width:30px!important;
    overflow:hidden!important;
  }
}

/* Miejsce spotkania — ciemny pasek zawsze z białym tekstem. */
.psg-sp-event-page .sp-template-event-venue table tr:first-child,
.psg-sp-event-page .sp-template-event-venue thead tr{
  background:var(--psg-dark)!important;
}

.psg-sp-event-page .sp-template-event-venue table tr:first-child *,
.psg-sp-event-page .sp-template-event-venue thead *,
.psg-sp-event-page .sp-template-event-venue .sp-event-venue,
.psg-sp-event-page .sp-template-event-venue .sp-event-venue a{
  color:#fff!important;
}



/* =========================================================
   PSG Pro League 1.5.19 — header/menu na stronie meczu
   Przywraca dokładnie proporcje zwykłego nagłówka motywu.
   ========================================================= */

/* Desktop — nie pozwalamy pozycjom menu łamać się na 2 linie. */
body.single-sp_event .site-header .psg-header-inner{
  min-width:0!important;
}

body.single-sp_event .site-header .site-branding{
  min-width:0!important;
  flex:1 1 auto!important;
}

body.single-sp_event .site-header .main-navigation{
  flex:0 0 auto!important;
  min-width:0!important;
}

body.single-sp_event .site-header .main-navigation > .menu{
  flex-wrap:nowrap!important;
}

body.single-sp_event .site-header .main-navigation > .menu > li > a{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}

/* Przy szerokościach desktopowych, na których normalnie nadal jest pełne menu,
   delikatnie zmniejszamy tylko odstępy — bez zmiany struktury headera. */
@media(min-width:1081px) and (max-width:1280px){
  body.single-sp_event .site-header .psg-header-inner{
    gap:16px!important;
  }
  body.single-sp_event .site-header .site-branding{
    gap:10px!important;
  }
  body.single-sp_event .site-header .main-navigation > .menu > li > a{
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:12px!important;
  }
  body.single-sp_event .site-header .psg-socca-brand img{
    height:54px!important;
    max-width:132px!important;
  }
}

/* Mobile/tablet — dokładnie te same limity logo co na pozostałych stronach. */
@media(max-width:1080px){
  body.single-sp_event .site-header .main-navigation > .menu{
    flex-wrap:nowrap!important;
  }
}

@media(max-width:760px){
  body.single-sp_event .site-header .psg-header-inner{
    min-height:64px!important;
    gap:10px!important;
  }

  body.single-sp_event .site-header .site-branding{
    gap:8px!important;
    flex:1 1 auto!important;
    min-width:0!important;
  }

  body.single-sp_event .site-header .custom-logo-link{
    flex:0 0 auto!important;
  }

  body.single-sp_event .site-header .custom-logo{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-height:46px!important;
    max-width:54px!important;
    object-fit:contain!important;
  }

  body.single-sp_event .site-header .psg-socca-brand{
    flex:0 0 auto!important;
    max-width:108px!important;
    overflow:hidden!important;
  }

  body.single-sp_event .site-header .psg-socca-brand img{
    display:block!important;
    width:auto!important;
    height:38px!important;
    min-height:0!important;
    max-height:38px!important;
    max-width:105px!important;
    object-fit:contain!important;
  }

  body.single-sp_event .site-header .psg-socca-brand__divider{
    height:32px!important;
  }

  body.single-sp_event .site-header .main-navigation{
    flex:0 0 auto!important;
  }

  body.single-sp_event .site-header .menu-toggle{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    flex:0 0 auto!important;
  }
}

@media(max-width:480px){
  body.single-sp_event .site-header .psg-socca-brand{
    max-width:100px!important;
  }
  body.single-sp_event .site-header .psg-socca-brand img{
    height:36px!important;
    max-height:36px!important;
    max-width:98px!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.20 — szczegóły meczu: dopracowanie
   1) tytuł meczu na telefonie zawsze w jednej linii i centralnie,
   2) KOLEJKA bez łamania na "KOLEJK / A",
   3) kompaktowe, wyśrodkowane pole miejsca spotkania.
   ========================================================= */

/* Tytuł meczu — desktop nadal centralnie. */
.psg-sp-event-page .entry-header,
.psg-sp-event-page .entry-title{
  text-align:center!important;
}

/* KOLEJKA zawsze jako jedno słowo. */
.psg-sp-event-page .sp-template-event-details table th:nth-child(5),
.psg-sp-event-page table.sp-event-details th:nth-child(5){
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  letter-spacing:0!important;
}

/* Pole miejsca spotkania ma być zwarte i wyśrodkowane, a nie rozciągnięte
   na całą szerokość dużej karty. */
.psg-sp-event-page .sp-template-event-venue .sp-table-wrapper{
  width:min(92%,560px)!important;
  max-width:560px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:hidden!important;
}

.psg-sp-event-page .sp-template-event-venue table{
  width:100%!important;
  max-width:560px!important;
  margin:0 auto!important;
  table-layout:auto!important;
}

.psg-sp-event-page .sp-template-event-venue table th,
.psg-sp-event-page .sp-template-event-venue table td{
  width:auto!important;
}

/* Nazwa obiektu, np. RZĄDZ — biała na ciemnym pasku. */
.psg-sp-event-page .sp-template-event-venue table tr:first-child *,
.psg-sp-event-page .sp-template-event-venue thead *,
.psg-sp-event-page .sp-template-event-venue .sp-event-venue,
.psg-sp-event-page .sp-template-event-venue .sp-event-venue a{
  color:#fff!important;
}

/* Telefon */
@media(max-width:782px){

  /* Wymóg: nazwa całego meczu zawsze w jednym wierszu.
     Rozmiar skaluje się wraz z ekranem; nawet długie zestawienie drużyn
     nie przechodzi do drugiej linii. */
  .psg-sp-event-page .entry-title{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    text-align:center!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    font-size:clamp(10px,3.85vw,18px)!important;
    line-height:1.15!important;
    letter-spacing:-.025em!important;
  }

  /* Więcej miejsca na KOLEJKA kosztem SEZONU.
     Suma = 100%. */
  .psg-sp-event-page .sp-template-event-details th:nth-child(1),
  .psg-sp-event-page .sp-template-event-details td:nth-child(1){
    width:22%!important;
  }
  .psg-sp-event-page .sp-template-event-details th:nth-child(2),
  .psg-sp-event-page .sp-template-event-details td:nth-child(2){
    width:12%!important;
  }
  .psg-sp-event-page .sp-template-event-details th:nth-child(3),
  .psg-sp-event-page .sp-template-event-details td:nth-child(3){
    width:17%!important;
  }
  .psg-sp-event-page .sp-template-event-details th:nth-child(4),
  .psg-sp-event-page .sp-template-event-details td:nth-child(4){
    width:31%!important;
  }
  .psg-sp-event-page .sp-template-event-details th:nth-child(5),
  .psg-sp-event-page .sp-template-event-details td:nth-child(5){
    width:18%!important;
  }

  .psg-sp-event-page .sp-template-event-details th:nth-child(5),
  .psg-sp-event-page table.sp-event-details th:nth-child(5){
    padding-left:1px!important;
    padding-right:1px!important;
    font-size:8.2px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  /* Miejsce spotkania na mobile też pozostaje zwarte. */
  .psg-sp-event-page .sp-template-event-venue .sp-table-wrapper{
    width:92%!important;
    max-width:92%!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.22 — wysokość wiersza „RZĄDZ”
   Zostawiamy dwa wiersze (nazwa obiektu + adres), ale ciemny
   wiersz ma być tak samo zwarty jak nagłówek tabeli Szczegóły.
   ========================================================= */

.psg-sp-event-page .sp-template-event-venue table tr:first-child th,
.psg-sp-event-page .sp-template-event-venue table tr:first-child td{
  height:auto!important;
  min-height:0!important;
  padding:10px 12px!important;
  line-height:1.15!important;
  vertical-align:middle!important;
}

.psg-sp-event-page .sp-template-event-venue table tr:first-child,
.psg-sp-event-page .sp-template-event-venue table tr:first-child th,
.psg-sp-event-page .sp-template-event-venue table tr:first-child td{
  background:var(--psg-dark)!important;
}

.psg-sp-event-page .sp-template-event-venue table tr:first-child *,
.psg-sp-event-page .sp-template-event-venue table tr:first-child a{
  color:#fff!important;
  line-height:1.15!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Usuwamy ewentualne duże wysokości/paddingi SportsPress na komórce miejsca. */
.psg-sp-event-page .sp-template-event-venue table tr:first-child p,
.psg-sp-event-page .sp-template-event-venue table tr:first-child div,
.psg-sp-event-page .sp-template-event-venue table tr:first-child span{
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  min-height:0!important;
}

/* Adres pod spodem zostaje osobnym jasnym wierszem. */
.psg-sp-event-page .sp-template-event-venue table tr:nth-child(2) th,
.psg-sp-event-page .sp-template-event-venue table tr:nth-child(2) td{
  padding:10px 12px!important;
  line-height:1.25!important;
}

@media(max-width:782px){
  .psg-sp-event-page .sp-template-event-venue table tr:first-child th,
  .psg-sp-event-page .sp-template-event-venue table tr:first-child td{
    padding:9px 10px!important;
    font-size:12px!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.23 — logo Polska Federacja Socca
   na stronie szczegółów meczu ma taki sam, kompaktowy rozmiar
   jak na pozostałych podstronach.
   ========================================================= */
body.single-sp_event .site-header .psg-socca-brand{
  flex:0 0 auto!important;
}

body.single-sp_event .site-header .psg-socca-brand img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-height:46px!important;
  max-width:138px!important;
  object-fit:contain!important;
}

/* średni desktop/tablet */
@media(max-width:1080px){
  body.single-sp_event .site-header .psg-socca-brand img{
    max-height:42px!important;
    max-width:126px!important;
  }
}

/* mobile */
@media(max-width:760px){
  body.single-sp_event .site-header .psg-socca-brand{
    max-width:102px!important;
  }

  body.single-sp_event .site-header .psg-socca-brand img{
    height:36px!important;
    max-height:36px!important;
    max-width:100px!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.24 — finalne dopasowanie szczegółów meczu
   1. Logo Polska Federacja Socca = DOKŁADNIE ten sam rozmiar,
      co w globalnym headerze / na stronie głównej.
   2. Miejsce spotkania = pełna szerokość pola; RZĄDZ centralnie
      względem całego pola, adres pod nim na pełnej szerokości.
   ========================================================= */

/* --- LOGO SOCCA: dokładne wartości z głównego style.css --- */
body.single-sp_event .site-header .psg-socca-brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  margin-left:2px!important;
  max-width:none!important;
  overflow:visible!important;
}

body.single-sp_event .site-header .psg-socca-brand__divider{
  display:block!important;
  width:1px!important;
  height:42px!important;
  background:rgba(255,255,255,.20)!important;
}

body.single-sp_event .site-header .psg-socca-brand img{
  display:block!important;
  width:auto!important;
  height:62px!important;
  min-height:0!important;
  max-height:none!important;
  max-width:152px!important;
  object-fit:contain!important;
}

@media(max-width:1180px){
  body.single-sp_event .site-header .psg-socca-brand img{
    height:56px!important;
    max-width:138px!important;
  }
  body.single-sp_event .site-header .psg-socca-brand__divider{
    height:46px!important;
  }
}

@media(max-width:900px){
  body.single-sp_event .site-header .psg-socca-brand{
    margin-left:0!important;
    gap:8px!important;
  }
  body.single-sp_event .site-header .psg-socca-brand img{
    height:52px!important;
    max-width:128px!important;
  }
  body.single-sp_event .site-header .psg-socca-brand__divider{
    height:42px!important;
  }
}

@media(max-width:760px){
  body.single-sp_event .site-header .psg-socca-brand{
    max-width:none!important;
    overflow:visible!important;
  }
  body.single-sp_event .site-header .psg-socca-brand img{
    height:46px!important;
    max-height:none!important;
    max-width:113px!important;
  }
  body.single-sp_event .site-header .psg-socca-brand__divider{
    height:36px!important;
  }
}

@media(max-width:480px){
  body.single-sp_event .site-header .psg-socca-brand__divider{
    display:none!important;
  }
  body.single-sp_event .site-header .psg-socca-brand img{
    height:46px!important;
    max-width:113px!important;
  }
}


/* --- MIEJSCE SPOTKANIA --- */

/* Cofamy wcześniejsze zwężenie do 560px / 92%. */
.psg-sp-event-page .sp-template-event-venue .sp-table-wrapper{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  overflow:hidden!important;
}

.psg-sp-event-page .sp-template-event-venue table{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  table-layout:auto!important;
  border-collapse:collapse!important;
}

.psg-sp-event-page .sp-template-event-venue table tbody{
  display:block!important;
  width:100%!important;
}

.psg-sp-event-page .sp-template-event-venue table tr{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}

.psg-sp-event-page .sp-template-event-venue table th,
.psg-sp-event-page .sp-template-event-venue table td{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Nazwa obiektu: pełny ciemny pasek i idealny środek całego pola. */
.psg-sp-event-page .sp-template-event-venue table tr:first-child{
  width:100%!important;
  background:var(--psg-dark)!important;
}

.psg-sp-event-page .sp-template-event-venue table tr:first-child th,
.psg-sp-event-page .sp-template-event-venue table tr:first-child td{
  width:100%!important;
  padding:11px 14px!important;
  margin:0!important;
  min-height:0!important;
  height:auto!important;
  background:var(--psg-dark)!important;
  color:#fff!important;
  text-align:center!important;
  vertical-align:middle!important;
  line-height:1.15!important;
}

.psg-sp-event-page .sp-template-event-venue table tr:first-child *,
.psg-sp-event-page .sp-template-event-venue table tr:first-child a{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  text-align:center!important;
  line-height:1.15!important;
}

/* Adres: pełne szare pole dokładnie pod paskiem RZĄDZ. */
.psg-sp-event-page .sp-template-event-venue table tr:nth-child(2){
  width:100%!important;
  background:#f3f5f7!important;
}

.psg-sp-event-page .sp-template-event-venue table tr:nth-child(2) th,
.psg-sp-event-page .sp-template-event-venue table tr:nth-child(2) td{
  width:100%!important;
  padding:11px 14px!important;
  background:#f3f5f7!important;
  color:var(--psg-text)!important;
  text-align:left!important;
  line-height:1.25!important;
}

/* Mobile zachowuje dokładnie ten sam układ i pełną szerokość. */
@media(max-width:782px){
  .psg-sp-event-page .sp-template-event-venue .sp-table-wrapper{
    width:100%!important;
    max-width:100%!important;
  }

  .psg-sp-event-page .sp-template-event-venue table tr:first-child th,
  .psg-sp-event-page .sp-template-event-venue table tr:first-child td{
    padding:10px 10px!important;
    font-size:12px!important;
  }

  .psg-sp-event-page .sp-template-event-venue table tr:nth-child(2) th,
  .psg-sp-event-page .sp-template-event-venue table tr:nth-child(2) td{
    padding:10px!important;
    font-size:11px!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.25 — Miejsce spotkania: prawdziwy 1 wiersz
   SportsPress tworzy w pierwszym wierszu więcej niż jedną komórkę.
   Po normalizacji JS zostaje jedna komórka na pełną szerokość.
   ========================================================= */
.psg-sp-event-page .sp-template-event-venue table tr.psg-venue-name-row{
  display:table-row!important;
  width:100%!important;
  background:var(--psg-dark)!important;
}

.psg-sp-event-page .sp-template-event-venue table tr.psg-venue-name-row > th,
.psg-sp-event-page .sp-template-event-venue table tr.psg-venue-name-row > td{
  display:table-cell!important;
  width:100%!important;
  padding:10px 12px!important;
  margin:0!important;
  height:auto!important;
  min-height:0!important;
  background:var(--psg-dark)!important;
  color:#fff!important;
  text-align:center!important;
  vertical-align:middle!important;
  line-height:1.15!important;
}

.psg-sp-event-page .sp-template-event-venue table tr.psg-venue-name-row > * *{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  text-align:center!important;
  line-height:1.15!important;
}

/* Drugi wiersz = adres, pełna szerokość. */
.psg-sp-event-page .sp-template-event-venue table tr.psg-venue-address-row{
  display:table-row!important;
  width:100%!important;
}

.psg-sp-event-page .sp-template-event-venue table tr.psg-venue-address-row > th,
.psg-sp-event-page .sp-template-event-venue table tr.psg-venue-address-row > td{
  display:table-cell!important;
  width:100%!important;
  padding:10px 12px!important;
  background:#f3f5f7!important;
  color:var(--psg-text)!important;
  text-align:left!important;
  line-height:1.25!important;
}

@media(max-width:782px){
  .psg-sp-event-page .sp-template-event-venue table tr.psg-venue-name-row > th,
  .psg-sp-event-page .sp-template-event-venue table tr.psg-venue-name-row > td{
    padding:9px 10px!important;
    font-size:12px!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.26 — FINAL: Miejsce spotkania
   Struktura pochodzi z własnego template event-venue.php.
   Nie ma pustej mapy ani dodatkowych komórek.
   ========================================================= */
.psg-sp-event-page .psg-event-venue{
  width:100%!important;
}

.psg-sp-event-page .psg-event-venue .sp-table-caption{
  margin-bottom:0!important;
}

.psg-sp-event-page .psg-event-venue-table{
  display:table!important;
  width:100%!important;
  max-width:100%!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
  margin:0!important;
}

.psg-sp-event-page .psg-event-venue-table thead{
  display:table-header-group!important;
}

.psg-sp-event-page .psg-event-venue-table tbody{
  display:table-row-group!important;
}

.psg-sp-event-page .psg-event-venue-table tr{
  display:table-row!important;
  width:auto!important;
}

.psg-sp-event-page .psg-event-venue-table th,
.psg-sp-event-page .psg-event-venue-table td{
  display:table-cell!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

/* RZĄDZ — dokładnie jeden ciemny, zwarty wiersz */
.psg-sp-event-page .psg-event-venue-name-row th{
  padding:10px 12px!important;
  min-height:0!important;
  height:auto!important;
  background:var(--psg-dark)!important;
  color:#fff!important;
  text-align:center!important;
  vertical-align:middle!important;
  line-height:1.15!important;
  font-weight:900!important;
}

.psg-sp-event-page .psg-event-venue-name-row th a{
  color:#fff!important;
  text-align:center!important;
}

/* Adres — jeden jasny wiersz pod spodem */
.psg-sp-event-page .psg-event-venue-address-row td{
  padding:10px 12px!important;
  background:#f3f5f7!important;
  color:var(--psg-text)!important;
  text-align:left!important;
  line-height:1.25!important;
}

/* Własny template nie renderuje już sp-event-venue-map-row,
   więc nie może powstać pusty czarny pasek. */

@media(max-width:782px){
  .psg-sp-event-page .psg-event-venue-name-row th{
    padding:9px 10px!important;
    font-size:12px!important;
  }

  .psg-sp-event-page .psg-event-venue-address-row td{
    padding:9px 10px!important;
    font-size:11px!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.27 — EXACT venue layout
   ========================================================= */
.psg-sp-event-page .sp-template-event-venue .psg-venue-final-table{
  display:table!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
}

.psg-sp-event-page .psg-venue-final-table tbody{
  display:table-row-group!important;
}

.psg-sp-event-page .psg-venue-final-table tr{
  display:table-row!important;
}

.psg-sp-event-page .psg-venue-final-table th,
.psg-sp-event-page .psg-venue-final-table td{
  display:table-cell!important;
  width:100%!important;
  box-sizing:border-box!important;
}

/* Dokładnie taki sam "gruby" ciemny wiersz jak DATA/CZAS/LIGA/SEZON/KOLEJKA */
.psg-sp-event-page .psg-venue-final-name-row th{
  height:auto!important;
  min-height:0!important;
  padding:12px 8px!important;
  background:var(--psg-dark)!important;
  color:#fff!important;
  text-align:center!important;
  vertical-align:middle!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Adres pod spodem jako normalny jasnoszary wiersz */
.psg-sp-event-page .psg-venue-final-address-row td{
  padding:11px 12px!important;
  background:#f3f5f7!important;
  color:var(--psg-text)!important;
  text-align:left!important;
  vertical-align:middle!important;
  line-height:1.25!important;
  border-top:1px solid #dfe5ea!important;
}

/* Usuwamy wszystkie wcześniejsze efekty szerokości dla tej finalnej tabeli */
.psg-sp-event-page .sp-template-event-venue .psg-venue-final-table,
.psg-sp-event-page .sp-template-event-venue .psg-venue-final-table *{
  max-width:none!important;
}

@media(max-width:782px){
  .psg-sp-event-page .psg-venue-final-name-row th{
    padding:10px 6px!important;
    font-size:9px!important;
  }

  .psg-sp-event-page .psg-venue-final-address-row td{
    padding:9px 10px!important;
    font-size:11px!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.28 — Szczegóły = Miejsce spotkania
   - identyczna szerokość sekcji/tabel,
   - ten sam styl i rozmiar tekstu w ciemnych nagłówkach,
   - adres miejsca spotkania wyśrodkowany.
   ========================================================= */

/* Obie sekcje mają dokładnie tę samą szerokość i geometrię. */
.psg-sp-event-page .sp-template-event-details,
.psg-sp-event-page .sp-template-event-venue{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

.psg-sp-event-page .sp-template-event-details .sp-table-wrapper,
.psg-sp-event-page .sp-template-event-venue .sp-table-wrapper{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}

.psg-sp-event-page .sp-template-event-details table,
.psg-sp-event-page .psg-event-venue-table,
.psg-sp-event-page .psg-venue-final-table{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  table-layout:fixed!important;
}

/* Nagłówki DATA/CZAS/LIGA/SEZON/KOLEJKA mają dokładnie taki sam
   font, rozmiar i "grubość" jak RZĄDZ. */
.psg-sp-event-page .sp-template-event-details thead th,
.psg-sp-event-page .sp-template-event-details table tr:first-child th,
.psg-sp-event-page .psg-venue-final-name-row th{
  padding:10px 8px!important;
  background:var(--psg-dark)!important;
  color:#fff!important;
  text-align:center!important;
  vertical-align:middle!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}

/* Wartości w sekcji Szczegóły też wyrównujemy do wspólnej geometrii. */
.psg-sp-event-page .sp-template-event-details tbody td{
  padding:10px 8px!important;
  text-align:center!important;
  vertical-align:middle!important;
  line-height:1.2!important;
}

/* Adres miejsca spotkania ma być wyśrodkowany względem całego pola. */
.psg-sp-event-page .psg-venue-final-address-row td,
.psg-sp-event-page .psg-event-venue-address-row td,
.psg-sp-event-page .sp-template-event-venue table tr:nth-child(2) td{
  text-align:center!important;
}

/* Mobile: zachowujemy identyczny rozmiar ciemnych nagłówków
   w Szczegółach i Miejscu spotkania. */
@media(max-width:782px){
  .psg-sp-event-page .sp-template-event-details thead th,
  .psg-sp-event-page .sp-template-event-details table tr:first-child th,
  .psg-sp-event-page .psg-venue-final-name-row th{
    padding:9px 4px!important;
    font-size:9px!important;
    line-height:1.05!important;
  }

  .psg-sp-event-page .sp-template-event-details tbody td{
    padding:9px 4px!important;
    font-size:10px!important;
  }

  .psg-sp-event-page .psg-venue-final-address-row td,
  .psg-sp-event-page .psg-event-venue-address-row td{
    text-align:center!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.29 — tabela „Szczegóły” stylistycznie
   identyczna z tabelą „Miejsce spotkania”.
   ========================================================= */

/* Obie tabele: ta sama geometria, obramowanie i tło. */
.psg-sp-event-page .sp-template-event-details .sp-table-wrapper,
.psg-sp-event-page .sp-template-event-venue .sp-table-wrapper{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  border:1px solid #dfe5ea!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:none!important;
}

.psg-sp-event-page .sp-template-event-details table,
.psg-sp-event-page .psg-venue-final-table{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  border:0!important;
  border-collapse:collapse!important;
  table-layout:fixed!important;
  background:#fff!important;
}

/* Górny ciemny wiersz — dokładnie ten sam styl. */
.psg-sp-event-page .sp-template-event-details thead,
.psg-sp-event-page .psg-venue-final-table .psg-venue-final-name-row{
  background:var(--psg-dark)!important;
}

.psg-sp-event-page .sp-template-event-details thead th,
.psg-sp-event-page .psg-venue-final-name-row th{
  padding:10px 8px!important;
  height:auto!important;
  min-height:0!important;
  background:var(--psg-dark)!important;
  color:#fff!important;
  border:0!important;
  text-align:center!important;
  vertical-align:middle!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}

/* Dolny jasnoszary wiersz — identyczny z adresem miejsca spotkania. */
.psg-sp-event-page .sp-template-event-details tbody tr,
.psg-sp-event-page .psg-venue-final-address-row{
  background:#f3f5f7!important;
}

.psg-sp-event-page .sp-template-event-details tbody td,
.psg-sp-event-page .psg-venue-final-address-row td{
  padding:10px 8px!important;
  background:#f3f5f7!important;
  color:var(--psg-text)!important;
  border-top:1px solid #dfe5ea!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:0!important;
  text-align:center!important;
  vertical-align:middle!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:500!important;
}

/* Usuwamy zebra-striping i inne tła SportsPress tylko w tej tabeli. */
.psg-sp-event-page .sp-template-event-details tbody tr:nth-child(odd) td,
.psg-sp-event-page .sp-template-event-details tbody tr:nth-child(even) td{
  background:#f3f5f7!important;
}

/* Żadnych pionowych separatorów — tak samo jak w Miejscu spotkania. */
.psg-sp-event-page .sp-template-event-details th,
.psg-sp-event-page .sp-template-event-details td{
  border-left:0!important;
  border-right:0!important;
}

/* Mobile — zachowujemy ten sam styl i proporcje. */
@media(max-width:782px){
  .psg-sp-event-page .sp-template-event-details thead th,
  .psg-sp-event-page .psg-venue-final-name-row th{
    padding:9px 4px!important;
    font-size:9px!important;
    line-height:1.05!important;
  }

  .psg-sp-event-page .sp-template-event-details tbody td,
  .psg-sp-event-page .psg-venue-final-address-row td{
    padding:9px 4px!important;
    font-size:10px!important;
    line-height:1.2!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.30 — wyśrodkowanie nagłówków sekcji
   „Szczegóły” i „Miejsce spotkania”.
   ========================================================= */
.psg-sp-event-page .sp-template-event-details .sp-table-caption,
.psg-sp-event-page .sp-template-event-venue .sp-table-caption{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}


/* =========================================================
   PSG Pro League 1.5.31 — „Szczegóły” dokładnie jak
   „Miejsce spotkania” pod względem szerokości i osadzenia.

   Przyczyna różnicy:
   bazowy CSS SportsPress Huba nadawał .sp-template-event-details
   padding 20px (12px mobile), podczas gdy Miejsce spotkania
   nie miało tego wewnętrznego paddingu.
   ========================================================= */

/* Usuwamy WYŁĄCZNIE wewnętrzny padding kontenera Szczegółów. */
.psg-sp-event-page .sp-template-event-details{
  padding:0!important;
}

/* Caption i tabela idą od lewej do prawej dokładnie jak venue. */
.psg-sp-event-page .sp-template-event-details .sp-table-caption,
.psg-sp-event-page .sp-template-event-details .sp-table-wrapper{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* Identyczne osadzenie tabeli w obu sekcjach. */
.psg-sp-event-page .sp-template-event-details .sp-table-wrapper,
.psg-sp-event-page .sp-template-event-venue .sp-table-wrapper{
  border-left:0!important;
  border-right:0!important;
}

/* Tabela szczegółów ma wypełniać cały kontener, tak jak venue. */
.psg-sp-event-page .sp-template-event-details table{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  border-collapse:collapse!important;
  table-layout:fixed!important;
}

/* Bez ponownego dodawania paddingu na mobile. */
@media(max-width:782px){
  .psg-sp-event-page .sp-template-event-details{
    padding:0!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.33 — aktualny skład + historia drużyny
   ========================================================= */

.single-sp_team .entry-content .sp-template-player-list{
  display:none!important;
}

.psg-team-dual-rosters{
  margin-top:26px;
  display:grid;
  gap:28px;
}

.psg-team-roster-section{
  width:100%;
}

.psg-team-roster-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin:0 0 10px;
  padding:0 2px;
}

.psg-team-roster-heading h2{
  margin:0!important;
  font-size:22px!important;
  line-height:1.15!important;
  font-weight:900!important;
  color:var(--psg-text,#17202a)!important;
}

.psg-team-roster-heading span{
  font-size:12px;
  line-height:1.3;
  font-weight:700;
  color:#6f7b86;
  text-align:right;
}

.psg-team-roster-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid #dfe5ea;
  background:#fff;
}

.psg-team-roster-table{
  width:100%;
  min-width:560px;
  margin:0!important;
  border:0!important;
  border-collapse:collapse!important;
  table-layout:fixed;
}

.psg-team-roster-table thead th{
  padding:12px 10px!important;
  background:var(--psg-dark,#111820)!important;
  color:#fff!important;
  border:0!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  text-align:center!important;
  white-space:nowrap;
}

.psg-team-roster-table tbody td{
  padding:11px 10px!important;
  border:0!important;
  border-top:1px solid #e4e8ec!important;
  background:#f7f8f9!important;
  color:var(--psg-text,#17202a)!important;
  font-size:13px!important;
  line-height:1.25!important;
  text-align:center!important;
  vertical-align:middle!important;
}

.psg-team-roster-table tbody tr:nth-child(even) td{
  background:#fff!important;
}

.psg-team-roster-table .psg-col-rank{
  width:52px;
}

.psg-team-roster-table .psg-col-player{
  width:46%;
  text-align:left!important;
}

.psg-team-roster-table .psg-col-player a{
  color:var(--psg-league-color,#005d0a)!important;
  font-weight:800;
  text-decoration:none!important;
}

.psg-team-roster-table .psg-col-player a:hover{
  opacity:.78;
}

.psg-team-roster-empty{
  text-align:center!important;
  color:#707a84!important;
  font-style:italic;
}

@media(max-width:782px){
  .psg-team-dual-rosters{
    margin-top:20px;
    gap:24px;
  }

  .psg-team-roster-heading{
    display:block;
    margin-bottom:8px;
  }

  .psg-team-roster-heading h2{
    font-size:19px!important;
  }

  .psg-team-roster-heading span{
    display:block;
    margin-top:4px;
    text-align:left;
    font-size:11px;
  }

  .psg-team-roster-table{
    min-width:470px;
  }

  .psg-team-roster-table thead th{
    padding:10px 6px!important;
    font-size:9px!important;
  }

  .psg-team-roster-table tbody td{
    padding:10px 6px!important;
    font-size:11px!important;
  }

  .psg-team-roster-table .psg-col-rank{
    width:38px;
  }

  .psg-team-roster-table .psg-col-player{
    width:48%;
  }
}


/* =========================================================
   PSG Pro League 1.5.34 — naprawa układu tabel na stronie drużyny
   SportsPress używa pływających kolumn dla Terminarza/Wyników.
   Nowe tabele muszą zacząć się dopiero POD obiema kolumnami.
   ========================================================= */

/* Entry-content zawiera floaty SportsPress — domykamy je. */
.psg-sp-team-page .entry-content::after{
  content:"";
  display:table;
  clear:both;
}

/* Nowe sekcje zawsze pod Terminarzem i Wynikami, na pełną szerokość. */
.psg-sp-team-page .psg-team-dual-rosters{
  display:block!important;
  clear:both!important;
  float:none!important;
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  margin:34px 0 0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

.psg-sp-team-page .psg-team-roster-section{
  display:block!important;
  clear:both!important;
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  box-sizing:border-box!important;
}

.psg-sp-team-page .psg-team-roster-section + .psg-team-roster-section{
  margin-top:30px!important;
}

.psg-sp-team-page .psg-team-roster-table-wrap{
  display:block!important;
  clear:both!important;
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Nie pozwalamy stylom dwukolumnowym SportsPress przenieść naszych tabel do prawej kolumny. */
.psg-sp-team-page .psg-team-dual-rosters .sp-template,
.psg-sp-team-page .psg-team-dual-rosters table{
  float:none!important;
  clear:both!important;
}

/* Mobile również pełna szerokość. */
@media(max-width:782px){
  .psg-sp-team-page .psg-team-dual-rosters{
    margin-top:24px!important;
  }

  .psg-sp-team-page .psg-team-roster-section + .psg-team-roster-section{
    margin-top:24px!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.35 — tabele na górze + pełne statystyki
   ========================================================= */

.psg-sp-team-page .psg-team-dual-rosters{
  display:block!important;
  clear:both!important;
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  margin:22px 0 32px!important;
  padding:0!important;
  box-sizing:border-box!important;
}

.psg-sp-team-page .entry-content{
  clear:both!important;
}

.psg-team-roster-table{
  min-width:820px!important;
  table-layout:fixed!important;
}

.psg-team-roster-table .psg-col-player{
  width:34%!important;
  text-align:left!important;
}

.psg-team-roster-table th:not(.psg-col-player),
.psg-team-roster-table td:not(.psg-col-player){
  width:11%!important;
  text-align:center!important;
}

.psg-team-roster-table .psg-col-yellow,
.psg-team-roster-table .psg-col-red{
  white-space:normal!important;
}

@media(max-width:782px){
  .psg-sp-team-page .psg-team-dual-rosters{
    margin:18px 0 24px!important;
  }

  .psg-team-roster-table{
    min-width:700px!important;
  }

  .psg-team-roster-table .psg-col-player{
    width:32%!important;
  }

  .psg-team-roster-table th:not(.psg-col-player),
  .psg-team-roster-table td:not(.psg-col-player){
    width:11.33%!important;
  }

  .psg-team-roster-table thead th{
    font-size:8px!important;
    padding:9px 5px!important;
  }

  .psg-team-roster-table tbody td{
    font-size:10px!important;
    padding:9px 5px!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.37 — strona drużyny
   1) logo + kapitan na górze,
   2) tabele składów,
   3) terminarz + wyniki,
   oraz logo Polskiej Federacji Socca identyczne jak globalnie.
   ========================================================= */

/* Po przeniesieniu JS tabela siedzi wewnątrz entry-content.
   Zerujemy stare marginesy przeznaczone dla układu pod wynikami. */
.psg-sp-team-page .entry-content > .psg-team-dual-rosters{
  display:block!important;
  clear:both!important;
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  margin:26px 0 32px!important;
  padding:0!important;
  box-sizing:border-box!important;
}

/* Logo Polskiej Federacji Socca:
   dokładnie globalne wymiary z headera strony głównej / zwykłych podstron. */
body.single-sp_team .site-header .psg-socca-brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  margin-left:2px!important;
  max-width:none!important;
  overflow:visible!important;
}

body.single-sp_team .site-header .psg-socca-brand__divider{
  display:block!important;
  width:1px!important;
  height:42px!important;
  background:rgba(255,255,255,.20)!important;
}

body.single-sp_team .site-header .psg-socca-brand img{
  display:block!important;
  width:auto!important;
  height:62px!important;
  min-height:0!important;
  max-height:62px!important;
  max-width:152px!important;
  object-fit:contain!important;
}

@media(max-width:1180px){
  body.single-sp_team .site-header .psg-socca-brand img{
    height:56px!important;
    max-height:56px!important;
    max-width:138px!important;
  }

  body.single-sp_team .site-header .psg-socca-brand__divider{
    height:46px!important;
  }
}

@media(max-width:900px){
  body.single-sp_team .site-header .psg-socca-brand{
    margin-left:0!important;
    gap:8px!important;
  }

  body.single-sp_team .site-header .psg-socca-brand img{
    height:52px!important;
    max-height:52px!important;
    max-width:128px!important;
  }

  body.single-sp_team .site-header .psg-socca-brand__divider{
    height:42px!important;
  }
}

/* Te wartości są dokładnie takie jak globalne zabezpieczenie mobile motywu. */
@media(max-width:760px){
  body.single-sp_team .site-header .psg-socca-brand{
    flex:0 0 auto!important;
    max-width:108px!important;
    overflow:hidden!important;
  }

  body.single-sp_team .site-header .psg-socca-brand img{
    width:auto!important;
    height:38px!important;
    min-height:0!important;
    max-height:38px!important;
    max-width:105px!important;
    object-fit:contain!important;
  }

  body.single-sp_team .site-header .psg-socca-brand__divider{
    height:32px!important;
  }

  .psg-sp-team-page .entry-content > .psg-team-dual-rosters{
    margin:20px 0 26px!important;
  }
}

@media(max-width:480px){
  body.single-sp_team .site-header .psg-socca-brand{
    max-width:100px!important;
  }

  body.single-sp_team .site-header .psg-socca-brand img{
    height:36px!important;
    max-height:36px!important;
    max-width:98px!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.38 — mobile: wszystkie kolumny bez przewijania
   ========================================================= */

.psg-th-mobile{
  display:none;
}

/* Desktop/tablet zachowują pełne nagłówki. */
.psg-team-roster-table-wrap{
  overflow-x:auto;
}

/* Telefon: żadnego poziomego scrolla, tabela ma się zmieścić w ekranie. */
@media(max-width:782px){
  .psg-team-roster-table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  .psg-team-roster-table{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
  }

  .psg-th-desktop{
    display:none!important;
  }

  .psg-th-mobile{
    display:inline!important;
  }

  /* Nazwa zawodnika dostaje najwięcej miejsca. */
  .psg-team-roster-table .psg-col-player{
    width:42%!important;
    max-width:42%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  /* 6 statystyk po równo w pozostałych 58%. */
  .psg-team-roster-table th:not(.psg-col-player),
  .psg-team-roster-table td:not(.psg-col-player){
    width:9.666%!important;
    max-width:9.666%!important;
    padding-left:2px!important;
    padding-right:2px!important;
    white-space:nowrap!important;
    text-align:center!important;
  }

  .psg-team-roster-table thead th{
    padding-top:8px!important;
    padding-bottom:8px!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:0!important;
  }

  .psg-team-roster-table tbody td{
    padding-top:8px!important;
    padding-bottom:8px!important;
    font-size:10px!important;
    line-height:1.15!important;
  }

  .psg-team-roster-table .psg-col-player{
    padding-left:8px!important;
    padding-right:5px!important;
  }

  .psg-team-roster-table .psg-col-player a{
    font-size:10.5px!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .psg-team-roster-table .psg-col-yellow,
  .psg-team-roster-table .psg-col-red{
    white-space:nowrap!important;
  }
}

/* Bardzo wąskie telefony — jeszcze ciaśniej, ale nadal czytelnie. */
@media(max-width:390px){
  .psg-team-roster-table .psg-col-player{
    width:40%!important;
    max-width:40%!important;
  }

  .psg-team-roster-table th:not(.psg-col-player),
  .psg-team-roster-table td:not(.psg-col-player){
    width:10%!important;
    max-width:10%!important;
  }

  .psg-team-roster-table thead th{
    font-size:7.5px!important;
  }

  .psg-team-roster-table tbody td{
    font-size:9.5px!important;
  }

  .psg-team-roster-table .psg-col-player a{
    font-size:10px!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.41 — H2H / ostatnie mecze na stronie drużyny
   ========================================================= */

.psg-team-h2h{
  margin-top:30px!important;
}

.psg-team-h2h-list{
  width:100%;
  border:1px solid #dfe5ea;
  background:#fff;
}

.psg-team-h2h-row{
  display:grid;
  grid-template-columns:120px minmax(0,1fr) 86px 42px;
  align-items:center;
  gap:14px;
  min-height:58px;
  padding:9px 14px;
  border-bottom:1px solid #e4e8ec;
  color:var(--psg-text,#17202a)!important;
  text-decoration:none!important;
  background:#f7f8f9;
}

.psg-team-h2h-row:nth-child(even){
  background:#fff;
}

.psg-team-h2h-row:last-child{
  border-bottom:0;
}

.psg-team-h2h-row:hover{
  background:color-mix(in srgb,var(--psg-league-color,#00A69C) 7%,white);
}

.psg-team-h2h-date{
  color:#75808b;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.psg-team-h2h-opponent{
  min-width:0;
  font-size:14px;
  line-height:1.2;
  font-weight:850;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.psg-team-h2h-score{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-width:62px;
  padding:7px 10px;
  border-radius:7px;
  background:var(--psg-dark,#111820);
  color:#fff;
  font-size:16px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
}

/* Kafelki jak w FORM: W zielony, R żółty, P czerwony. */
.psg-team-form-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:31px;
  height:31px;
  border-radius:6px;
  color:#fff!important;
  font-size:12px;
  line-height:1;
  font-weight:950;
  text-align:center;
}

.psg-team-form-badge--w{
  background:#26a269!important;
}

.psg-team-form-badge--r{
  background:#d6a800!important;
}

.psg-team-form-badge--p{
  background:#d64545!important;
}

.psg-team-h2h-empty{
  padding:18px;
  color:#707a84;
  font-size:13px;
  text-align:center;
}

@media(max-width:782px){
  .psg-team-h2h{
    margin-top:24px!important;
  }

  .psg-team-h2h-row{
    grid-template-columns:76px minmax(0,1fr) 58px 30px;
    gap:7px;
    min-height:50px;
    padding:8px 8px;
  }

  .psg-team-h2h-date{
    font-size:9.5px;
  }

  .psg-team-h2h-opponent{
    font-size:11px;
  }

  .psg-team-h2h-score{
    min-width:52px;
    padding:6px 6px;
    border-radius:6px;
    font-size:12px;
  }

  .psg-team-form-badge{
    width:27px;
    height:27px;
    border-radius:5px;
    font-size:10px;
  }
}

@media(max-width:390px){
  .psg-team-h2h-row{
    grid-template-columns:68px minmax(0,1fr) 50px 26px;
    gap:5px;
    padding-left:6px;
    padding-right:6px;
  }

  .psg-team-h2h-date{
    font-size:9px;
  }

  .psg-team-h2h-opponent{
    font-size:10px;
  }

  .psg-team-h2h-score{
    min-width:46px;
    padding:5px 4px;
    font-size:11px;
  }

  .psg-team-form-badge{
    width:24px;
    height:24px;
    font-size:9px;
  }
}


/* =========================================================
   PSG Pro League 1.5.42 — kafelki/zakładki widoku drużyny
   ========================================================= */

.psg-team-section-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 18px;
}

.psg-team-tab{
  appearance:none;
  border:1px solid #dfe5ea;
  border-radius:12px;
  background:#fff;
  min-height:84px;
  padding:14px 16px;
  text-align:left;
  cursor:pointer;
  box-shadow:0 3px 14px rgba(15,23,42,.05);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

.psg-team-tab:hover{
  transform:translateY(-1px);
  box-shadow:0 5px 18px rgba(15,23,42,.08);
}

.psg-team-tab.is-active{
  border-color:var(--psg-league-color,#00A69C);
  background:color-mix(in srgb,var(--psg-league-color,#00A69C) 8%,white);
  box-shadow:0 5px 18px color-mix(in srgb,var(--psg-league-color,#00A69C) 14%,transparent);
}

.psg-team-tab__title{
  display:block;
  color:var(--psg-text,#17202a);
  font-size:15px;
  line-height:1.15;
  font-weight:900;
}

.psg-team-tab.is-active .psg-team-tab__title{
  color:var(--psg-league-color,#00A69C);
}

.psg-team-tab__desc{
  display:block;
  margin-top:5px;
  color:#7a8590;
  font-size:11px;
  line-height:1.25;
  font-weight:700;
}

.psg-team-tab-panels{
  width:100%;
}

.psg-team-tab-panels > [data-psg-team-panel]{
  display:none!important;
}

.psg-team-tab-panels > [data-psg-team-panel].is-active{
  display:block!important;
}

.psg-team-tab-panels .psg-team-roster-section{
  margin-top:0!important;
}

/* Na desktopie kafelki są zwarte i równe. */
@media(min-width:783px){
  .psg-team-section-tabs{
    max-width:900px;
  }
}

/* Mobile: nadal 3 kafelki, ale w kompaktowej formie bez przewijania. */
@media(max-width:782px){
  .psg-team-section-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin-bottom:12px;
  }

  .psg-team-tab{
    min-height:68px;
    border-radius:9px;
    padding:9px 7px;
    text-align:center;
  }

  .psg-team-tab__title{
    font-size:10.5px;
    line-height:1.1;
  }

  .psg-team-tab__desc{
    margin-top:3px;
    font-size:8.5px;
    line-height:1.1;
  }

  .psg-team-tab-panels > [data-psg-team-panel]{
    width:100%;
  }
}

@media(max-width:390px){
  .psg-team-section-tabs{
    gap:5px;
  }

  .psg-team-tab{
    min-height:64px;
    padding:8px 5px;
  }

  .psg-team-tab__title{
    font-size:9.5px;
  }

  .psg-team-tab__desc{
    font-size:8px;
  }
}


/* =========================================================
   PSG Pro League 1.5.43 — 5 kafelków:
   Aktualny skład | Wyniki | Terminarz | Ostatnie mecze | Historia
   ========================================================= */

.psg-team-section-tabs{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}

.psg-team-native-results,
.psg-team-native-schedule{
  width:100%;
}

.psg-team-native-results > *:first-child,
.psg-team-native-schedule > *:first-child{
  margin-top:0!important;
}

.psg-team-native-results .sp-table-wrapper,
.psg-team-native-schedule .sp-table-wrapper,
.psg-team-native-results table,
.psg-team-native-schedule table{
  width:100%!important;
  max-width:100%!important;
}

.psg-team-tab-empty{
  padding:18px 16px;
  border:1px solid #dfe5ea;
  border-radius:10px;
  background:#fff;
}

.psg-team-tab-empty h2{
  margin:0 0 6px!important;
  font-size:18px!important;
}

.psg-team-tab-empty p{
  margin:0!important;
  color:#707a84;
  font-size:13px;
}

/* Desktop: pięć równych kafelków w jednym rzędzie. */
@media(min-width:1101px){
  .psg-team-section-tabs{
    max-width:none!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }

  .psg-team-tab{
    min-height:88px;
    padding:14px 12px;
  }

  .psg-team-tab__title{
    font-size:14px;
  }
}

/* Tablet: 3 + 2 dla czytelności. */
@media(min-width:783px) and (max-width:1100px){
  .psg-team-section-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* Mobile: 2 kolumny + ostatni kafelek na całą szerokość.
   Czytelniejsze niż pięć mikroskopijnych kafelków w jednym rzędzie. */
@media(max-width:782px){
  .psg-team-section-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .psg-team-tab{
    min-height:64px!important;
    padding:9px 8px!important;
  }

  .psg-team-tab:nth-child(5){
    grid-column:1 / -1;
  }

  .psg-team-tab__title{
    font-size:11px!important;
  }

  .psg-team-tab__desc{
    font-size:8.5px!important;
  }

  .psg-team-native-results,
  .psg-team-native-schedule{
    overflow:hidden;
  }
}

@media(max-width:390px){
  .psg-team-section-tabs{
    gap:6px!important;
  }

  .psg-team-tab{
    min-height:61px!important;
    padding:8px 6px!important;
  }

  .psg-team-tab__title{
    font-size:10px!important;
  }

  .psg-team-tab__desc{
    font-size:8px!important;
  }
}


/* =========================================================
   PSG Pro League 1.5.44 — wyśrodkowanie nagłówków zakładek drużyny
   Wyniki / Terminarz / Ostatnie mecze / Aktualny skład / Historia zawodników
   ========================================================= */

.psg-team-tab-panels .psg-team-roster-heading{
  display:block!important;
  text-align:center!important;
  padding:0!important;
}

/* =========================================================
   PSG Pro League 1.5.46 — równa górna linia statystyk obu drużyn
   ========================================================= */

/* Globalne .sp-template + .sp-template dodaje odstęp drugiemu modułowi.
   W parze statystyk meczu oba moduły stoją obok siebie, więc ten odstęp
   przesuwał kartę gości w dół o 22 px. */
.psg-sp-event-page .sp-template-event-performance + .sp-template-event-performance{
  margin-top:0!important;
}

.psg-team-tab-panels .psg-team-roster-heading h2{
  text-align:center!important;
}

.psg-team-tab-panels .psg-team-roster-heading span{
  display:block!important;
  margin-top:6px!important;
  text-align:center!important;
}

.psg-team-tab-panels > [data-psg-team-panel="results"] > h2,
.psg-team-tab-panels > [data-psg-team-panel="schedule"] > h2,
.psg-team-tab-panels > [data-psg-team-panel="h2h"] .psg-team-roster-heading h2,
.psg-team-tab-panels > [data-psg-team-panel="results"] .sp-table-caption,
.psg-team-tab-panels > [data-psg-team-panel="schedule"] .sp-table-caption{
  text-align:center!important;
}

.psg-team-tab-panels > [data-psg-team-panel="results"] > h2,
.psg-team-tab-panels > [data-psg-team-panel="schedule"] > h2{
  margin:0 0 12px!important;
  font-size:22px!important;
  line-height:1.15!important;
  font-weight:900!important;
  color:var(--psg-text,#17202a)!important;
}

@media(max-width:782px){
  .psg-team-tab-panels > [data-psg-team-panel="results"] > h2,
  .psg-team-tab-panels > [data-psg-team-panel="schedule"] > h2{
    font-size:19px!important;
    margin:0 0 10px!important;
  }

  .psg-team-tab-panels .psg-team-roster-heading span{
    text-align:center!important;
  }
}
/* 1.5.48: reserve a non-wrapping centre column in SportsPress Pro timeline.
 * The plugin uses 48% / 4% / 48%; 4% cannot hold minutes on mobile.
 * Keep both team columns equal and allow player names (not minutes) to wrap.
 */
.single-sp_event .sp-template-event-timeline table.sp-vertical-timeline {
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.single-sp_event .sp-template-event-timeline table.sp-vertical-timeline > tbody > tr > td {
  box-sizing:border-box!important;
  vertical-align:middle!important;
  padding:12px 6px!important;
}
.single-sp_event .sp-template-event-timeline table.sp-vertical-timeline > tbody > tr > td:first-child,
.single-sp_event .sp-template-event-timeline table.sp-vertical-timeline > tbody > tr > td:last-child {
  width:calc((100% - 64px) / 2)!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
.single-sp_event .sp-template-event-timeline table.sp-vertical-timeline > tbody > tr > td:nth-child(2) {
  width:64px!important;
  min-width:64px!important;
  text-align:center!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  font-variant-numeric:tabular-nums;
}
/* 1.5.50: compact event sections; headings retained for screen readers. */
.single-sp_event .sp-template-event-details .sp-table-caption,
.single-sp_event .sp-template-event-results .sp-table-caption,
.single-sp_event .sp-template-event-venue .sp-table-caption {
  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;
  clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;
}
.single-sp_event .sp-template-event-details,
.single-sp_event .sp-template-event-results,
.single-sp_event .sp-template-event-venue {
  border-top:5px solid var(--sp-accent,var(--psg-league-color,#B8860B))!important;
  padding-top:0!important;
}
.single-sp_event .sp-template-event-timeline .sp-table-caption {
  text-align:center!important;padding:10px 12px!important;
}
.single-sp_event .sp-template-event-timeline table.sp-vertical-timeline > tbody > tr > td {
  padding-top:6px!important;padding-bottom:6px!important;line-height:1.25!important;
}
.single-sp_event .psg-duplicate-mvp-icon {display:none!important;}
/* 1.5.51: consistent details/results shells without touching lineups. */
.single-sp_event .psg-sp-event-page .sp-template-event-details,
.single-sp_event .psg-sp-event-page .sp-template-event-results {
  padding:0!important;
  box-sizing:border-box!important;
  border:1px solid var(--psg-border,#dfe5e9)!important;
  border-top:5px solid var(--sp-accent,var(--psg-league-color,#B8860B))!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.single-sp_event .psg-sp-event-page :is(.sp-template-event-details,.sp-template-event-results) .sp-table-wrapper {
  width:100%!important;max-width:100%!important;
  margin:0!important;padding:0!important;border:0!important;
  box-sizing:border-box!important;
}
.single-sp_event .psg-sp-event-page :is(.sp-template-event-details,.sp-template-event-results) table {
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin:0!important;border:0!important;border-radius:0!important;
  border-collapse:collapse!important;border-spacing:0!important;
  table-layout:fixed!important;
}
.single-sp_event .psg-sp-event-page :is(.sp-template-event-details,.sp-template-event-results) table thead th {
  padding:12px 8px!important;font-size:12px!important;
  font-weight:800!important;line-height:1.25!important;
  background:var(--psg-dark,#141c24)!important;color:#fff!important;
}
.single-sp_event .psg-sp-event-page :is(.sp-template-event-details,.sp-template-event-results) table tbody td {
  padding:12px 8px!important;font-size:13px!important;
  font-weight:600!important;line-height:1.35!important;
  border-bottom:1px solid var(--psg-border,#dfe5e9)!important;
}
.single-sp_event .psg-sp-event-page :is(.sp-template-event-details,.sp-template-event-results) table tbody tr:last-child td {
  border-bottom:0!important;
}
@media(max-width:782px) {
  .single-sp_event .psg-sp-event-page :is(.sp-template-event-details,.sp-template-event-results) table thead th,
  .single-sp_event .psg-sp-event-page :is(.sp-template-event-details,.sp-template-event-results) table tbody td {
    padding:8px 4px!important;font-size:9.5px!important;
    letter-spacing:0!important;
  }
}
/* 1.5.52: match icons and minutes follow the player's name size. */
.single-sp_event .sp-template-event-performance-icons td.data-name .psg-mobile-stats-under-player {
  font-size:inherit!important;
  line-height:1.35!important;
}
.single-sp_event .sp-template-event-performance-icons :is(td.sp-performance-icons,.psg-mobile-stats-under-player) :is(i,[class*="sp-icon-"]) {
  font-size:1em!important;
  line-height:1!important;
  vertical-align:middle!important;
}
/* 1.5.52: central timeline axis and compact half filters. */
.single-sp_event .sp-template-event-timeline table[data-psg-timeline-ready][hidden],
.single-sp_event .psg-timeline [hidden] {display:none!important;}
.single-sp_event .psg-timeline {font-size:13px;color:var(--psg-text,#26323f);}
.single-sp_event .psg-timeline__heading {margin:0!important;padding:9px!important;text-align:center;font-size:13px!important;background:#edf1f4;line-height:1.3;}
.single-sp_event .psg-timeline__events {list-style:none!important;margin:0!important;padding:4px 8px!important;}
.single-sp_event .psg-timeline__event {position:relative;display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);align-items:center;gap:6px;min-height:40px;margin:0!important;padding:8px 0;}
.single-sp_event .psg-timeline__event::before {content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#dce2e7;}
.single-sp_event .psg-timeline__name,.single-sp_event .psg-timeline__minute {position:relative;grid-row:1;font-size:inherit!important;line-height:1.35;}
.single-sp_event .psg-timeline__name {min-width:0;overflow-wrap:anywhere;}
.single-sp_event .psg-timeline__name a {font-size:inherit!important;font-weight:600!important;color:inherit;}
.single-sp_event .psg-timeline__minute {white-space:nowrap!important;font-variant-numeric:tabular-nums;}
.single-sp_event .psg-timeline__icons {grid-column:2;grid-row:1;position:relative;display:flex;flex-wrap:wrap;justify-content:center;background:#fff;padding:3px 0;z-index:1;}
.single-sp_event .psg-timeline__icons i,.single-sp_event .psg-timeline__icons span {font-size:14px!important;line-height:1!important;}
.single-sp_event .psg-timeline__event.is-home .psg-timeline__name,
.single-sp_event .psg-timeline__event.is-away .psg-timeline__minute {grid-column:1;text-align:right;}
.single-sp_event .psg-timeline__event.is-away .psg-timeline__name,
.single-sp_event .psg-timeline__event.is-home .psg-timeline__minute {grid-column:3;text-align:left;}
.single-sp_event .psg-timeline__empty {margin:0;padding:12px;text-align:center;font-size:12px;}

/* 1.5.53: align inline minutes, performance icons and MVP with their text. */
.single-sp_event .sp-template-event-performance-icons :is(td.sp-performance-icons,.psg-mobile-stats-under-player) :is(small,i,[class*="sp-icon-"]):not(.psg-duplicate-mvp-icon) {
  display:inline-block!important;
  vertical-align:middle!important;
  line-height:1!important;
  position:static!important;
  transform:none!important;
  float:none!important;
}
.single-sp_event .sp-template-event-performance-icons :is(td.sp-performance-icons,.psg-mobile-stats-under-player) small {
  font-size:1em!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.single-sp_event :is(.sp-template-event-performance,.sp-template-event-performance-icons) .psg-match-mvp-icon:not(.psg-duplicate-mvp-icon) {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  vertical-align:middle!important;
  font-size:1em!important;
  line-height:1!important;
  width:1em!important;
  height:1em!important;
  position:static!important;
  transform:none!important;
  float:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* 1.5.54: SportsPress minutes are text nodes; group each BR-delimited line. */
.single-sp_event .sp-template-event-performance-icons .psg-stat-line {
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap;
  gap:4px;
  min-height:1.35em;
  line-height:1.35!important;
}
.single-sp_event .sp-template-event-performance-icons .psg-stat-line .psg-stat-minutes {
  display:inline-block;
  font-size:inherit!important;
  line-height:1!important;
  margin:0!important;
  padding:0!important;
}
.single-sp_event .sp-template-event-performance-icons .psg-stat-line > :is(i,[class*="sp-icon-"]):not(.psg-duplicate-mvp-icon) {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:1em!important;
  height:1em!important;
  margin:0!important;
  padding:0!important;
}
.single-sp_event .sp-template-event-performance-icons .psg-stat-line > :is(i,[class*="sp-icon-"])::before {
  display:block!important;
  line-height:1!important;
  position:static!important;
  vertical-align:baseline!important;
}

/* 1.5.56: centre the axis and reset SportsPress inline-icon spacing. */
.single-sp_event .psg-timeline__event::before {
  transform:translateX(-50%);
}
.single-sp_event .psg-timeline__icons {
  justify-self:center;
  width:26px;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  gap:3px;
  margin:0!important;
}
.single-sp_event .psg-timeline__icons :is(i,span) {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 14px;
  width:14px!important;
  height:14px!important;
  margin:0!important;
  padding:0!important;
  text-indent:0!important;
  text-align:center!important;
  position:static!important;
  transform:none!important;
}
.single-sp_event .psg-timeline__icons :is(i,span)::before {
  display:block!important;
  width:14px!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  text-indent:0!important;
  position:static!important;
  transform:none!important;
  line-height:1!important;
}
