/* Nový web GPM — tablet a telefon: úvod a liga (app-league.js). Společný základ (hlavička, nabídka, šířka stránky,
   obecné mřížky) je v css-mobile.css; tady je jen doladění těchto stránek. Hranice jsou stejné jako v základu:
   ≤ 1340 plynulá šířka · ≤ 1180 tablet na šířku · ≤ 900 tablet na výšku · ≤ 640 telefon.
   Stránky téhle skupiny mají na obalu třídu .lgw, takže se pravidla nepletou do stránek ostatních skupin. */

/* ═════════ užší než návrh: úvod se zmenšuje plynule ═════════ */
@media (max-width: 1340px) {
  /* nadpis „BATTLEFIELD.“ je při 66 px široký 605 px — velikost i šířka panelů jdou dolů spolu s oknem, aby se nepřekryly */
  .hero.duo { grid-template-columns: minmax(0, 1fr) min(628px, 46vw); gap: 32px; }
  .hero.duo .hd { font-size: clamp(40px, 5.7vw - 10px, 66px); }
  .panels.duo .pn .f span, .panels.duo .pn .f b { max-width: 100%; }
}

/* ═════════ tablet na šířku: rozložení z počítače, jen utažené ═════════ */
@media (max-width: 1180px) {
  /* úvod */
  .hero.duo { min-height: 0; padding-top: 44px; padding-bottom: 16px; }
  .hero .lead { margin-top: 24px; }
  .facts { gap: 34px; margin-top: 44px; }
  .facts .num { font-size: 32px; }
  .panels.duo { height: 580px; gap: 14px; }
  .panels.duo .pn { padding: 30px 14px 26px; }
  .panels.duo .pn::before, .panels.duo .pn .ln { width: 120px; }
  .panels.duo .pn .logo { height: 184px; margin-top: 60px; }
  .panels.duo .pn .f { margin-top: 44px; font-size: 11.5px; letter-spacing: .1em; }
  .home2 { padding-top: 34px; }
  .hpug th, .hpug td { padding-left: 6px; padding-right: 6px; }
  .hpug .who .nm { max-width: 170px; }

  /* nadpis stránky se neláme kvůli štítkům vpravo — ty se radši přesunou pod něj */
  .lgw .sec { flex-wrap: wrap; row-gap: 12px; }
  .lgw .sec > div:first-child { flex: none; max-width: 100%; }
  .lgw .sec > img + h2 { flex: 1 1 0; min-width: 0; }      /* znak divize a nadpis zůstanou vedle sebe */

  /* záhlaví sloupců, podle kterých se řadí, štítky a odkazy v kartách: na dotyku dost velké na prst (aspoň 36 px) */
  .lgw .t th.srt { padding-top: 0; padding-bottom: 0; }
  .lgw .t th.srt a { display: block; padding: 13px 0; }
  .lgw .chip { height: 36px; }
  .stand h3 .more { display: inline-flex; align-items: center; min-height: 36px; }
  .lgw .showall { padding: 15px 0 8px; }
  .podc .pnm { margin-top: 8px; margin-bottom: -6px; padding: 6px 0; }

  /* přehled ligy */
  .lhero { grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 28px; }

  /* tabulka: dvě menší tabulky vedle sebe se musí vejít bez posouvání */
  .stand:not(.full) { padding-left: 16px; padding-right: 16px; }
  .stand:not(.full) .t th, .stand:not(.full) .t td { padding-left: 5px; padding-right: 5px; }
  .stand:not(.full) .who .nm { max-width: 142px; }
  .stand:not(.full) .tmc { gap: 7px; }
  .stand:not(.full) .pill.dis { padding: 0 5px; letter-spacing: .03em; }

  /* týmy: čtyři vedle sebe jako na počítači (základ by z nich udělal dva široké sloupce) */
  .tgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .tgrid .tc { padding: 16px 14px 14px; }
  .tgrid .tc .row { gap: 10px; }
  .tgrid .tc .tl { --s: 54px !important; }
  .tgrid .tc .nm { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal; }      /* dlouhý název na dva řádky místo tří teček */

  /* statistiky */
  .pod3 { padding: 30px 36px 0; }
  .stt td.barc { width: 110px; min-width: 64px; }
  .stt .who .nm { max-width: 140px; }
  .stt .t td, .stt .t th { padding-left: 6px; padding-right: 6px; }

  /* play-off */
  .brc { padding: 26px 24px; }
  .br.lg { gap: 34px; }
  .br.lg .col:not(:last-child) .ser::after { right: -18px; width: 17px; }
  .ser .lbl { flex-wrap: wrap; row-gap: 4px; }
  .ser .lbl > span:first-child { white-space: normal; }
  .ser .lbl .sst { margin-left: auto; }

  /* přestupy: čtyři počty v jedné řadě jako na počítači */
  .trn { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  .trc .who .nm, .trc .who small { max-width: 190px; }
}

/* statistiky, tablet na šířku: filtry ve třech řádcích se zarovnanými popisky (dřív popisky plavaly uprostřed řádku) */
@media (min-width: 901px) and (max-width: 1180px) {
  .fcard { grid-template-columns: auto auto auto minmax(0, 1fr); gap: 12px 14px; align-items: center; }
  .frow { display: contents; }
  .frow > .lbl { width: auto; margin-left: 0 !important; }
  .frow:nth-child(1) > :nth-child(1) { grid-area: 1 / 1; }                 /* Players */
  .frow:nth-child(1) > :nth-child(2) { grid-area: 1 / 2; }
  .frow:nth-child(2) > :nth-child(1) { grid-area: 1 / 3; padding-left: 14px; }      /* Season */
  .frow:nth-child(2) > :nth-child(2) { grid-area: 1 / 4; }
  .frow:nth-child(1) > :nth-child(3) { grid-area: 2 / 1; }                 /* Category přes celou šířku */
  .frow:nth-child(1) > :nth-child(4) { grid-area: 2 / 2 / 3 / 5; }
  .frow:nth-child(2) > :nth-child(3) { grid-area: 3 / 1; }                 /* Show */
  .frow:nth-child(2) > :nth-child(4) { grid-area: 3 / 2; }
  .frow:nth-child(2) > :nth-child(5) { grid-area: 3 / 3; padding-left: 14px; }      /* Division */
  .frow:nth-child(2) > :nth-child(6) { grid-area: 3 / 4; }
}

/* ═════════ užší tablet (≤ 1000 px): tabulky, které se už vedle sebe nebo na šířku nevejdou ═════════ */
@media (max-width: 1000px) {
  /* tabulka: D2 a D3 pod sebou; sloupec ZONE odpadá — totéž říká barevný proužek na začátku řádku a vysvětlivky */
  .lgw > .g2.sp { grid-template-columns: minmax(0, 1fr); }
  .stand.full .t th:nth-child(9), .stand.full .t td:nth-child(9) { display: none; }
  .stand.full .who .nm { max-width: 240px; }
  .stand:not(.full) .who .nm { max-width: 320px; }
  .stand:not(.full) .t th, .stand:not(.full) .t td { padding-left: 8px; padding-right: 8px; }

  /* statistiky: tabulka má užší podobu (tým pod jménem hráče, bez pruhu) — tu skládá app-league.js */
  .stt .who .nm, .stt .who small { max-width: 210px; }
  .stt .who small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  /* přestupy: čtyři počty v jedné řadě, pohyby jako karty (tabulka by se sem nevešla) */
  .trn { gap: 12px; }
  .trn .cnt { padding: 16px 18px; }
  .trn .cnt .num { font-size: 32px; }
  .trc table.t { overflow: visible; }
  .trc table.t > tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: auto; min-width: 0; }
  .trc .t tr:first-child { display: none; }
  /* nahoře hráč, vpravo druh pohybu a datum; pod tím odkud → kam ve dvou stejných polovinách */
  .trc .t tr { display: grid; grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr); grid-template-areas: "player player type" "player player date" "from arr to";
    column-gap: 6px; align-items: center; padding: 12px 13px 12px; border: 1px solid var(--line2); border-radius: 12px; background: rgba(255,255,255,.025); }
  .trc .t td { display: block; min-width: 0; padding: 0; border: 0; text-align: left; white-space: normal; }
  .trc .t tr:hover td { background: none; }
  .trc .t td:nth-child(1) { grid-area: date; justify-self: end; width: auto !important; margin-top: 6px; color: var(--mut); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
  .trc .t td:nth-child(2) { grid-area: player; }
  .trc .t td:nth-child(3) { grid-area: from; }
  .trc .t td:nth-child(4) { grid-area: arr; width: auto; text-align: center; font-size: 14px; }
  .trc .t td:nth-child(5) { grid-area: to; }
  .trc .t td:nth-child(n+3):nth-child(-n+5) { margin-top: 11px; }
  .trc .t td:nth-child(6) { grid-area: type; justify-self: end; }
  .trc .t td:nth-child(3) .tl, .trc .t td:nth-child(5) .tl { --s: 26px !important; }
  .trc .t td:nth-child(3) .who, .trc .t td:nth-child(5) .who { gap: 8px; }
  .trc .t td[colspan] { grid-area: 1 / 1 / 2 / -1; justify-self: start; margin: 0; color: var(--mut); font-size: 14px; letter-spacing: 0; text-transform: none; white-space: normal; }
  .trc .t tr:has(td[colspan]) { grid-column: 1 / -1; }
  .trc .who { display: flex; }
  .trc .who .nm, .trc .who small { max-width: 100%; }
  .trc .t td:nth-child(2) .who .nm { font-size: 15.5px; }
  /* názvy týmů smějí na dva řádky, ať se nezkracují */
  .trc .t td:nth-child(3) .who .nm, .trc .t td:nth-child(5) .who .nm { min-width: 0; font-size: 13px; white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .trc .pager { margin-top: 16px; }
}

/* ═════════ tablet na výšku ═════════ */
@media (max-width: 900px) {
  /* úvod: text přes celou šířku, pod ním oba panely vedle sebe */
  .hero.duo { display: block; padding-top: 38px; padding-bottom: 0; }
  .hero.duo > section:first-child { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; }
  .hero.duo > section:first-child > * { grid-column: 1 / -1; }
  .hero.duo > section:first-child > .row { grid-column: 1; }
  .hero.duo > section:first-child > .facts { grid-column: 2; justify-self: end; margin-top: 34px; }
  .hero.duo .hd { font-size: clamp(44px, 8.6vw, 66px); }
  .panels.duo { height: 430px; margin-top: 40px; gap: 16px; }
  .panels.duo .pn .logo { height: 150px; margin-top: 36px; }
  .panels.duo .pn .f { margin-top: 30px; font-size: 12.5px; letter-spacing: .14em; }
  .home2 { padding-top: 34px; }

  /* karty zápasů: týmy pod sebou, skóre vpravo — celá jména se vejdou i do úzké karty */
  .mcl .mc { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "meta meta" "home sc" "away sc"; gap: 8px 14px; padding: 14px 16px; }
  .mcl .mc .meta { grid-area: meta; margin-bottom: 2px; }
  .mcl .mc .side { grid-area: home; }
  .mcl .mc .side.r { grid-area: away; flex-direction: row; text-align: left; }
  .mcl .mc .tl { --s: 30px !important; }
  /* skóre „2:1“ je jeden prvek: čísla se rozdělí do dvou řádků (dvojtečka se schová), každé ke svému týmu */
  .mcl .mc .sc { grid-area: sc; display: grid; grid-template-rows: 1fr auto 1fr; row-gap: 4px; align-self: stretch; align-items: center; justify-items: end; min-width: 14px; font-size: 20px; }
  .mcl .mc .sc i { display: block; height: 0; margin: 0; overflow: hidden; visibility: hidden; }      /* nesmí zmizet úplně: drží obě čísla od sebe */
  .g2.mcl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .stack.mcl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .g2.keep2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .keep2 .sec h2.hd { font-size: 19px !important; }
  .lgw .sec h2.hd[style*="font-size:30px"] { font-size: 25px !important; }      /* dlouhý nadpis („Playoffs · Semifinals · best of 3“) na jeden řádek */
  /* tři karty vedle sebe: popisek nejvýš na dva řádky a u všech stejně vysoký, ať týmy stojí v jedné rovině */
  .stack.mcl .mc .meta { align-items: flex-start; min-height: 28px; }
  .stack.mcl .mc .meta .lbl { letter-spacing: .06em; }
  .fbar .rchips { margin-left: 0; }

  /* přehled ligy */
  .lhero { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .nextf { flex-wrap: wrap; gap: 16px 20px; }
  .nextf .nfl { flex: 1 1 auto; }
  .nextf .nfv { order: 3; flex: 1 1 100%; }
  .ltop { padding: 20px 16px 14px; }
  .ltop .t td { padding-left: 6px; padding-right: 6px; }
  .ltop .who .nm, .ltop .who small { max-width: calc(50vw - 208px); }
  .ltop > h3 { flex-wrap: wrap; row-gap: 6px; }
  .ltop > h3 .n { width: 100%; margin-left: 0; }

  /* tabulka */
  .stand.full .t th, .stand.full .t td { padding-left: 8px; padding-right: 8px; }

  /* týmy: dva sloupce */
  .tgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .tgrid .tc { padding: 18px 18px 16px; }
  .tgrid .tc .row { gap: 14px; }

  /* statistiky: popisek vlevo, štítky vpravo — pět řádků pod sebou */
  .fcard { grid-template-columns: auto minmax(0, 1fr); gap: 12px 16px; align-items: center; }
  .frow { display: contents; }
  .frow > .lbl { width: auto; margin-left: 0 !important; }
  .pod3 { padding: 28px 22px 0; gap: 16px; }

  /* play-off */
  .brc { padding: 22px 16px; }
  .br.lg { gap: 22px; }
  .br.lg .col:not(:last-child) .ser::after { right: -12px; width: 11px; }
  .ser .lbl { padding-left: 12px; padding-right: 12px; }
  .ser .rw { padding-left: 12px; padding-right: 12px; gap: 9px; }
}
/* úzký tablet: fakta pod tlačítka (vedle sebe by se nevešla), celá tabulka o něco těsněji */
@media (max-width: 760px) {
  .hero.duo > section:first-child > .facts { grid-column: 1 / -1; justify-self: start; margin-top: 36px; }
  .stand.full .t th, .stand.full .t td { padding-left: 6px; padding-right: 6px; }
  .stand.full .who .nm { max-width: 150px; }
  .stand.full .fm { gap: 3px; }
  .stand.full .fm i { width: 18px; height: 18px; }
}

/* ═════════ telefon ═════════ */
@media (max-width: 640px) {
  /* nadpisy oddílů: menší než nadpis stránky, odkaz „→“ se drží vpravo na stejném řádku, dokud se vejde */
  .lgw .sec { gap: 4px 12px; align-items: center; margin-bottom: 12px; }
  .lgw .sec h2.hd, .lgw .sec h2.hd[style*="font-size:30px"] { flex: 1 1 auto; min-width: 0; font-size: clamp(17px, 5vw, 20px) !important; line-height: 1.08; }
  .lgw .sec > img + h2.hd { flex: 1 1 0; }
  .lgw .sec h2 .mu { display: inline-block; }      /* šedý dovětek („· best of 3“) se zalomí celý, tečka nezůstane viset na konci řádku */
  .lgw .sec .more, .lgw .sec .more:hover { display: inline-flex; align-items: center; min-height: 36px; margin-left: auto; font-size: 11px; letter-spacing: .1em; white-space: nowrap; }
  .lgw .sec > .lbl { order: 3; flex: 1 1 100%; margin-left: 0 !important; padding-bottom: 0; font-size: 11px; letter-spacing: .08em; }
  .lgw .sec > .row { margin-top: 4px; }
  .lgw .sec > img { height: 30px !important; }
  .lgw .sec > .row > .lbl { font-size: 11px; letter-spacing: .08em; }
  .lgw .t th { font-size: 11px; letter-spacing: .08em; }
  .lgw .pill { font-size: 11px; letter-spacing: .08em; }
  .lgw .pill.dis, .lgl .lgd .pill.dis { font-size: 11px; letter-spacing: .02em; }
  .lgl .lgd .pill { font-size: 11px; }
  .lgw .showall { padding: 16px 0 8px; }
  .lgw .card > h3 .n { font-size: 11.5px; line-height: 1.4; }

  /* řada štítků, která se posouvá prstem až k okrajům obrazovky (zvolený štítek posune do záběru app-league.js) */
  .lgw .rail { flex-wrap: nowrap; overflow-x: auto; margin-left: -16px; margin-right: -16px; padding: 0 16px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .lgw .rail::-webkit-scrollbar { display: none; }
  .lgw .rail .chip { flex: none; }
  .lgw .sec > .row > .rail { flex: 0 0 calc(100% + 32px); max-width: none; }
  .divc:not(.rail) { flex-wrap: nowrap; gap: 6px; }
  .divc:not(.rail) .chip { flex: 1 1 auto; justify-content: center; min-width: 0; padding: 0 6px; }
  .divc .chip { gap: 6px; }
  .divc .chip img { height: 16px; }

  /* vysvětlivky: každá na svém řádku, pojem vlevo, popis se láme vedle něj */
  .lgl .lgd > div > span { align-items: flex-start; line-height: 1.35; }
  .lgl .lgd > div > span > i { flex: none; line-height: 1.5; }
  .lgl .lgd > div > span:has(.pill), .lgl .lgd > div > span:has(.zbar) { flex: 1 1 100%; }

  /* ── úvod ── */
  .hero.duo { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 22px 16px 0; }
  .hero.duo > section:first-child { display: contents; }
  .hero.duo .kick { font-size: 11px; letter-spacing: .2em; line-height: 1.35; }
  .hero.duo .hd { margin-top: 14px !important; font-size: clamp(30px, 9.8vw, 46px) !important; }
  .hero .lead { margin-top: 14px; font-size: 15px; line-height: 1.5; }
  /* tlačítka pod textem odpadají: stejnou práci dělají oba panely hned pod nimi, a ty jsou na palec větší */
  .hero.duo > section:first-child > .row { display: none; }
  .panels.duo { order: 5; grid-template-columns: minmax(0, 1fr); gap: 10px; height: auto; margin-top: 20px; }
  .panels.duo .pn { display: grid; grid-template-columns: 78px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 16px; align-items: center; justify-items: start;
    min-height: 118px; padding: 16px 16px 16px 20px; border-radius: 12px; text-align: left; }
  .panels.duo .pn::before { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; height: auto; }
  .panels.duo .pn .ln { display: none; }
  .panels.duo .pn .logo { grid-area: 1 / 1 / 3 / 2; width: 78px; height: 82px; margin: 0; object-fit: contain; }
  .panels.duo .pn .f { grid-area: 1 / 2; align-self: end; width: 100%; min-width: 0; margin: 0; gap: 7px; font-size: 11px; letter-spacing: .08em; justify-items: start; }
  .panels.duo .pn .f b { font-size: 13px; letter-spacing: .1em; white-space: normal; line-height: 1.15; }
  .panels.duo .pn .cta { grid-area: 2 / 2; align-self: start; margin-top: 11px; gap: 8px; font-size: 11.5px; letter-spacing: .14em; }
  .hero.duo > section:first-child > .facts { order: 6; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; justify-self: stretch; margin-top: 22px; }
  .facts .num { font-size: 26px; }
  .facts .lbl { margin-top: 7px; font-size: 11px; letter-spacing: .08em; }
  .home2 { padding-top: 30px; }
  /* žebříček PUGs: bilance jde pod jméno, MMR zůstává velké vpravo */
  .home2 table.hpug { overflow: visible; }
  .home2 table.hpug > tbody { display: block; width: auto; min-width: 0; }
  .hpug tr { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; grid-template-areas: "rk who mmr" "rk rec mmr"; column-gap: 8px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--line2); }
  .hpug tr:first-child { display: none; }
  .hpug tr:last-child { border-bottom: 0; }
  .hpug td { display: block; min-width: 0; padding: 0 !important; border: 0; }
  .hpug td:nth-child(1) { grid-area: rk; width: auto; }
  .hpug td:nth-child(2) { grid-area: who; }
  .hpug td:nth-child(3) { grid-area: rec; padding: 3px 0 0 36px !important; color: var(--mut); font-size: 11.5px; text-align: left; }
  .hpug td:nth-child(4) { grid-area: mmr; padding-left: 8px !important; font-size: 17px; }
  .hpug td:nth-child(4)::after { content: "MMR"; margin-left: 5px; color: var(--mut); font: 500 11px var(--fm); letter-spacing: .06em; }
  .hpug .who { display: flex; }
  .hpug .who .nm { max-width: 100%; }

  /* ── zápasy ── */
  .g2.mcl, .stack.mcl, .g2.keep2 { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .mcl .mc .meta .lbl { font-size: 11px; letter-spacing: .08em; line-height: 1.35; }
  .mcl .mc .side { min-height: 32px; font-size: 14.5px; }
  .fbar { display: block; }
  .fbar .rchips { margin-top: 10px; }
  .lgw .note { align-items: flex-start; padding: 12px 14px; font-size: 13.5px; }

  /* ── přehled ligy ── */
  .lhero { gap: 18px; padding: 0; }
  .lhero .row { flex-wrap: nowrap; gap: 10px; margin-top: 20px !important; }
  .lhero .row .btn { flex: 1 1 0; min-width: 0; justify-content: center; padding: 0 8px; font-size: 11.5px; letter-spacing: .06em; }
  .lcnt { padding: 6px; }
  .lcnt a { padding: 12px 10px; }
  .lcnt .num { font-size: 28px !important; }
  .lcnt .lbl { margin-top: 8px; font-size: 11px; letter-spacing: .08em; }
  .nextf { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 14px; padding: 16px; }
  .nextf .nft { margin: 9px 0 6px; font-size: 18px; }
  .nextf .lbl { font-size: 11px; letter-spacing: .08em; }
  .nextf .nfv { order: 0; flex: none; gap: 10px; align-items: start; }
  .nextf .nfv i { align-self: center; font-size: 15px; }
  .nfs, .nfs.r { flex-direction: column; justify-content: flex-start; gap: 8px; text-align: center; }
  .nfs b { max-width: 100%; font-size: 14px; line-height: 1.2; white-space: normal; }
  .nextf .more { align-self: flex-end; }
  .champ { gap: 14px; padding: 16px; }
  .champ .cn { font-size: 21px; white-space: normal; }
  .champ .more { display: none; }
  .ltop { padding: 16px; }
  .ltop .who .nm, .ltop .who small { max-width: calc(100vw - 190px); }

  /* ── tabulka: řádek = dva řádky. Nahoře pořadí, tým a body; pod tím zápasy, výhry, prohry, skóre a forma. ── */
  .stand, .stand:not(.full) { padding: 14px 12px 6px; }
  .stand > h3 { margin: 0 2px 8px; }
  .stand table.t { overflow: visible; }
  .stand table.t > tbody { display: block; width: auto; min-width: 0; }
  .stand .t tr { display: grid; grid-template-columns: 24px 38px 28px 28px 46px 34px minmax(0, 1fr) auto; align-items: center; padding: 10px 2px 10px 10px; border-bottom: 1px solid var(--line2); }
  .stand .t tr:last-child { border-bottom: 0; }
  .lgw .stand .t th, .lgw .stand .t td { display: block; min-width: 0; padding: 0; border: 0; text-align: left; }      /* .lgw: silnější než odsazení buněk z tabletu */
  .stand .t tr:hover td { background: none; }
  /* záhlaví: jen #, TEAM a PTS (podle nich jde řadit dál) */
  .stand .t tr:first-child { padding-top: 0; padding-bottom: 0; border-bottom: 1px solid var(--line); }
  .lgw .stand .t th { display: none; line-height: 34px; }
  .lgw .stand .t th:nth-child(1), .lgw .stand .t th:nth-child(2), .lgw .stand .t th:last-child { display: block; }
  .stand .t th:nth-child(2) { grid-column: 2 / 8; }
  .stand .t th:last-child { grid-column: 8; text-align: right; }
  .stand .t th.srt a { margin: 0 -12px; padding: 0 12px; line-height: 36px; }
  /* 1. řádek */
  .stand .t tr.zr td.rk { grid-area: 1 / 1; width: auto; padding: 0; box-shadow: none; }
  .stand .t tr.zr-po, .stand .t tr.zr-up { box-shadow: inset 3px 0 0 var(--win); }
  .stand .t tr.zr-pro { box-shadow: inset 3px 0 0 var(--acc); }
  .stand .t tr.zr-rs { box-shadow: inset 3px 0 0 var(--gold); }
  .stand .t tr.zr-rel { box-shadow: inset 3px 0 0 var(--loss); }
  .stand .t td:nth-child(2) { grid-area: 1 / 2 / 2 / 8; }
  .stand .t td:last-child { grid-area: 1 / 8; padding-left: 10px; font-size: 19px !important; text-align: right; }
  .stand .tmc { display: flex; }
  .stand .who { min-height: 36px; }
  .stand .who .nm, .stand.full .who .nm, .stand:not(.full) .who .nm { min-width: 0; max-width: none; }
  /* 2. řádek */
  .stand .t td:nth-child(n+3):not(:last-child) { margin-top: 4px; font-size: 12px; }
  .stand .t td:nth-child(3) { grid-area: 2 / 2; }
  .stand .t td:nth-child(4) { grid-area: 2 / 3; }
  .stand .t td:nth-child(5) { grid-area: 2 / 4; }
  .stand .t td:nth-child(6) { grid-area: 2 / 5; }
  .stand .t td:nth-child(7) { grid-area: 2 / 6; }
  .stand .t td:nth-child(3)::after { content: "GP"; }
  .stand .t td:nth-child(4)::after { content: "W"; }
  .stand .t td:nth-child(5)::after { content: "L"; }
  .stand .t td:nth-child(3)::after, .stand .t td:nth-child(4)::after, .stand .t td:nth-child(5)::after { margin-left: 3px; color: var(--mut); font-size: 11px; font-weight: 500; }
  .stand.full .t td:nth-child(8) { grid-area: 2 / 7 / 3 / 9; justify-self: end; }
  .stand.full .fm { gap: 2px; }
  .stand.full .fm i { width: 16px; height: 16px; border-radius: 4px; font-size: 11px; }
  .stand .t td[colspan] { grid-area: 1 / 1 / 2 / -1; padding: 8px 0; font-size: 13px !important; text-align: left; }

  /* ── týmy: jeden sloupec, řádek = logo, název, bilance a body ── */
  .lgw .tsec { gap: 2px 10px; margin-bottom: 10px; }
  .lgw .tsec > .more { margin-left: auto !important; }
  .tgrid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .tgrid .tc { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; gap: 5px 12px; align-items: center; padding: 12px 14px 12px 11px; border-top: 1px solid var(--line); border-left: 3px solid var(--c); }
  .tgrid .tc .row, .tgrid .tc .st { display: contents; }
  .tgrid .tc .row > .tl { grid-area: 1 / 1 / 3 / 2; margin: 0; --s: 50px !important; }
  .tgrid .tc .row > div { grid-area: 1 / 2 / 2 / 4; align-self: end; }
  .tgrid .tc .nm { font-size: 15.5px; }
  .tgrid .tc .row .lbl { margin-top: 4px !important; font-size: 11px; letter-spacing: .08em; }
  .tgrid .tc .pill.dis { margin-top: 6px; }
  .tgrid .tc .st > div { display: flex; align-items: baseline; gap: 6px; align-self: start; }
  .tgrid .tc .st > div:nth-child(1) { grid-area: 2 / 2; }
  .tgrid .tc .st > div:nth-child(2) { grid-area: 2 / 3; }
  .tgrid .tc .st > div:nth-child(3) { grid-area: 1 / 4 / 3 / 5; flex-direction: column-reverse; align-items: flex-end; align-self: center; gap: 4px; }
  .tgrid .tc .st .lbl { font-size: 11px; letter-spacing: .06em; }
  .tgrid .tc .st b { margin-top: 0; font-size: 13px; }
  .tgrid .tc .st b.hi { font: 900 24px/1 var(--fd); font-stretch: 125%; }

  /* ── statistiky ── */
  /* filtry: popisek nad svou skupinou štítků */
  .fcard { display: block; padding: 14px 14px 2px; margin-bottom: 14px; }
  .frow { display: block; }
  .frow > .lbl { display: block; margin: 0 0 7px !important; font-size: 11px; letter-spacing: .12em; }
  .frow > .chips { gap: 6px; margin-bottom: 13px; }
  .fcard .chip { padding: 0 11px; }
  /* stupně vítězů: tři řádky pod sebou (první největší), aby se vešla celá jména */
  .pod3 { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 0; border: 0; background: none; overflow: visible; }
  .podc { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "av nm val" "av tm val" "av sub val"; column-gap: 12px; align-items: center;
    padding: 12px 14px 12px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); text-align: left; }
  .podc.p1 { order: -1; padding-top: 14px; padding-bottom: 14px; border-color: color-mix(in srgb, var(--acc) 45%, transparent);
    background: linear-gradient(100deg, color-mix(in srgb, var(--acc) 20%, transparent), rgba(255,255,255,.03) 70%); }
  .podc .ring { grid-area: av; padding: 3px; }
  .podc .ring .av { --s: 50px !important; box-shadow: 0 0 0 3px #15151b; }
  .podc.p1 .ring .av { --s: 64px !important; }
  .podc .pnm { grid-area: nm; align-self: end; margin: -8px 0; padding: 8px 0; font-size: 17px; }      /* větší plocha na ťuknutí, rozložení se nemění */
  .podc.p1 .pnm { font-size: 20px; }
  .podc .ptm { grid-area: tm; justify-content: flex-start; margin-top: 4px; }
  .podc .ptm .who .nm { min-width: 0; }
  .podc .psub { grid-area: sub; align-self: start; margin-top: 6px; font-size: 11px; line-height: 1.4; letter-spacing: .02em; }
  .podc .pped { grid-area: val; position: static; height: auto !important; max-width: 118px; margin: 0; padding: 0; border: 0; border-radius: 0; overflow: visible; background: none; text-align: right; }
  .podc.p1 .pped { background: none; }
  .pped .num { font-size: 26px; }
  .podc.p1 .pped .num { font-size: 32px; }
  .pped .lbl { max-width: 92px; margin: 5px 0 0 auto; font-size: 11px; letter-spacing: .06em; }      /* „points per game“ se zalomí na dva řádky a nechá místo jménu */
  /* velká číslice místa se změní na malý odznak na profilovce */
  .pped .plc { left: 6px; top: 6px; right: auto; bottom: auto; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); background: #15151b;
    color: #fff; font: 800 11px/1 var(--fd); font-stretch: 112%; }
  .podc.p1 .pped .plc { border-color: transparent; background: var(--grad); color: var(--on); }
  .podc.none { min-height: 64px; }
  .podc.none .pped { grid-area: 1 / 1 / 4 / 4; max-width: none; text-align: left; padding-left: 34px; }
  /* tabulka: jméno hráče (s týmem pod ním) drží vlevo, čísla se pod ním posouvají */
  .stt.ph { padding: 14px 0 6px; background: #16151b; }
  .stt.ph > h3 { margin: 0 14px 10px; }
  .stt.ph > p { margin: 0 14px 10px !important; }
  .stt.ph .t th, .stt.ph .t td { padding-left: 7px; padding-right: 7px; }
  .stt.ph .t th.srt a { min-width: 22px; }
  .stt.ph .t tr > :first-child { position: sticky; left: 0; z-index: 2; box-sizing: border-box; width: 38px; min-width: 38px; max-width: 38px; padding-left: 14px; padding-right: 0; }
  .stt.ph .t tr > :nth-child(2) { position: sticky; left: 38px; z-index: 2; padding-left: 4px; padding-right: 10px; box-shadow: 8px 0 10px -8px rgba(0,0,0,.7); }
  .stt.ph .t tr > :first-child, .stt.ph .t tr > :nth-child(2) { background: #16151b; }
  .stt.ph .t tr.me > :first-child, .stt.ph .t tr.me > :nth-child(2) { background: linear-gradient(color-mix(in srgb, var(--acc) 13%, transparent), color-mix(in srgb, var(--acc) 13%, transparent)), #16151b; }
  .stt.ph .who { gap: 8px; }
  .stt.ph .who .nm { max-width: 31vw; font-size: 14px; }
  .stt.ph .who small { max-width: 31vw; margin-top: 2px; font-size: 11px; }
  .stt.ph .t td.hi { font-size: 14px; }
  .stt.ph .t tr > :last-child { padding-right: 14px; }
  .stt.ph .showall { margin: 0 14px; }

  /* ── play-off: kola pod sebou ── */
  .brc { padding: 14px 12px 14px; }
  .br.lg { grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: stretch; }
  .br.lg .col { gap: 10px; }
  .br.lg h4 { margin: 0 2px; text-align: left; font-size: 11.5px; letter-spacing: .16em; }
  .br.lg .col .ser::after { display: none !important; }
  .ser .lbl { padding: 9px 14px 5px; font-size: 11px; letter-spacing: .08em; }
  .ser .rw { min-height: 42px; padding: 6px 14px; gap: 11px; }
  .lgw .stack { gap: 10px; }

  /* ── přestupy ── */
  /* štítky v záhlaví odpadají: čtyři počty pod nadpisem jsou tytéž čtyři přepínače (zvolený je zvýrazněný) */
  .lgw #trchips { display: none; }
  .lgw .sec:has(#trchips) > .row { display: none; }
  .trn { gap: 6px; }
  .trn .cnt { padding: 12px 4px 10px; border-radius: 10px; text-align: center; }
  .trn .cnt .num { font-size: 22px; }
  .trn .cnt .lbl { margin-top: 7px; font-size: 11px; letter-spacing: 0; line-height: 1.25; }
  .trc { padding: 14px 12px 14px; }
  .trh { flex-direction: column; align-items: stretch; gap: 10px; margin: 0 2px 12px; }
  .trh h3 { flex: none; flex-wrap: wrap; row-gap: 5px; }
  .trh h3 .n { white-space: normal; }
  .fin { width: 100% !important; height: 42px; font-size: 16px; }      /* 16 px: iPhone jinak při psaní přiblíží celou stránku */
  .trc table.t > tbody { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .trc .pager { justify-content: center !important; gap: 10px 14px; text-align: center; }
  .trc .pager .lbl { flex: 1 1 100%; font-size: 11px; }
  .trc .pager .chip { height: 40px; padding: 0 14px; }
}
/* malý telefon (≤ 374 px): ještě o chlup těsněji */
@media (max-width: 374px) {
  .stand .t tr { grid-template-columns: 22px 36px 26px 26px 44px 30px minmax(0, 1fr) auto; padding-left: 8px; }
  .panels.duo .pn { grid-template-columns: 66px minmax(0, 1fr); column-gap: 14px; }
  .panels.duo .pn .logo { width: 66px; height: 72px; }
  .panels.duo .pn .f { font-size: 11px; letter-spacing: .04em; }
  .panels.duo .pn .f b { font-size: 12px; letter-spacing: .05em; }
  .trn .cnt .num { font-size: 20px; }
}

/* dotykové zařízení (i tablet): jméno hráče nebo týmu v řádku je odkaz — ať má na výšku aspoň 36 px */
@media (pointer: coarse), (max-width: 640px) {
  .lgw a.who { min-height: 36px; }
}

/* ═════════ dotyk: nic nezůstane „najeté“ po ťuknutí ═════════ */
@media (hover: none) and (min-width: 641px) {
  .lgw .sec .more:hover { letter-spacing: .14em; }
}
@media (hover: none) {
  .panels.duo .pn:hover { translate: none; filter: none; box-shadow: none; }
  .panels.duo .pn:hover .logo { scale: none; }
  .panels.duo .pn:hover .cta i { translate: none; }
  .lcnt a:hover { background: none; translate: none; }
  .nextf:hover .more, .champ:hover .more, .stand h3 .more:hover { letter-spacing: .14em; }
  .podc .ring:hover { scale: none; box-shadow: none; }
  .podc .pnm:hover { color: #fff; }
  a.ser:hover { translate: none; border-color: var(--line); background: var(--card); box-shadow: none; }
  a.ser.up:hover { border-color: color-mix(in srgb, var(--acc) 50%, transparent); }
  a.ser.gf:hover { border-color: rgba(242,212,104,.45); background: linear-gradient(180deg, rgba(242,212,104,.07), var(--card)); }
  a.ser.live:hover { border-color: rgba(255,80,95,.5); }
  a.ser:hover .tl, a.rw:hover .tl { transform: none; }
  .ser a.rw:hover { color: inherit; }
  /* místo najetí krátká odezva na stisk */
  .panels.duo .pn:active { filter: brightness(1.12); }
  a.ser:active, .lcnt a:active { background: rgba(255,255,255,.06); }
}

/* Teams od Season 3 (Frost): na tabletu tři sloupce, na telefonu dva a menší loga */
@media (max-width: 1000px) {
  .tpg { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tphero .hd { font-size: 70px; }
}
@media (max-width: 640px) {
  .tphero .hd { font-size: 46px; }
  .tphero .tpk { margin-top: 12px; font-size: 15px; }
  .tph { margin-top: 48px; gap: 10px; }
  .tph img { height: 32px; }
  .tph b { font-size: 19px; }
  .tpg { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 8px; margin-top: 26px; }
  .tpc { padding: 18px 6px 14px; }
  .tpl { height: 88px; }
  .tpl .tl { --s: 84px !important; }
  .tpl .crown { top: -24px; width: 44px; }
  .tpc .nm { margin-top: 12px; font-size: 15.5px; }
}

/* Tabulka od Season 3: užší obrazovky schovají formu, pak góly a rozdíl */
@media (max-width: 1180px) {
  .srow { grid-template-columns: 40px 48px minmax(0, 1fr) 46px 70px 78px 58px 70px; }
  .srow .sf { display: none; }
}
@media (max-width: 760px) {
  .srow { grid-template-columns: 34px 42px minmax(0, 1fr) 56px 54px; column-gap: 10px; padding-right: 14px; min-height: 62px; }
  .srow > :nth-child(4), .srow > :nth-child(6), .srow > :nth-child(7) { display: none; }
  .srow .rk { font-size: 21px; }
  .srow .tl { --s: 40px !important; }
  .srow .sn > b { font-size: 15px; }
  .srow .spts { font-size: 24px; }
  .lsoon b { font-size: 19px; }
}
