/* PSG League Hub 1.4.0 — full width, match details + visible stat tabs */
.psghub{
  --hub-color:#00a69c;
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:42px clamp(16px,3vw,56px) 72px;
  color:#18212b;
  background:#f4f6f8;
}
.psghub *{box-sizing:border-box}
.psghub__hero,.psghub__tabs,.psghub__content{width:100%;max-width:1600px;margin-left:auto;margin-right:auto}
.psghub__hero{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;padding:28px 32px;background:#121a24;color:#fff;border-radius:18px;border-bottom:5px solid var(--hub-color)}
.psghub__eyebrow{display:block;color:var(--hub-color);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.psghub__hero h1{margin:7px 0 6px;font-size:clamp(30px,4vw,48px);line-height:1}
.psghub__hero p{margin:0;color:#c5cfda}
.psghub__season{min-width:280px}
.psghub__season label{display:block;margin-bottom:6px;font-size:12px;font-weight:800;text-transform:uppercase}
.psghub__season select{width:100%;min-height:46px;padding:0 14px;border:1px solid #44505e;border-radius:9px;background:#fff;color:#17202a;font-weight:700}
.psghub__tabs{display:flex;gap:5px;margin-top:22px;margin-bottom:22px;padding:7px;background:#fff;border:1px solid #dfe5ea;border-radius:13px;overflow-x:auto;scrollbar-width:thin}
.psghub__tabs a{flex:1;min-width:max-content;padding:11px 14px;border-radius:8px;color:#344150;text-align:center;text-decoration:none;font-size:13px;font-weight:800}
.psghub__tabs a:hover,.psghub__tabs a.is-active{background:var(--hub-color);color:#fff}
.psghub__content{min-height:320px}
.psghub__overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.psghub__panel{min-width:0;padding:22px;background:#fff;border:1px solid #dfe5ea;border-radius:14px}
.psghub__panel--wide{margin-top:20px}
.psghub__panel h2{margin:0 0 15px;font-size:21px}
.psghub__match-list{display:grid;gap:12px}
.psghub__match{position:relative;padding:15px;background:#fff;border:1px solid #dfe5ea;border-left:4px solid var(--hub-color);border-radius:11px}
.psghub__panel .psghub__match{background:#f8fafb}
.psghub__match-date{margin-bottom:9px;color:#6b7785;font-size:11px;font-weight:800;text-align:center;text-transform:uppercase}
.psghub__match-main{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}
.psghub__team{display:flex;align-items:center;gap:9px;min-width:0}
.psghub__team:last-child{justify-content:flex-end;text-align:right}
.psghub__team img{flex:0 0 auto;width:42px;height:42px;object-fit:contain}
.psghub__team strong{min-width:0;font-size:13px;overflow-wrap:anywhere}
.psghub__score{min-width:58px;padding:8px;border-radius:8px;background:#121a24;color:#fff!important;text-align:center;text-decoration:none;font-size:16px;font-weight:900}
.psghub__score--walkover{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding-top:6px;padding-bottom:6px}.psghub__score--walkover small{display:block;color:#ffd45c;font-size:9px;font-weight:950;line-height:1;letter-spacing:.08em}

.psghub__match-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #e4e9ee}
.psghub__detail-label{display:block;margin-bottom:7px;color:#687583;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.psghub__match-halves .psg-halves-note{display:flex;gap:6px;flex-wrap:wrap;margin:0}
.psghub__match-halves .psg-half{display:inline-flex;align-items:center;min-height:29px;padding:5px 9px;border:1px solid #d6dde4;border-radius:999px;background:#fff;color:#26323f;font-size:11px;font-weight:850}
.psghub__match-halves .psg-half-ht::before{content:"I połowa ";margin-right:3px;color:#687583}
.psghub__match-halves .psg-half-sh::before{content:"II połowa ";margin-right:3px;color:#687583}
.psghub__mvp-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.psghub__match-mvps .psg-mvp-pill{display:flex;align-items:center;gap:6px;min-width:0;min-height:38px;margin:0;padding:5px 7px;border:1px solid #d6dde4;border-radius:9px;background:#fff;box-shadow:none}
.psghub__match-mvps .psg-mvp-pill::before{display:none!important}
.psghub__match-mvps .psg-mvp-photo{width:28px;height:28px;min-width:28px;border-radius:50%;object-fit:cover}
.psghub__match-mvps .psg-mvp-star{font-size:14px;color:#f2bf16}
.psghub__match-mvps .psg-mvp-link{min-width:0;overflow:hidden;color:#26323f!important;font-size:10px!important;font-weight:850;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}

.psghub__match-link{display:block;margin-top:9px;color:var(--hub-color)!important;text-align:right;text-decoration:none;font-size:11px;font-weight:800}
.psghub__native,.psghub__stat-panel{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.psghub__native table,.psghub__stat-panel table{width:100%!important;min-width:760px}
.psghub__native .sp-table-wrapper,.psghub__stat-panel .sp-table-wrapper,.psghub__native .sp-scrollable-table-wrapper,.psghub__stat-panel .sp-scrollable-table-wrapper{max-width:100%;overflow-x:auto}
.psghub__stats-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}
.psghub__stats-tabs button{padding:10px 15px;border:1px solid #cbd4dd;border-radius:9px;background:#e8edf2;color:#26323f;cursor:pointer;font-weight:850;box-shadow:0 1px 0 rgba(18,26,36,.04)}
.psghub__stats-tabs button:hover{background:#dce4eb;border-color:#aebbc7}
.psghub__stats-tabs button.is-active{background:var(--hub-color);border-color:var(--hub-color);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--hub-color) 24%,transparent)}
.psghub__stat-panel{display:none;padding:18px;background:#fff;border:1px solid #dfe5ea;border-radius:12px}
.psghub__stat-panel.is-active{display:block}
.psghub__teams{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.psghub__teams a{display:flex;align-items:center;gap:12px;min-width:0;padding:15px;background:#fff;border:1px solid #dfe5ea;border-radius:11px;color:#1f2a36;text-decoration:none}
.psghub__teams img{flex:0 0 auto;width:48px;height:48px;object-fit:contain}
.psghub__teams strong,.psghub__teams span{min-width:0;overflow-wrap:anywhere}
.psghub__empty,.psghub__notice{padding:18px;background:#fff;border:1px dashed #cbd4dd;border-radius:10px;color:#687583;text-align:center}
.psghub__notice{margin-top:20px}
.psghub__six-of-week{min-width:0}

/* 1.6.50 — stara wersja Szóstki tygodnia wstrzykiwała sekcję do Przeglądu. */
.psg-six-inject[data-six-target="hub"]{display:none!important}
.psghub[data-psghub-tab="overview"] #psg-six-of-week-hub{display:none!important}

@media(max-width:1100px){
  .psghub{padding:34px 18px 58px}
  .psghub__teams{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:850px){
  .psghub{padding:26px 14px 50px}
  .psghub__hero{align-items:stretch;flex-direction:column;padding:22px}
  .psghub__season{min-width:0;width:100%}
  .psghub__overview-grid{grid-template-columns:1fr}
  .psghub__teams{grid-template-columns:repeat(2,minmax(0,1fr))}
  .psghub__tabs{border-radius:10px}
}
@media(max-width:700px){
  .psghub__match-details{grid-template-columns:1fr}
  .psghub__mvp-list{grid-template-columns:1fr 1fr}
  .psghub__panel{padding:16px}
  .psghub__hero h1{font-size:32px}
  .psghub__tabs{margin-left:0;margin-right:0;padding:5px}
  .psghub__tabs a{padding:10px 12px;font-size:12px}
  .psghub__match-main{gap:8px}
  .psghub__team{flex-direction:column;text-align:center}
  .psghub__team:last-child{justify-content:center;text-align:center}
  .psghub__team strong{font-size:11px;line-height:1.25}
  .psghub__score{min-width:50px;font-size:14px}

  /* SportsPress tables become readable cards on phones */
  .psghub__native table.sp-data-table,
  .psghub__stat-panel table.sp-data-table{min-width:0!important;border:0!important;background:transparent!important}
  .psghub__native table.sp-data-table thead,
  .psghub__stat-panel table.sp-data-table thead{display:none!important}
  .psghub__native table.sp-data-table tbody,
  .psghub__stat-panel table.sp-data-table tbody{display:grid!important;gap:12px!important}
  .psghub__native table.sp-data-table tr,
  .psghub__stat-panel table.sp-data-table tr{display:block!important;padding:8px 12px!important;border:1px solid #dfe5ea!important;border-left:4px solid var(--hub-color)!important;border-radius:10px!important;background:#fff!important}
  .psghub__native table.sp-data-table td,
  .psghub__stat-panel table.sp-data-table td{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;width:100%!important;min-height:38px!important;padding:8px 0!important;border:0!important;border-bottom:1px solid #edf1f4!important;text-align:right!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .psghub__native table.sp-data-table td:last-child,
  .psghub__stat-panel table.sp-data-table td:last-child{border-bottom:0!important}
  .psghub__native table.sp-data-table td::before,
  .psghub__stat-panel table.sp-data-table td::before{content:attr(data-label);flex:0 0 42%;color:#687583;text-align:left;font-size:11px;font-weight:800;text-transform:uppercase}
  .psghub__native table.sp-data-table td.data-name,
  .psghub__native table.sp-data-table td.data-team,
  .psghub__stat-panel table.sp-data-table td.data-name,
  .psghub__stat-panel table.sp-data-table td.data-team{align-items:flex-start}
  .psghub__native table.sp-data-table td a,
  .psghub__stat-panel table.sp-data-table td a{max-width:58%;text-align:right;overflow-wrap:anywhere}
  .psghub__native .dataTables_paginate,
  .psghub__stat-panel .dataTables_paginate{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:6px!important;margin-top:14px!important}
}
@media(max-width:520px){
  .psghub__mvp-list{grid-template-columns:1fr}
  .psghub__stats-tabs button{background:#e3e9ef;color:#18212b;border-color:#bec9d3}
  .psghub{padding-left:10px;padding-right:10px}
  .psghub__hero{padding:18px;border-radius:13px}
  .psghub__hero h1{font-size:28px}
  .psghub__panel{padding:13px;border-radius:11px}
  .psghub__teams{grid-template-columns:1fr}
  .psghub__teams a{padding:12px}
  .psghub__stats-tabs{display:grid;grid-template-columns:1fr 1fr}
  .psghub__stats-tabs button{width:100%;font-size:12px}
}

/* =========================================================
   PSG League Hub 1.4.0 — mobile compact mode, zero horizontal drag
   ========================================================= */
@media(max-width:700px){
  .psghub{overflow:hidden;padding:18px 10px 36px}
  .psghub__hero{gap:20px;padding:18px 16px}
  .psghub__hero h1{font-size:30px}
  .psghub__tabs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
    overflow:visible;
    padding:5px;
  }
  .psghub__tabs a{
    min-width:0;
    padding:10px 5px;
    font-size:11px;
    white-space:normal;
    line-height:1.15;
  }
  .psghub__native,.psghub__stat-panel,
  .psghub__native .sp-table-wrapper,.psghub__stat-panel .sp-table-wrapper,
  .psghub__native .sp-scrollable-table-wrapper,.psghub__stat-panel .sp-scrollable-table-wrapper{
    overflow:visible!important;
    max-width:100%!important;
  }
  /* Undo large vertical cards from 1.2/1.3 */
  .psghub__native table.sp-data-table,
  .psghub__stat-panel table.sp-data-table{
    display:table!important;
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    background:#fff!important;
    font-size:10px!important;
  }
  .psghub__native table.sp-data-table thead,
  .psghub__stat-panel table.sp-data-table thead{display:table-header-group!important}
  .psghub__native table.sp-data-table tbody,
  .psghub__stat-panel table.sp-data-table tbody{display:table-row-group!important}
  .psghub__native table.sp-data-table tr,
  .psghub__stat-panel table.sp-data-table tr{
    display:table-row!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .psghub__native table.sp-data-table th,
  .psghub__native table.sp-data-table td,
  .psghub__stat-panel table.sp-data-table th,
  .psghub__stat-panel table.sp-data-table td{
    display:table-cell!important;
    width:auto!important;
    min-height:0!important;
    padding:8px 4px!important;
    border:0!important;
    border-bottom:1px solid #e3e8ed!important;
    text-align:center!important;
    vertical-align:middle!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.2!important;
  }
  .psghub__native table.sp-data-table td::before,
  .psghub__stat-panel table.sp-data-table td::before{display:none!important;content:none!important}
  .psghub__native table.sp-data-table th,
  .psghub__stat-panel table.sp-data-table th{padding:8px 3px!important;font-size:9px!important}
  .psghub__native table.sp-data-table .data-name,
  .psghub__native table.sp-data-table .data-team,
  .psghub__stat-panel table.sp-data-table .data-name,
  .psghub__stat-panel table.sp-data-table .data-team{text-align:left!important}
  .psghub__native table.sp-data-table td a,
  .psghub__stat-panel table.sp-data-table td a{display:inline!important;max-width:none!important;text-align:inherit!important;font-size:10px!important}
  .psghub__native table.sp-data-table img,
  .psghub__stat-panel table.sp-data-table img{width:18px!important;height:18px!important;object-fit:contain!important;vertical-align:middle!important;margin-right:3px!important}

  /* Standings: keep only rank, club, matches, points and goal difference */
  .psghub__native--table table th:nth-child(5),
  .psghub__native--table table td:nth-child(5),
  .psghub__native--table table th:nth-child(6),
  .psghub__native--table table td:nth-child(6),
  .psghub__native--table table th:nth-child(n+8),
  .psghub__native--table table td:nth-child(n+8){display:none!important}
  .psghub__native--table table th:nth-child(1),.psghub__native--table table td:nth-child(1){width:8%!important}
  .psghub__native--table table th:nth-child(2),.psghub__native--table table td:nth-child(2){width:52%!important}
  .psghub__native--table table th:nth-child(3),.psghub__native--table table td:nth-child(3){width:13%!important}
  .psghub__native--table table th:nth-child(4),.psghub__native--table table td:nth-child(4){width:13%!important}
  .psghub__native--table table th:nth-child(7),.psghub__native--table table td:nth-child(7){width:14%!important}

  /* Player rankings: rank + player + club + selected value */
  .psghub__stat-panel table th:nth-child(1),.psghub__stat-panel table td:nth-child(1){width:8%!important}
  .psghub__stat-panel table th:nth-child(2),.psghub__stat-panel table td:nth-child(2){width:39%!important}
  .psghub__stat-panel table th:nth-child(3),.psghub__stat-panel table td:nth-child(3){width:38%!important}
  .psghub__stat-panel table th:last-child,.psghub__stat-panel table td:last-child{width:15%!important}

  .psghub__stats-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .psghub__stats-tabs button{min-width:0;padding:10px 6px;font-size:11px;line-height:1.15}
  .psghub__stat-panel{padding:8px;border-radius:10px}
  .psghub__panel{padding:12px}
  .psghub__panel h2{font-size:18px}
}
@media(max-width:390px){
  .psghub__tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .psghub__hero h1{font-size:27px}
}


/* =========================================================
   PSG League Hub 1.5.0 — compact desktop statistics cards
   ========================================================= */
@media (min-width: 701px){
  .psghub__hero,
  .psghub__tabs,
  .psghub__content{
    max-width:1280px;
  }

  /* Statystyki jak w profesjonalnym serwisie ligowym: zwarte karty */
  .psghub__stats-tabs{display:none!important}
  .psghub__stats-panels{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    align-items:start;
  }
  .psghub__stat-panel,
  .psghub__stat-panel.is-active{
    display:block!important;
    min-width:0;
    padding:0;
    overflow:hidden;
    border:1px solid #d9e0e7;
    border-radius:12px;
    background:#fff;
    box-shadow:0 4px 16px rgba(18,26,36,.06);
  }
  .psghub__stat-panel .sp-table-caption{
    margin:0!important;
    padding:13px 15px!important;
    border:0!important;
    border-top:4px solid var(--hub-color)!important;
    background:#151b23!important;
    color:#fff!important;
    font-size:14px!important;
    line-height:1.25!important;
  }
  .psghub__stat-panel .sp-table-wrapper,
  .psghub__stat-panel .sp-scrollable-table-wrapper,
  .psghub__stat-panel .dataTables_wrapper{
    overflow:visible!important;
    width:100%!important;
  }
  .psghub__stat-panel table.sp-data-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    font-size:11px!important;
  }
  .psghub__stat-panel table.sp-data-table th,
  .psghub__stat-panel table.sp-data-table td{
    padding:9px 7px!important;
    vertical-align:middle!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .psghub__stat-panel table.sp-data-table th{
    background:#202733!important;
    color:#fff!important;
    font-size:9px!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .psghub__stat-panel table.sp-data-table th:nth-child(1),
  .psghub__stat-panel table.sp-data-table td:nth-child(1){width:10%!important;text-align:center!important}
  .psghub__stat-panel table.sp-data-table th:nth-child(2),
  .psghub__stat-panel table.sp-data-table td:nth-child(2){width:45%!important;text-align:left!important}
  .psghub__stat-panel table.sp-data-table th:nth-child(3),
  .psghub__stat-panel table.sp-data-table td:nth-child(3){width:30%!important;text-align:left!important}
  .psghub__stat-panel table.sp-data-table th:last-child,
  .psghub__stat-panel table.sp-data-table td:last-child{width:15%!important;text-align:center!important;font-weight:900!important}
  .psghub__stat-panel table.sp-data-table tbody tr:nth-child(even){background:#f6f8fa!important}
  .psghub__stat-panel table.sp-data-table tbody tr:hover{background:#eef3f7!important}
  .psghub__stat-panel table.sp-data-table img{
    width:28px!important;
    height:28px!important;
    object-fit:cover!important;
    border-radius:50%!important;
    vertical-align:middle!important;
    margin-right:6px!important;
  }
  .psghub__stat-panel .player-photo{display:inline-block!important;vertical-align:middle!important}
  .psghub__stat-panel td.data-team a{font-size:10px!important}
  .psghub__stat-panel .dataTables_paginate{
    display:flex!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:4px!important;
    padding:11px!important;
    border-top:1px solid #e1e6eb!important;
  }
  .psghub__stat-panel .paginate_button{
    margin:0!important;
    padding:5px 8px!important;
    border:1px solid #d6dde4!important;
    border-radius:6px!important;
    background:#f5f7f9!important;
    font-size:10px!important;
  }
  .psghub__stat-panel .paginate_button.current{
    background:var(--hub-color)!important;
    border-color:var(--hub-color)!important;
    color:#fff!important;
  }
}

@media (min-width:701px) and (max-width:1100px){
  .psghub__stats-panels{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:700px){
  /* Na telefonie pozostają zakładki i jedna zwarta tabela naraz. */
  .psghub__stats-tabs{display:grid!important}
  .psghub__stats-panels{display:block!important}
  .psghub__stat-panel{display:none!important}
  .psghub__stat-panel.is-active{display:block!important}
}

/* =========================================================
   PSG League Hub 1.5.1 — clean stat headers + team-assigned MVP
   ========================================================= */
.psghub__stat-panel .sp-table-caption{display:none!important}
.psghub__stat-card-title{
  margin:0!important;
  padding:13px 15px!important;
  border-top:4px solid var(--hub-color)!important;
  background:#151b23!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.25!important;
  text-transform:none!important;
}
.psghub__team{display:flex;flex-direction:column;gap:7px}
.psghub__team-club{display:flex;align-items:center;gap:9px;min-width:0}
.psghub__team:last-child .psghub__team-club{justify-content:flex-end;text-align:right}
.psghub__team-mvp{display:flex;align-items:center;gap:5px;min-width:0}
.psghub__team:last-child .psghub__team-mvp{justify-content:flex-end}
.psghub__team-mvp>span{font-size:9px;font-weight:900;letter-spacing:.06em;color:#687583}
.psghub__team-mvp .psg-mvp-pill{display:flex;align-items:center;gap:5px;min-width:0;margin:0;padding:4px 6px;border:1px solid #d6dde4;border-radius:8px;background:#fff;box-shadow:none}
.psghub__team-mvp .psg-mvp-pill::before{display:none!important}
.psghub__team-mvp .psg-mvp-photo{width:24px!important;height:24px!important;min-width:24px!important;border-radius:50%!important;object-fit:cover!important}
.psghub__team-mvp .psg-mvp-link{font-size:10px!important;line-height:1.15!important;white-space:normal!important;color:#26323f!important}
.psghub__match-details--halves-only{grid-template-columns:1fr}

@media(max-width:700px){
  .psghub__team-club{flex-direction:column;text-align:center;gap:5px}
  .psghub__team:last-child .psghub__team-club{justify-content:center;text-align:center}
  .psghub__team-mvp,.psghub__team:last-child .psghub__team-mvp{justify-content:center;flex-direction:column;gap:3px;text-align:center}
  .psghub__team-mvp .psg-mvp-pill{max-width:120px;justify-content:center;padding:4px 5px}
  .psghub__team-mvp .psg-mvp-link{font-size:9px!important;text-align:center!important}
  .psghub__stat-card-title{padding:11px 12px!important;font-size:13px!important}
}


/* =========================================================
   PSG League Hub 1.5.2 — 4 najważniejsze rankingi w jednym rzędzie
   ========================================================= */
@media (min-width:1180px){
  .psghub__stats-panels{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .psghub__stat-panel table.sp-data-table th,
  .psghub__stat-panel table.sp-data-table td{
    padding:8px 5px!important;
    font-size:10px!important;
  }
  .psghub__stat-panel table.sp-data-table th{font-size:8px!important}
  .psghub__stat-panel table.sp-data-table th:nth-child(1),
  .psghub__stat-panel table.sp-data-table td:nth-child(1){width:8%!important}
  .psghub__stat-panel table.sp-data-table th:nth-child(2),
  .psghub__stat-panel table.sp-data-table td:nth-child(2){width:42%!important}
  .psghub__stat-panel table.sp-data-table th:nth-child(3),
  .psghub__stat-panel table.sp-data-table td:nth-child(3){width:36%!important}
  .psghub__stat-panel table.sp-data-table th:last-child,
  .psghub__stat-panel table.sp-data-table td:last-child{width:14%!important}
  .psghub__stat-panel table.sp-data-table img{
    width:22px!important;height:22px!important;margin-right:4px!important
  }
}

@media (min-width:701px){
  /* Nazwa klubu zawsze w jednym wierszu. Przy długiej nazwie pojawia się wielokropek. */
  .psghub__stat-panel table.sp-data-table td.data-team,
  .psghub__stat-panel table.sp-data-table td.data-team a{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .psghub__stat-panel table.sp-data-table td.data-team a{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
  }
}

@media (min-width:701px) and (max-width:1179px){
  .psghub__stats-panels{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* =========================================================
   PSG League Hub 1.5.4 — final mobile standings alignment
   ========================================================= */
@media (max-width:700px){
  /* Standings must stay a real aligned table, never vertical key/value cards. */
  .psghub .psghub__native.psghub__native--table table.sp-data-table{
    display:table!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table thead{display:table-header-group!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table tbody{display:table-row-group!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table tr{display:table-row!important;background:transparent!important;border:0!important;padding:0!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th,
  .psghub .psghub__native.psghub__native--table table.sp-data-table td{
    display:table-cell!important;
    padding:8px 2px!important;
    border:0!important;
    border-bottom:1px solid #e2e8ed!important;
    text-align:center!important;
    vertical-align:middle!important;
    font-size:9px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table th{
    background:#121a24!important;
    color:#fff!important;
    font-size:8px!important;
    font-weight:900!important;
    text-transform:uppercase!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table td::before,
  .psghub .psghub__native.psghub__native--table table.sp-data-table th::before{display:none!important;content:none!important}

  /* Visible on phones: # | Klub | RM | PKT | BZ | BS | RB. Hide only technical extras beyond RB. */
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(n+8),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(n+8){display:none!important}

  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(1),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(1){display:table-cell!important;width:7%!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(2),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2){display:table-cell!important;width:38%!important;text-align:left!important;padding-left:5px!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(3),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(3),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(7),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(7){display:table-cell!important;width:11%!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(4){font-weight:900!important}

  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2) a{
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:9px!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2) img{
    flex:0 0 17px!important;
    width:17px!important;
    height:17px!important;
    margin:0 2px 0 0!important;
    object-fit:contain!important;
  }
  .psghub .psghub__native.psghub__native--table .sp-table-wrapper,
  .psghub .psghub__native.psghub__native--table .sp-scrollable-table-wrapper,
  .psghub .psghub__native.psghub__native--table .dataTables_wrapper{overflow:hidden!important;width:100%!important;max-width:100%!important}
}
@media (max-width:390px){
  .psghub .psghub__native.psghub__native--table table.sp-data-table th,
  .psghub .psghub__native.psghub__native--table table.sp-data-table td{font-size:8px!important;padding-left:1px!important;padding-right:1px!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(2),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2){width:37%!important;padding-left:4px!important}
}

/* =========================================================
   PSG League Hub 1.5.5 — desktop standings exact column alignment
   Headers and values share exactly the same fixed column widths.
   ========================================================= */
@media (min-width:701px){
  .psghub .psghub__native.psghub__native--table table.sp-data-table{
    display:table!important;
    width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
  }

  .psghub .psghub__native.psghub__native--table table.sp-data-table thead{display:table-header-group!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table tbody{display:table-row-group!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table tr{display:table-row!important}

  .psghub .psghub__native.psghub__native--table table.sp-data-table th,
  .psghub .psghub__native.psghub__native--table table.sp-data-table td{
    display:table-cell!important;
    box-sizing:border-box!important;
    vertical-align:middle!important;
    text-align:center!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }

  /* # */
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(1),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(1){
    width:5%!important;
    text-align:center!important;
  }

  /* CLUB — gets the available reading space */
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(2),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2){
    width:50%!important;
    text-align:left!important;
    padding-left:12px!important;
  }

  /* RM / PKT / BZ / BS / RB — exactly equal columns */
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(3),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(3),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(7),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(7){
    width:9%!important;
    text-align:center!important;
    padding-left:4px!important;
    padding-right:4px!important;
  }

  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(n+8),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(n+8){
    text-align:center!important;
  }

  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2) a{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
  }
}

/* =========================================================
   PSG League Hub 1.5.6 — Kanadyjka jako pełnoprawna klasyfikacja
   ========================================================= */
@media (min-width:1101px){
  .psghub__stats-panels{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.psghub__stat-panel--kanadyjska .psghub__stat-card-title::after{
  content:"Gole + asysty";
  display:block;
  margin-top:2px;
  color:#6f7b87;
  font-size:10px;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
}

/* PSG League Hub 1.5.9 — Kanadyjka liczona na żywo: gole + asysty */
.psghub__canadian-table .data-points{text-align:right!important;font-variant-numeric:tabular-nums}
.psghub__canadian-table .data-points strong{font-size:11px!important}
.psghub__canadian-table .data-name img{width:22px!important;height:22px!important;object-fit:cover!important;border-radius:50%;vertical-align:middle;margin-right:6px}
@media (min-width:701px){
  .psghub__canadian-table th:nth-child(1),.psghub__canadian-table td:nth-child(1){width:8%!important;text-align:center!important}
  .psghub__canadian-table th:nth-child(2),.psghub__canadian-table td:nth-child(2){width:42%!important;text-align:left!important}
  .psghub__canadian-table th:nth-child(3),.psghub__canadian-table td:nth-child(3){width:35%!important;text-align:left!important}
  .psghub__canadian-table th:nth-child(4),.psghub__canadian-table td:nth-child(4){width:15%!important;text-align:right!important}
}


/* v1.6.6 exact-map fixes */
.psghub__ligaa-history-table{border-top:4px solid #D64A3A!important}
.psghub__forced-caption{
  padding:14px 16px;font-weight:800;font-size:18px;background:#fff;
  border-bottom:1px solid #e6eaee
}
.psghub__ligaa-history-table .sp-league-table{border-top:0!important}
.psghub__history-stat{width:100%!important}
.psghub__history-stat td:nth-child(2) img,
.psghub__ligaa-history-table td:nth-child(2) img{
  width:22px!important;height:22px!important;object-fit:cover;border-radius:50%;
  vertical-align:middle;margin-right:6px
}


/* =========================================================
   PSG League Hub 1.6.8 — Kanadyjka jak pozostałe rankingi
   30 pozycji + standardowy, zwarty przełącznik stron
   ========================================================= */
.psghub__canadian-wrapper [data-psghub-canadian-row]{display:none}
.psghub__canadian-wrapper [data-psghub-canadian-row].is-visible{display:table-row}
.psghub__canadian-pagination{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:4px!important;
  min-height:1px;
  padding:11px!important;
  border-top:1px solid #e1e6eb!important;
  background:#fff;
}
.psghub__canadian-pagination:empty{display:none!important}
.psghub__canadian-pagination .paginate_button{
  appearance:none;
  min-width:29px;
  height:29px;
  margin:0!important;
  padding:4px 8px!important;
  border:1px solid #d6dde4!important;
  border-radius:6px!important;
  background:#f5f7f9!important;
  color:#26323f!important;
  cursor:pointer;
  font:800 10px/1 inherit;
}
.psghub__canadian-pagination .paginate_button:hover:not(.disabled){
  background:#e9eef3!important;
  border-color:#bcc7d1!important;
}
.psghub__canadian-pagination .paginate_button.current{
  background:var(--hub-color)!important;
  border-color:var(--hub-color)!important;
  color:#fff!important;
}
.psghub__canadian-pagination .paginate_button.disabled{
  opacity:.42;
  cursor:default;
}
.psghub__canadian-pagination .ellipsis{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:29px;
  color:#687583;
  font-size:11px;
  font-weight:800;
}
@media(max-width:700px){
  .psghub__canadian-wrapper [data-psghub-canadian-row].is-visible{display:block!important}
  .psghub__canadian-pagination{padding:10px 6px 4px!important;border-top:0!important}
}


/* 1.6.9: nagłówki wartości statystyk nie mogą się zawijać (ASYSTY / PUNKTY itd.) */
@media (min-width:701px){
  .psghub__stat-panel table.sp-data-table th:last-child{
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
    font-size:8.5px!important;
    letter-spacing:-.15px!important;
    padding-left:3px!important;
    padding-right:3px!important;
  }
}

/* =========================================================
   PSG League Hub 1.6.11 — jednolite zdjęcia zawodników
   SportsPress dodaje własną oprawę .player-photo; w Hubie
   wszystkie rankingi mają wyglądać jak dynamiczna Kanadyjka.
   ========================================================= */
.psghub__stat-panel .player-photo,
.psghub__stat-panel span.player-photo,
.psghub__stat-panel a.player-photo{
  display:inline-block!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  margin:0 6px 0 0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  vertical-align:middle!important;
  overflow:hidden!important;
  line-height:0!important;
}
.psghub__stat-panel .player-photo img,
.psghub__stat-panel span.player-photo img,
.psghub__stat-panel a.player-photo img,
.psghub__stat-panel table.sp-data-table td.data-name > img,
.psghub__stat-panel table.sp-data-table td:nth-child(2) > img{
  display:inline-block!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  margin:0 6px 0 0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:cover!important;
  vertical-align:middle!important;
}
/* Gdy SportsPress umieszcza img wewnątrz wrappera, margines należy do wrappera. */
.psghub__stat-panel .player-photo img,
.psghub__stat-panel span.player-photo img,
.psghub__stat-panel a.player-photo img{margin:0!important}


/* =========================================================
   PSG League Hub 1.6.12 — MOBILE STABILITY FIX
   Cel:
   - Kanadyjka zachowuje prawdziwy układ tabeli na telefonie
   - brak łamania nazw klubów/zawodników litera po literze
   - spójne pogrubienie wartości liczbowych
   - gole/asysty/punkty czytelne i równe we wszystkich rankingach
   ========================================================= */

@media (max-width:700px){

  /* Najważniejsza poprawka: w 1.6.8 widoczny wiersz Kanadyjki
     był ustawiany jako BLOCK, co rozbijało algorytm tabeli. */
  .psghub__canadian-wrapper [data-psghub-canadian-row].is-visible{
    display:table-row!important;
  }

  .psghub__canadian-table{
    display:table!important;
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
  }

  .psghub__canadian-table thead{
    display:table-header-group!important;
  }
  .psghub__canadian-table tbody{
    display:table-row-group!important;
  }

  .psghub__canadian-table tr{
    display:table-row!important;
  }

  .psghub__canadian-table th,
  .psghub__canadian-table td{
    display:table-cell!important;
    box-sizing:border-box!important;
    min-width:0!important;
    padding:9px 4px!important;
    vertical-align:middle!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    line-height:1.2!important;
  }

  /* Stała, bezpieczna siatka: LP / ZAWODNIK / KLUB / PUNKTY */
  .psghub__canadian-table th:nth-child(1),
  .psghub__canadian-table td:nth-child(1){
    width:8%!important;
    text-align:center!important;
  }
  .psghub__canadian-table th:nth-child(2),
  .psghub__canadian-table td:nth-child(2){
    width:40%!important;
    text-align:left!important;
  }
  .psghub__canadian-table th:nth-child(3),
  .psghub__canadian-table td:nth-child(3){
    width:37%!important;
    text-align:left!important;
  }
  .psghub__canadian-table th:nth-child(4),
  .psghub__canadian-table td:nth-child(4){
    width:15%!important;
    text-align:right!important;
  }

  .psghub__canadian-table td.data-name,
  .psghub__canadian-table td.data-team,
  .psghub__canadian-table td.data-name a,
  .psghub__canadian-table td.data-team a{
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  .psghub__canadian-table td.data-name a,
  .psghub__canadian-table td.data-team a{
    display:inline!important;
    max-width:none!important;
    font-size:10px!important;
    line-height:1.2!important;
  }

  /* Zdjęcie nie może zabierać szerokości ani tworzyć dodatkowej oprawy. */
  .psghub__canadian-table .data-name img{
    display:inline-block!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    margin:0 5px 0 0!important;
    border:0!important;
    border-radius:50%!important;
    object-fit:cover!important;
    vertical-align:middle!important;
  }

  /* Wyniki / punkty w rankingach zawsze jednakowo pogrubione. */
  .psghub__stat-panel table.sp-data-table td:last-child,
  .psghub__canadian-table td.data-points,
  .psghub__canadian-table td.data-points strong{
    font-weight:800!important;
    font-variant-numeric:tabular-nums!important;
  }

  /* Nie łam nazw w zwykłych listach statystyk w środku słowa. */
  .psghub__stat-panel table.sp-data-table td.data-name,
  .psghub__stat-panel table.sp-data-table td.data-team,
  .psghub__stat-panel table.sp-data-table td.data-name a,
  .psghub__stat-panel table.sp-data-table td.data-team a{
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* W tabeli ligowej wszystkie liczby mają identyczną wagę.
     Usuwa przypadkowe różnice wynikające z <strong> generowanego przez SP. */
  .psghub__native--table table.sp-data-table td:not(:nth-child(2)),
  .psghub__native--table table.sp-data-table td:not(:nth-child(2)) strong{
    font-weight:700!important;
    font-variant-numeric:tabular-nums!important;
  }

  /* Kolumna wartości rankingów (GOLE / ASYSTY / MVP / KARTKI) */
  .psghub__stat-panel table.sp-data-table td:last-child,
  .psghub__stat-panel table.sp-data-table td:last-child strong{
    font-weight:800!important;
  }
}

/* Paginacja Kanadyjki zostaje zwarta również po naprawie display:table-row. */
@media (max-width:520px){
  .psghub__canadian-pagination{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:4px!important;
    padding:10px 4px 4px!important;
  }
}

/* PSG League Hub 1.6.13 — Kanadyjka: rozmiar punktów zgodny z pozostałymi rankingami */
.psghub__canadian-table td.data-points,
.psghub__canadian-table td.data-points strong{
  font-size:11px!important;
  line-height:1.2!important;
}

/* PSG League Hub 1.6.15 — historyczna tabela Ligi A:
   poprawiony podpis i układ logo + nazwa klubu w jednym wierszu */
.psghub__ligaa-history-table .psghub__forced-caption{
  white-space:normal!important;
}
@media (max-width:700px){
  .psghub .psghub__native.psghub__native--table.psghub__ligaa-history-table table.sp-data-table td:nth-child(2){
    white-space:nowrap!important;
  }
  .psghub .psghub__native.psghub__native--table.psghub__ligaa-history-table table.sp-data-table td:nth-child(2) a{
    display:inline!important;
    width:auto!important;
    max-width:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    vertical-align:middle!important;
    font-size:9px!important;
  }
  .psghub .psghub__native.psghub__native--table.psghub__ligaa-history-table table.sp-data-table td:nth-child(2) img{
    display:inline-block!important;
    vertical-align:middle!important;
    margin:0 6px 0 0!important;
  }
}
@media (max-width:520px){
  .psghub .psghub__native.psghub__native--table.psghub__ligaa-history-table table.sp-data-table td:nth-child(2) a{
    font-size:8.5px!important;
  }
}

/* PSG League Hub 1.6.16 — mobile standings now also show BS for full consistency with desktop. */


/* =========================================================
   PSG League Hub 1.6.18 — forma z 5 ostatnich meczów w tabelach
   ========================================================= */
.psghub__form-badges{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
.psghub__form-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  border-radius:6px!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)!important;
}
.psghub__form-badge--win{background:#20a55a!important;color:#fff!important}
.psghub__form-badge--loss{background:#de3d3d!important;color:#fff!important}
.psghub__form-badge--draw{background:#e0b100!important;color:#111827!important}
.psghub__form-empty{color:#8c99a5!important;font-weight:700!important}
.psghub .psghub__native.psghub__native--table table.sp-data-table th.psghub__form-head,
.psghub .psghub__native.psghub__native--table table.sp-data-table td.psghub__form-cell{
  text-align:center!important;
}
@media (min-width:701px){
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(1),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(1){width:5%!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(2),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2){width:34%!important;text-align:left!important;padding-left:12px!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(3),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(3){width:16%!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(7),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(7),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(8),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(8){width:9%!important;text-align:center!important;padding-left:4px!important;padding-right:4px!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(5){font-weight:900!important}
}
@media (max-width:700px){
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(n+9),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(n+9){display:none!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(1),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(1){width:5%!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(2),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2){width:28%!important;text-align:left!important;padding-left:5px!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(3),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(3){width:22%!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(7),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(7),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(8),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(8){width:9%!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(5){font-weight:900!important}
}
@media (max-width:390px){
  .psghub__form-badge{width:15px!important;height:15px!important;font-size:8px!important;border-radius:5px!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(2),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2){width:24%!important;padding-left:4px!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(3),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(3){width:24%!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2) a{font-size:8px!important}
}


/* =========================================================
   PSG League Hub 1.6.19 — FORMA widoczna również na desktopie
   Twardy override wyłącznie dla nowej kolumny FORMA.
   ========================================================= */
@media (min-width:701px){
  .psghub .psghub__native.psghub__native--table table.sp-data-table th.psghub__form-head,
  .psghub .psghub__native.psghub__native--table table.sp-data-table td.psghub__form-cell{
    display:table-cell!important;
    visibility:visible!important;
    opacity:1!important;
    width:16%!important;
    min-width:112px!important;
    max-width:none!important;
    padding-left:5px!important;
    padding-right:5px!important;
    text-align:center!important;
    overflow:visible!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table th.psghub__form-head{
    white-space:nowrap!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table td.psghub__form-cell .psghub__form-badges{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:auto!important;
    min-width:0!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table td.psghub__form-cell .psghub__form-badge{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
}


/* =========================================================
   PSG League Hub 1.6.20 — mobile: pełny zestaw RM/PKT/BZ/BS/RB
   Po dodaniu FORMY stara reguła z wersji 1.6.16 nadal ukrywała
   ósmą kolumnę, która po przesunięciu stała się kolumną RB.
   Ten końcowy override jawnie przywraca wszystkie 5 statystyk.
   ========================================================= */
@media (max-width:700px){
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(7),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(7),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(8),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(8){
    display:table-cell!important;
    visibility:visible!important;
    width:9%!important;
    min-width:0!important;
    padding-left:1px!important;
    padding-right:1px!important;
    text-align:center!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(2),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2){
    width:27%!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(3),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(3){
    width:23%!important;
  }
}
@media (max-width:390px){
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(2),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2){width:23%!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(3),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(3){width:25%!important}
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(7),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(7),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(8),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(8){width:9%!important;font-size:7.5px!important}
  .psghub__form-badges{gap:2px!important}
  .psghub__form-badge{width:14px!important;height:14px!important;font-size:7px!important;border-radius:4px!important}
}


/* =========================================================
   PSG League Hub 1.6.21 — mobile: więcej miejsca na nazwę drużyny
   Zachowujemy FORMA + RM/PKT/BZ/BS/RB, ale ściskamy metryki,
   żeby nazwa klubu nie była niepotrzebnie ucinana.
   ========================================================= */
@media (max-width:700px){
  .psghub .psghub__native.psghub__native--table table.sp-data-table{
    table-layout:fixed!important;
  }

  /* # */
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(1),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(1){
    width:4%!important;
  }

  /* KLUB — największa część szerokości */
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(2),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2){
    width:31%!important;
    padding-left:4px!important;
    padding-right:2px!important;
    overflow:visible!important;
  }

  /* FORMA */
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(3),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(3){
    width:20%!important;
    padding-left:1px!important;
    padding-right:1px!important;
  }

  /* RM / PKT / BZ / BS / RB */
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(4),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(5),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(6),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(7),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(7),
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(8),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(8){
    width:9%!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  /* Nazwa i herb w jednym wierszu, bez łamania znak po znaku. */
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2) a{
    display:inline!important;
    width:auto!important;
    max-width:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:8.5px!important;
    vertical-align:middle!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2) img{
    display:inline-block!important;
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    margin:0 4px 0 0!important;
    vertical-align:middle!important;
  }

  /* Kafelki formy trochę ciaśniejsze, żeby odzyskać miejsce dla nazwy klubu. */
  .psghub__form-badges{gap:2px!important}
  .psghub__form-badge{
    width:14px!important;
    height:14px!important;
    min-width:14px!important;
    border-radius:4px!important;
    font-size:7.5px!important;
  }
}

@media (max-width:390px){
  .psghub .psghub__native.psghub__native--table table.sp-data-table th,
  .psghub .psghub__native.psghub__native--table table.sp-data-table td{
    font-size:7.5px!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(2),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2){
    width:32%!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(3),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(3){
    width:18%!important;
  }
  .psghub__form-badge{
    width:13px!important;
    height:13px!important;
    min-width:13px!important;
    font-size:7px!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2) a{
    font-size:8px!important;
  }
}


/* =========================================================
   PSG League Hub 1.6.22 — mobile: mniejsze kafelki FORMA
   i odrobina więcej miejsca na nazwę drużyny.
   ========================================================= */
@media (max-width:700px){
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(2),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2){
    width:34%!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(3),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(3){
    width:17%!important;
  }
  .psghub__form-badges{
    gap:1px!important;
  }
  .psghub__form-badge{
    width:12px!important;
    height:12px!important;
    min-width:12px!important;
    border-radius:4px!important;
    font-size:6.5px!important;
    line-height:1!important;
  }
}
@media (max-width:390px){
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(2),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(2){
    width:35%!important;
  }
  .psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(3),
  .psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(3){
    width:16%!important;
  }
  .psghub__form-badge{
    width:11px!important;
    height:11px!important;
    min-width:11px!important;
    font-size:6px!important;
    border-radius:3px!important;
  }
}




/* =========================================================
   PSG League Hub 1.6.24 — wszystkie wartości tabeli pogrubione
   ========================================================= */
.psghub .psghub__native.psghub__native--table table.sp-data-table tbody td,
.psghub .psghub__native.psghub__native--table table.sp-data-table tbody td a,
.psghub .psghub__native.psghub__native--table table.sp-data-table tbody td strong{
  font-weight:800!important;
}
.psghub .psghub__native.psghub__native--table table.sp-data-table tbody td.psghub__form-cell,
.psghub .psghub__native.psghub__native--table table.sp-data-table tbody td.psghub__form-cell *{
  font-weight:800!important;
}


/* PSG League Hub 1.6.25 — twarde wymuszenie czytelnej wagi wszystkich wartości tabeli */
html body .psghub .psghub__native.psghub__native--table table.sp-data-table tbody tr td,
html body .psghub .psghub__native.psghub__native--table table.sp-data-table tbody tr td a,
html body .psghub .psghub__native.psghub__native--table table.sp-data-table tbody tr td strong,
html body .psghub .psghub__native.psghub__native--table table.sp-data-table tbody tr td span:not(.psghub__form-badge){
  font-weight:700!important;
}


/* =========================================================
   PSG League Hub 1.6.26 — poprawne pogrubienie + usunięcie końcowej kolumny technicznej
   ========================================================= */
.psghub .psghub__native.psghub__native--table table.sp-data-table tbody .psghub__standings-bold{
  font-weight:800!important;
}
.psghub .psghub__native.psghub__native--table table.sp-data-table tbody td:nth-child(2) .psghub__standings-bold{
  display:inline!important;
}
.psghub .psghub__native.psghub__native--table table.sp-data-table th:nth-child(n+9),
.psghub .psghub__native.psghub__native--table table.sp-data-table td:nth-child(n+9){
  display:none!important;
}


/* PSG League Hub 1.6.27 — finalne, jednolite pogrubienie wszystkich wartości standings.
   Inline !important jest dodawane także przez PHP; ten blok jest tylko fallbackiem. */
html body .psghub .psghub__native.psghub__native--table table.sp-data-table tbody td,
html body .psghub .psghub__native.psghub__native--table table.sp-data-table tbody td a,
html body .psghub .psghub__native.psghub__native--table table.sp-data-table tbody td strong,
html body .psghub .psghub__native.psghub__native--table table.sp-data-table tbody td span{
  font-weight:800!important;
}


/* =========================================================
   PSG League Hub 1.6.28 — historyczna tabela PSG Liga A:
   nazwa drużyny obok herbu także na desktopie.
   ========================================================= */
@media (min-width:701px){
  .psghub .psghub__native.psghub__native--table.psghub__ligaa-history-table table.sp-data-table td:nth-child(2){
    white-space:nowrap!important;
  }
  .psghub .psghub__native.psghub__native--table.psghub__ligaa-history-table table.sp-data-table td:nth-child(2) strong.psghub__standings-bold{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    white-space:nowrap!important;
  }
  .psghub .psghub__native.psghub__native--table.psghub__ligaa-history-table table.sp-data-table td:nth-child(2) a{
    display:inline!important;
    width:auto!important;
    max-width:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    vertical-align:middle!important;
  }
  .psghub .psghub__native.psghub__native--table.psghub__ligaa-history-table table.sp-data-table td:nth-child(2) img{
    display:inline-block!important;
    vertical-align:middle!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
}


/* =========================================================
   PSG League Hub 1.6.33 — globalny terminarz wszystkich lig
   ========================================================= */
.psghub--all-fixtures{max-width:1100px;margin:0 auto}
.psghub__all-hero{
  padding:28px 30px;
  margin-bottom:18px;
  background:#121a24;
  color:#fff;
  border-radius:16px;
  border-bottom:4px solid #B8860B;
}
.psghub__all-hero h1{margin:4px 0 6px;color:#fff;font-size:34px;line-height:1.1}
.psghub__all-hero p{margin:0;color:#cbd4dc}
.psghub__fixture-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 18px;
  padding:12px;
  background:#fff;
  border:1px solid #dfe5ea;
  border-radius:12px;
}
.psghub__fixture-filters button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:7px 12px;
  border:1px solid #d9e0e6;
  border-radius:999px;
  background:#fff;
  color:#1b2733;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.psghub__fixture-filters button span{
  width:9px;height:9px;border-radius:50%;background:var(--fixture-color,#7a8793)
}
.psghub__fixture-filters button.is-active{
  background:#121a24;color:#fff;border-color:#121a24
}
.psghub__fixture-day{margin:0 0 24px}
.psghub__fixture-day>h2{
  margin:0 0 9px;
  color:#394654;
  font-size:15px;
  font-weight:900;
  text-transform:capitalize;
}
.psghub__fixture-row{
  display:grid;
  grid-template-columns:145px 62px minmax(0,1fr) 170px 86px;
  align-items:center;
  gap:12px;
  min-height:76px;
  padding:12px 14px;
  margin-bottom:8px;
  background:#fff;
  border:1px solid #dfe5ea;
  border-left:5px solid var(--fixture-color);
  border-radius:11px;
}
.psghub__fixture-league{
  display:flex;align-items:center;gap:7px;
  font-size:11px;font-weight:900;color:#334150
}
.psghub__fixture-league-dot{
  flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--fixture-color)
}
.psghub__fixture-time{font-size:18px;font-weight:900;color:#121a24;text-align:center}
.psghub__fixture-teams{
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);
  align-items:center;
  gap:8px;
}
.psghub__fixture-team{
  display:flex;align-items:center;gap:8px;min-width:0
}
.psghub__fixture-team--away{justify-content:flex-end;text-align:right}
.psghub__fixture-team img{
  flex:0 0 30px;width:30px;height:30px;object-fit:contain
}
.psghub__fixture-team strong{
  min-width:0;font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.psghub__fixture-vs{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:29px;border-radius:7px;background:#121a24;color:#fff;
  font-size:10px;font-weight:900
}
.psghub__fixture-meta{
  display:flex;flex-direction:column;gap:3px;
  color:#6a7784;font-size:10px;font-weight:700
}
.psghub__fixture-link{
  color:var(--fixture-color)!important;
  text-decoration:none;
  text-align:right;
  font-size:11px;
  font-weight:900
}
.psghub__fixture-row[hidden]{display:none!important}
.psghub__fixture-day.is-empty{display:none!important}

@media(max-width:800px){
  .psghub__fixture-row{
    grid-template-columns:78px minmax(0,1fr) 70px;
    gap:7px;padding:10px;
  }
  .psghub__fixture-league{grid-column:1 / 4;font-size:10px}
  .psghub__fixture-time{font-size:15px;text-align:left}
  .psghub__fixture-teams{grid-column:2;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)}
  .psghub__fixture-meta{display:none}
  .psghub__fixture-link{grid-column:3;text-align:right;font-size:10px}
  .psghub__fixture-team img{width:24px;height:24px;flex-basis:24px}
  .psghub__fixture-team strong{font-size:10px}
  .psghub__fixture-vs{width:28px;height:25px;font-size:9px}
}
@media(max-width:520px){
  .psghub__all-hero{padding:22px 18px}
  .psghub__all-hero h1{font-size:27px}
  .psghub__fixture-filters{gap:6px;padding:9px}
  .psghub__fixture-filters button{min-height:32px;padding:6px 9px;font-size:10px}
  .psghub__fixture-row{
    grid-template-columns:50px minmax(0,1fr);
  }
  .psghub__fixture-league{grid-column:1 / 3}
  .psghub__fixture-time{grid-column:1}
  .psghub__fixture-teams{grid-column:2}
  .psghub__fixture-link{grid-column:1 / 3;margin-top:2px}
}


/* =========================================================
   PSG League Hub 1.6.35 — dedykowany pełnoszeroki widok terminarza
   ========================================================= */
.psghub-global-page{
  width:100%;
  margin:0;
  padding:36px 20px 70px;
  background:#f4f7f9;
}
.psghub-global-page__inner{
  width:100%;
  max-width:1180px;
  margin:0 auto;
}
.psghub-global-page .psghub--all-fixtures{max-width:none;margin:0}
@media(max-width:700px){
  .psghub-global-page{padding:20px 10px 48px}
}


/* =========================================================
   PSG League Hub 1.6.37 — globalny terminarz: poprawne ładowanie stylów
   + ciaśniejsze menu w headerze, aby nowa pozycja nie rozpychała układu.
   ========================================================= */
.psghub__all-fixtures-list{display:flex;flex-direction:column;gap:10px}
.psghub__fixture-day>h2{font-size:28px;line-height:1.15;color:#16212d;margin:10px 0 12px;font-weight:900}
.psghub__fixture-day{margin:0 0 28px}
.psghub__fixture-row{box-shadow:0 1px 0 rgba(16,24,40,.02)}
.psghub__fixture-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(min-width:1024px){
  body .site-header .menu > li > a,
  body .main-navigation .menu > li > a,
  body .main-nav .menu > li > a,
  body nav .menu > li > a{
    white-space:nowrap;
    font-size:14px;
    letter-spacing:-.1px;
  }
  body .site-header .menu,
  body .main-navigation .menu,
  body .main-nav .menu{
    gap:14px;
  }
  body .psg-menu-all-fixtures > a{
    white-space:nowrap;
  }
}
@media(max-width:700px){
  .psghub__fixture-day>h2{font-size:21px}
}


/* =========================================================
   PSG League Hub 1.6.38 — globalny terminarz: width/overflow fix
   ========================================================= */
.psghub-global-page{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
.psghub-global-page__inner,
.psghub-global-page .psghub--all-fixtures,
.psghub__all-fixtures-list,
.psghub__fixture-day,
.psghub__fixture-row{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.psghub__fixture-row{
  grid-template-columns:130px 62px minmax(420px,1fr) 150px 82px!important;
}
.psghub__fixture-league,
.psghub__fixture-time,
.psghub__fixture-teams,
.psghub__fixture-meta,
.psghub__fixture-link,
.psghub__fixture-team,
.psghub__fixture-team strong{
  min-width:0!important;
  max-width:100%!important;
}
.psghub__fixture-team strong{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.psghub__fixture-meta{
  overflow:hidden!important;
}
.psghub__fixture-link{
  white-space:nowrap!important;
}

@media(max-width:1100px){
  .psghub__fixture-row{
    grid-template-columns:118px 58px minmax(330px,1fr) 128px 74px!important;
    gap:8px!important;
  }
  .psghub__fixture-team strong{font-size:12px!important}
}
@media(max-width:800px){
  .psghub__fixture-row{
    grid-template-columns:64px minmax(0,1fr) 70px!important;
  }
}
@media(max-width:520px){
  .psghub__fixture-row{
    grid-template-columns:46px minmax(0,1fr)!important;
  }
}


/* =========================================================
   PSG League Hub 1.6.39 — mobile: pełne nazwy drużyn w globalnym terminarzu
   ========================================================= */
@media(max-width:520px){
  .psghub__fixture-row{
    grid-template-columns:52px minmax(0,1fr)!important;
    row-gap:8px!important;
  }
  .psghub__fixture-league{
    grid-column:1 / 3!important;
  }
  .psghub__fixture-time{
    grid-column:1!important;
    align-self:center!important;
  }
  .psghub__fixture-teams{
    grid-column:1 / 3!important;
    grid-row:auto!important;
    width:100%!important;
    grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr)!important;
    gap:7px!important;
    padding:0 2px!important;
  }
  .psghub__fixture-team{
    min-width:0!important;
    align-items:center!important;
  }
  .psghub__fixture-team--home{justify-content:flex-start!important;text-align:left!important}
  .psghub__fixture-team--away{justify-content:flex-end!important;text-align:right!important}
  .psghub__fixture-team strong{
    display:block!important;
    min-width:0!important;
    max-width:none!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    font-size:10px!important;
    line-height:1.15!important;
  }
  .psghub__fixture-team img{
    width:23px!important;
    height:23px!important;
    min-width:23px!important;
    flex:0 0 23px!important;
  }
  .psghub__fixture-vs{
    width:30px!important;
    height:27px!important;
  }
  .psghub__fixture-link{
    grid-column:1 / 3!important;
    text-align:right!important;
  }
}
@media(max-width:390px){
  .psghub__fixture-team strong{font-size:9.5px!important}
  .psghub__fixture-team img{width:21px!important;height:21px!important;min-width:21px!important;flex-basis:21px!important}
}


/* =========================================================
   PSG League Hub 1.6.40 — mobile: stałe wyrównanie drużyn
   Każda karta ma identyczną siatkę: CZAS | GOSPODARZ | VS | GOŚĆ.
   Herby i nazwy mają stałe miejsca, więc nic nie „pływa” w lewo/prawo.
   ========================================================= */
@media(max-width:520px){
  .psghub__fixture-row{
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr)!important;
    column-gap:8px!important;
    row-gap:8px!important;
    align-items:center!important;
  }

  .psghub__fixture-league{
    grid-column:1 / 3!important;
    grid-row:1!important;
  }

  .psghub__fixture-time{
    grid-column:1!important;
    grid-row:2!important;
    align-self:center!important;
    justify-self:start!important;
    width:56px!important;
    text-align:left!important;
  }

  .psghub__fixture-teams{
    grid-column:2!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr)!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    align-items:center!important;
  }

  .psghub__fixture-team{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    gap:5px!important;
    align-items:center!important;
    justify-content:stretch!important;
  }

  .psghub__fixture-team--home{
    grid-template-columns:23px minmax(0,1fr)!important;
    text-align:left!important;
  }
  .psghub__fixture-team--home img{
    grid-column:1!important;
    grid-row:1!important;
    margin:0!important;
  }
  .psghub__fixture-team--home strong{
    grid-column:2!important;
    grid-row:1!important;
    text-align:left!important;
  }

  .psghub__fixture-team--away{
    grid-template-columns:minmax(0,1fr) 23px!important;
    text-align:right!important;
  }
  .psghub__fixture-team--away img{
    grid-column:2!important;
    grid-row:1!important;
    margin:0!important;
    justify-self:end!important;
  }
  .psghub__fixture-team--away strong{
    grid-column:1!important;
    grid-row:1!important;
    text-align:right!important;
  }

  .psghub__fixture-team strong{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    font-size:10px!important;
    line-height:1.15!important;
  }

  .psghub__fixture-team img{
    width:23px!important;
    height:23px!important;
    min-width:23px!important;
    object-fit:contain!important;
  }

  .psghub__fixture-vs{
    grid-column:2!important;
    width:30px!important;
    height:27px!important;
    justify-self:center!important;
  }

  .psghub__fixture-meta{
    display:none!important;
  }

  .psghub__fixture-link{
    grid-column:1 / 3!important;
    grid-row:3!important;
    justify-self:end!important;
    text-align:right!important;
    margin-top:0!important;
  }
}

@media(max-width:390px){
  .psghub__fixture-row{
    grid-template-columns:52px minmax(0,1fr)!important;
    column-gap:6px!important;
  }
  .psghub__fixture-time{width:52px!important;font-size:14px!important}
  .psghub__fixture-teams{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important;gap:4px!important}
  .psghub__fixture-team--home{grid-template-columns:21px minmax(0,1fr)!important}
  .psghub__fixture-team--away{grid-template-columns:minmax(0,1fr) 21px!important}
  .psghub__fixture-team img{width:21px!important;height:21px!important;min-width:21px!important}
  .psghub__fixture-team strong{font-size:9.3px!important}
  .psghub__fixture-vs{width:28px!important;height:25px!important}
}


/* =========================================================
   PSG League Hub 1.6.41 — FINAL FIXTURES ALIGNMENT
   Jeden spójny system wyrównania dla:
   - globalnego Terminarza PSG,
   - terminarzy poszczególnych rozgrywek,
   - desktopu i mobile.
   ========================================================= */

/* ---------- GLOBALNY TERMINARZ PSG ---------- */
.psghub--all-fixtures .psghub__fixture-row{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.psghub--all-fixtures .psghub__fixture-teams{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  width:100%!important;
}
.psghub--all-fixtures .psghub__fixture-team{
  display:grid!important;
  align-items:center!important;
  min-width:0!important;
  width:100%!important;
  gap:8px!important;
}
.psghub--all-fixtures .psghub__fixture-team--home{
  grid-template-columns:32px minmax(0,1fr)!important;
  justify-content:stretch!important;
  text-align:left!important;
}
.psghub--all-fixtures .psghub__fixture-team--away{
  grid-template-columns:minmax(0,1fr) 32px!important;
  justify-content:stretch!important;
  text-align:right!important;
}
.psghub--all-fixtures .psghub__fixture-team--away img{grid-column:2!important;grid-row:1!important}
.psghub--all-fixtures .psghub__fixture-team--away strong{grid-column:1!important;grid-row:1!important}
.psghub--all-fixtures .psghub__fixture-team img{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  margin:0!important;
  object-fit:contain!important;
  justify-self:center!important;
}
.psghub--all-fixtures .psghub__fixture-team strong{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.2!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.psghub--all-fixtures .psghub__fixture-vs{
  justify-self:center!important;
  margin:0!important;
}

@media(min-width:801px){
  .psghub--all-fixtures .psghub__fixture-row{
    grid-template-columns:140px 64px minmax(420px,1fr) 150px 88px!important;
    gap:12px!important;
  }
}

/* ---------- TERMINARZE W POSZCZEGÓLNYCH LIGACH ---------- */
.psghub .psghub__match-main{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)!important;
  align-items:start!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
}
.psghub .psghub__match-main > .psghub__team{
  width:100%!important;
  min-width:0!important;
}
.psghub .psghub__team-club{
  display:grid!important;
  align-items:center!important;
  min-width:0!important;
  width:100%!important;
  gap:9px!important;
}
.psghub .psghub__match-main > .psghub__team:first-child .psghub__team-club{
  grid-template-columns:42px minmax(0,1fr)!important;
  text-align:left!important;
  justify-content:stretch!important;
}
.psghub .psghub__match-main > .psghub__team:last-child .psghub__team-club{
  grid-template-columns:minmax(0,1fr) 42px!important;
  text-align:right!important;
  justify-content:stretch!important;
}
.psghub .psghub__match-main > .psghub__team:last-child .psghub__team-club img{
  grid-column:2!important;grid-row:1!important
}
.psghub .psghub__match-main > .psghub__team:last-child .psghub__team-club strong{
  grid-column:1!important;grid-row:1!important
}
.psghub .psghub__team-club img{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  margin:0!important;
  object-fit:contain!important;
  justify-self:center!important;
}
.psghub .psghub__team-club strong{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  line-height:1.22!important;
}
.psghub .psghub__match-main > .psghub__score{
  justify-self:center!important;
  align-self:center!important;
  margin:0!important;
}

/* MVP pod drużyną dziedziczy dokładnie tę samą szerokość kolumny. */
.psghub .psghub__match-main > .psghub__team:first-child .psghub__team-mvp{
  justify-content:flex-start!important;
  text-align:left!important;
}
.psghub .psghub__match-main > .psghub__team:last-child .psghub__team-mvp{
  justify-content:flex-end!important;
  text-align:right!important;
}

/* ---------- TABLET / MOBILE: ten sam układ, tylko mniejsze stałe sloty ---------- */
@media(max-width:800px){
  .psghub--all-fixtures .psghub__fixture-row{
    grid-template-columns:62px minmax(0,1fr) 68px!important;
    gap:8px!important;
  }
  .psghub--all-fixtures .psghub__fixture-league{grid-column:1 / 4!important}
  .psghub--all-fixtures .psghub__fixture-time{grid-column:1!important;text-align:left!important}
  .psghub--all-fixtures .psghub__fixture-teams{grid-column:2!important}
  .psghub--all-fixtures .psghub__fixture-link{grid-column:3!important}
  .psghub--all-fixtures .psghub__fixture-team--home{grid-template-columns:25px minmax(0,1fr)!important}
  .psghub--all-fixtures .psghub__fixture-team--away{grid-template-columns:minmax(0,1fr) 25px!important}
  .psghub--all-fixtures .psghub__fixture-team img{
    width:25px!important;height:25px!important;min-width:25px!important
  }
  .psghub--all-fixtures .psghub__fixture-team strong{font-size:10.5px!important}

  .psghub .psghub__match-main{
    grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)!important;
    gap:8px!important;
  }
  .psghub .psghub__match-main > .psghub__team:first-child .psghub__team-club{
    grid-template-columns:30px minmax(0,1fr)!important;
  }
  .psghub .psghub__match-main > .psghub__team:last-child .psghub__team-club{
    grid-template-columns:minmax(0,1fr) 30px!important;
  }
  .psghub .psghub__team-club img{
    width:30px!important;height:30px!important;min-width:30px!important
  }
  .psghub .psghub__team-club strong{font-size:10.5px!important}
}

@media(max-width:520px){
  .psghub--all-fixtures .psghub__fixture-row{
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:6px 8px!important;
  }
  .psghub--all-fixtures .psghub__fixture-league{grid-column:1 / 3!important}
  .psghub--all-fixtures .psghub__fixture-time{grid-column:1!important;grid-row:2!important}
  .psghub--all-fixtures .psghub__fixture-teams{
    grid-column:2!important;
    grid-row:2!important;
    grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr)!important;
    gap:5px!important;
  }
  .psghub--all-fixtures .psghub__fixture-link{
    grid-column:1 / 3!important;
    grid-row:3!important;
    text-align:right!important;
  }
  .psghub--all-fixtures .psghub__fixture-team--home{grid-template-columns:22px minmax(0,1fr)!important}
  .psghub--all-fixtures .psghub__fixture-team--away{grid-template-columns:minmax(0,1fr) 22px!important}
  .psghub--all-fixtures .psghub__fixture-team img{
    width:22px!important;height:22px!important;min-width:22px!important
  }
  .psghub--all-fixtures .psghub__fixture-team strong{
    font-size:10px!important;
    line-height:1.15!important;
  }

  .psghub .psghub__match-main{
    grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)!important;
    gap:6px!important;
  }
  .psghub .psghub__match-main > .psghub__team:first-child .psghub__team-club{
    grid-template-columns:24px minmax(0,1fr)!important;
  }
  .psghub .psghub__match-main > .psghub__team:last-child .psghub__team-club{
    grid-template-columns:minmax(0,1fr) 24px!important;
  }
  .psghub .psghub__team-club img{
    width:24px!important;height:24px!important;min-width:24px!important
  }
  .psghub .psghub__team-club strong{
    font-size:9.5px!important;
    line-height:1.15!important;
  }
  .psghub .psghub__match-main > .psghub__team:first-child .psghub__team-mvp,
  .psghub .psghub__match-main > .psghub__team:last-child .psghub__team-mvp{
    justify-content:center!important;
    text-align:center!important;
  }
}

@media(max-width:390px){
  .psghub--all-fixtures .psghub__fixture-teams{
    grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important;
  }
  .psghub--all-fixtures .psghub__fixture-team strong{font-size:9.3px!important}
  .psghub .psghub__team-club strong{font-size:9px!important}
}


/* =========================================================
   PSG League Hub 1.6.44 — wynik meczu zawsze w jednej linii
   np. 11:10 zamiast 11: / 10.
   Dotyczy wyników w Hubie na desktopie i mobile.
   ========================================================= */
.psghub .psghub__score{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:68px!important;
  width:auto!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  flex-wrap:nowrap!important;
  line-height:1!important;
}
@media(max-width:700px){
  .psghub .psghub__score{
    min-width:60px!important;
    padding-left:9px!important;
    padding-right:9px!important;
    font-size:14px!important;
  }
}


/* =========================================================
   PSG League Hub 1.6.45 — miejsce spotkania w globalnym terminarzu
   ========================================================= */

.psghub--all-fixtures .psghub__fixture-meta{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
  min-width:0!important;
  overflow:visible!important;
}

.psghub--all-fixtures .psghub__fixture-venue{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:#46515d!important;
}

.psghub--all-fixtures .psghub__fixture-venue-icon{
  flex:0 0 auto!important;
  font-size:12px!important;
  line-height:1!important;
}

.psghub--all-fixtures .psghub__fixture-venue-text{
  display:block!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

.psghub--all-fixtures .psghub__fixture-round{
  font-size:11px!important;
  font-weight:700!important;
  color:#7a8590!important;
}

/* Mobile: meta nie może być już ukryte. Miejsce spotkania dostaje
   osobny pełny wiersz pod drużynami, a link Szczegóły zostaje niżej. */
@media(max-width:520px){
  .psghub--all-fixtures .psghub__fixture-meta{
    display:flex!important;
    grid-column:1 / 3!important;
    grid-row:3!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:6px 10px!important;
    width:100%!important;
    margin-top:1px!important;
    padding-left:0!important;
  }

  .psghub--all-fixtures .psghub__fixture-venue{
    font-size:10.5px!important;
    line-height:1.2!important;
    font-weight:800!important;
  }

  .psghub--all-fixtures .psghub__fixture-venue-icon{
    font-size:10px!important;
  }

  .psghub--all-fixtures .psghub__fixture-round{
    font-size:9.5px!important;
  }

  .psghub--all-fixtures .psghub__fixture-link{
    grid-column:1 / 3!important;
    grid-row:4!important;
    justify-self:end!important;
    margin-top:0!important;
  }
}

@media(max-width:390px){
  .psghub--all-fixtures .psghub__fixture-venue{
    font-size:10px!important;
  }
}


/* =========================================================
   PSG League Hub 1.6.46 — miejsce spotkania także w terminarzach lig
   ========================================================= */
.psghub__fixture-venue--league{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  margin-top:5px!important;
  min-width:0!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:#46515d!important;
}

.psghub__fixture-venue--league .psghub__fixture-venue-icon{
  flex:0 0 auto!important;
  font-size:12px!important;
  line-height:1!important;
}

.psghub__fixture-venue--league .psghub__fixture-venue-text{
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
}

@media(max-width:520px){
  .psghub__fixture-venue--league{
    width:100%!important;
    margin-top:4px!important;
    font-size:10.5px!important;
  }
  .psghub__fixture-venue--league .psghub__fixture-venue-icon{
    font-size:10px!important;
  }
}


/* PSG League Hub 1.6.47 — miejsce spotkania także w terminarzu konkretnej ligi */
.psghub__match-venue{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  margin:8px 12px 0!important;
  min-width:0!important;
  color:#59636e!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-align:center!important;
}
.psghub__match-venue-icon{
  flex:0 0 auto!important;
  font-size:12px!important;
  line-height:1!important;
}
.psghub__match-venue-text{
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media(max-width:520px){
  .psghub__match-venue{
    margin:7px 8px 0!important;
    font-size:10.5px!important;
  }
  .psghub__match-venue-icon{
    font-size:10px!important;
  }
}


/* =========================================================
   PSG League Hub 1.6.48 — widoczne miejsce w Przeglądzie i Terminarzu
   ========================================================= */

.psghub__overview-grid .psghub__match-venue,
.psghub__match-list .psghub__match-venue{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:4px!important;
  width:auto!important;
  max-width:100%!important;
  min-height:20px!important;
  margin:7px 10px 2px!important;
  padding:0!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
  color:#56616d!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:750!important;
  text-align:center!important;
}

.psghub__match-venue-label{
  display:inline!important;
  font-weight:900!important;
  color:#303a44!important;
}

.psghub__match-venue-text{
  display:inline!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

@media(max-width:782px){
  .psghub__overview-grid .psghub__match-venue,
  .psghub__match-list .psghub__match-venue{
    margin:6px 6px 1px!important;
    font-size:10px!important;
  }
}

/* =========================================================
   PSG League Hub 1.6.49 — ujednolicone rankingi statystyk
   Wszystkie: LP. | ZAWODNIK | KLUB | WARTOŚĆ
   Korzystają z tej samej stabilnej siatki co Kanadyjka.
   ========================================================= */
.psghub__uniform-stat-table .data-points,
.psghub__uniform-stat-table .data-points strong{
  font-weight:800!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
}
@media(max-width:700px){
  .psghub__uniform-stat-table th.data-points{
    font-size:9px!important;
    letter-spacing:-.1px!important;
    white-space:nowrap!important;
  }
}

/* Walkower: wynik oraz oznaczenie WO zawsze jedno pod drugim. */
.psghub .psghub__score.psghub__score--walkover{
  flex-direction:column!important;
  gap:2px!important;
  padding-top:6px!important;
  padding-bottom:6px!important;
}
.psghub .psghub__score.psghub__score--walkover small{
  display:block!important;
  color:#ffd45c!important;
  font-size:9px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:.08em!important;
}
/* 1.6.54: balanced desktop typography; keep mobile unchanged. */
@media (min-width: 1024px) {
  .psghub .psghub__stat-panel table.sp-data-table tbody td,
  .psghub .psghub__stat-panel table.sp-data-table tbody td a {
    font-size:12px!important;
    font-weight:500!important;
    line-height:1.4!important;
  }
  .psghub .psghub__stat-panel table.sp-data-table tbody td.data-name,
  .psghub .psghub__stat-panel table.sp-data-table tbody td.data-name a,
  .psghub .psghub__stat-panel table.sp-data-table tbody td.data-points,
  .psghub .psghub__stat-panel table.sp-data-table tbody td.data-points strong {
    font-size:12px!important;
    font-weight:600!important;
  }
  .psghub .psghub__stat-panel table.sp-data-table thead th {
    font-size:9px!important;
    font-weight:700!important;
  }
  .psghub .psghub__team-mvp .psg-mvp-pill .psg-mvp-link,
  .psghub .psghub__team-mvp .psg-mvp-pill:not(:has(.psg-mvp-photo)) .psg-mvp-link {
    font-size:12px!important;
    font-weight:600!important;
    line-height:1.35!important;
    white-space:normal!important;
  }
  .psghub .psghub__team-mvp > span {
    font-size:9px!important;
    font-weight:700!important;
  }
  .psghub .psghub__stat-panel table.sp-data-table tbody td:first-child {
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    padding-left:3px!important;
    padding-right:3px!important;
    font-size:10px!important;
  }
}
