/* ==========================================================================
   MAHL Stats – nový vzhľad verejných stránok (mahl-v2)
   Načítava sa len na stránkach vykreslených novou šablónou, spolu s
   mahl-tokens.css a namiesto mahl-public-responsive.css.
   Všetko je pod .mahl-v2, farby a písma len cez premenné z mahl-tokens.css.
   Komponenty stránok pribúdajú spolu s ich šablónami.

   Veľkosti: web používa menšiu mierku než plagátové predlohy (rozhodnutie
   9.33.0). Všetky veľkosti nadpisov a spoločných prvkov sú v premenných
   --mahl-v2-* nižšie — nové stránky ich používajú, nepíšu vlastné čísla.

   Šírka: žiadna tabuľka sa neposúva do strán. Pri užšej obrazovke sa
   stĺpce zlučujú alebo skrývajú (zlomy 1024 px a 680 px).
   ========================================================================== */

/* ---------- Mierka a základ stránky ---------- */
.mahl-v2 .mahl-v2-page {
  --mahl-skew: 14px;
  --mahl-v2-h1: clamp(38px, 6.2vw, 80px);
  --mahl-v2-h1-accent: clamp(21px, 2.9vw, 36px);
  --mahl-v2-h2: 26px;
  --mahl-v2-meta: 15px;
  --mahl-v2-tag-h: 30px;
  --mahl-v2-tag-font: 18px;
  --mahl-v2-tab-h: 40px;
  --mahl-v2-tab-font: 17px;
  --mahl-v2-pad: var(--mahl-gutter);
  background: var(--mahl-bg); color: var(--mahl-navy); font-family: var(--mahl-font-body); font-size: 16px; line-height: 1.55; overflow: hidden;
}
.mahl-v2 .mahl-v2-page *, .mahl-v2 .mahl-v2-page *::before, .mahl-v2 .mahl-v2-page *::after { box-sizing: border-box; border-radius: 0; }
.mahl-v2 .mahl-v2-page a { color: inherit; text-decoration: none; }
.mahl-v2 .mahl-v2-page a:focus-visible, .mahl-v2 .mahl-v2-page button:focus-visible, .mahl-v2 .mahl-v2-page select:focus-visible { outline: 3px solid var(--mahl-red); outline-offset: 2px; }
.mahl-v2 .mahl-v2-page h1, .mahl-v2 .mahl-v2-page h2 { color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-page p { margin: 0; }
.mahl-v2 .mahl-v2-page abbr { text-decoration: none; border: 0; cursor: help; }
.mahl-v2 .mahl-v2-wrap { max-width: var(--mahl-wrap); margin: 0 auto; padding: 0 var(--mahl-v2-pad); }
.mahl-v2 .mahl-v2-logo { display: block; flex: none; object-fit: contain; }
.mahl-v2 .mahl-v2-empty { padding: 40px 0; font-size: 20px; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-text { margin-top: 40px; max-width: 760px; color: var(--mahl-text-2); }
.mahl-v2 .mahl-v2-text p { margin: 0 0 1em; }
.mahl-v2 .mahl-v2-text a { color: var(--mahl-red); }

/* ---------- Spoločné prvky z mahl-tokens.css v mierke webu ---------- */
.mahl-v2 .mahl-v2-page .mahl-tag { height: var(--mahl-v2-tag-h); padding: 0 11px; font-size: var(--mahl-v2-tag-font); }
.mahl-v2 .mahl-v2-page .mahl-h3 { font-size: var(--mahl-v2-h2); padding-bottom: 8px; }
.mahl-v2 .mahl-v2-page .mahl-subnav a { min-height: var(--mahl-v2-tab-h); padding: 0 13px; font-size: var(--mahl-v2-tab-font); color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-page .mahl-subnav a:hover { color: var(--mahl-red); }
.mahl-v2 .mahl-v2-page .mahl-subnav a[aria-current], .mahl-v2 .mahl-v2-page .mahl-subnav a[aria-current]:hover { color: var(--mahl-white); }
.mahl-v2 .mahl-v2-page .mahl-btn { min-height: var(--mahl-v2-tab-h); padding: 0 22px; border: 0; cursor: pointer; font-family: var(--mahl-font-display); font-style: italic; font-weight: var(--mahl-fw-strong); font-size: var(--mahl-v2-tab-font); text-transform: uppercase; color: var(--mahl-white); }

/* ---------- Navigácia divízie ---------- */
.mahl-v2 .mahl-v2-nav { padding-top: 28px; }
.mahl-v2 .mahl-v2-icon { display: block; flex: none; }
.mahl-v2 .mahl-v2-menu__toggle { display: none; }
.mahl-v2 .mahl-v2-menu__list .mahl-v2-icon { display: none; }

/* ---------- Záhlavie stránky ---------- */
.mahl-v2 .mahl-v2-hero { position: relative; padding: 40px 0 72px; }
.mahl-v2 .mahl-v2-hero__inner { position: relative; display: flex; flex-direction: column; gap: 16px; }
.mahl-v2 .mahl-v2-hero__outline { position: absolute; right: -4px; top: -12px; font-size: 112px; writing-mode: vertical-rl; transform: rotate(180deg); pointer-events: none; user-select: none; }
.mahl-v2 .mahl-v2-hero__tags { position: relative; display: flex; gap: 6px; flex-wrap: wrap; }
.mahl-v2 .mahl-v2-hero__heading { position: relative; display: flex; align-items: flex-end; gap: 4px 16px; flex-wrap: wrap; }
.mahl-v2 .mahl-v2-hero__title { margin: 0; font-size: var(--mahl-v2-h1); font-weight: var(--mahl-fw-display); }
.mahl-v2 .mahl-v2-hero__accent { font-size: var(--mahl-v2-h1-accent); color: var(--mahl-red); padding-bottom: .12em; }

/* ---------- Filtre (divízia, fáza, sezóna) ---------- */
.mahl-v2 .mahl-v2-filters { position: relative; display: flex; justify-content: space-between; align-items: flex-end; gap: 12px 16px; flex-wrap: wrap; }
.mahl-v2 .mahl-v2-select { display: flex; align-items: center; gap: 8px; margin: 0; }
.mahl-v2 .mahl-v2-select label.mahl-field { font-size: inherit; color: inherit; }

/* ---------- Tabuľka poradia ----------
   Stĺpce: __full (GF, GA, forma) len na širokej obrazovke, __mid (Z, V, R, P, +/−, bonus)
   od 680 px, __sum (skóre GF:GA) namiesto GF a GA, __sub (riadok pod názvom tímu) na mobile. */
.mahl-v2 .mahl-v2-st { --mahl-v2-st-cols: 40px minmax(0, 1fr) repeat(7, 46px) 60px 118px; margin-top: 8px; }
.mahl-v2 .mahl-v2-st--bonus { --mahl-v2-st-cols: 40px minmax(0, 1fr) repeat(9, 46px) 60px 118px; }
.mahl-v2 .mahl-v2-st__head, .mahl-v2 .mahl-v2-st__row { display: grid; grid-template-columns: var(--mahl-v2-st-cols); gap: 6px; align-items: center; padding: 0 24px; }
.mahl-v2 .mahl-v2-st__head { font-size: var(--mahl-v2-meta); color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-st__row { position: relative; margin-top: 6px; padding-top: 10px; padding-bottom: 10px; }
.mahl-v2 .mahl-v2-st__row:hover { background: var(--mahl-row); }
.mahl-v2 .mahl-v2-st__c { text-align: center; font-weight: var(--mahl-fw-strong); font-size: 16px; }
.mahl-v2 .mahl-v2-st__head .mahl-v2-st__c { font-weight: var(--mahl-fw-meta); font-size: var(--mahl-v2-meta); }
.mahl-v2 .mahl-v2-st__sum, .mahl-v2 .mahl-v2-st__sub { display: none; }
.mahl-v2 .mahl-v2-st__pos { font-size: 28px; }
.mahl-v2 .mahl-v2-st__pos--1 { color: var(--mahl-gold); }
.mahl-v2 .mahl-v2-st__pos--2 { color: var(--mahl-silver); }
.mahl-v2 .mahl-v2-st__pos--3 { color: var(--mahl-bronze); }
.mahl-v2 .mahl-v2-st__team { display: flex; align-items: center; gap: 12px; min-width: 0; }
.mahl-v2 .mahl-v2-st__team .mahl-v2-logo { width: 34px; height: 34px; }
.mahl-v2 .mahl-v2-st__name { min-width: 0; }
.mahl-v2 .mahl-v2-st__name .mahl-display { display: block; font-size: 20px; line-height: 1.05; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* celý riadok je klikateľný cez odkaz na tím */
.mahl-v2 .mahl-v2-st__name a::after { content: ''; position: absolute; inset: 0; }
.mahl-v2 .mahl-v2-st__gd { font-weight: var(--mahl-fw-strong); }
.mahl-v2 .mahl-v2-st__gd--plus { color: var(--mahl-win); }
.mahl-v2 .mahl-v2-st__gd--minus { color: var(--mahl-red); }
.mahl-v2 .mahl-v2-st__gd--zero { color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-st__pts { font-size: 28px; font-weight: var(--mahl-fw-display); }
.mahl-v2 .mahl-v2-st__form { display: flex; gap: 3px; justify-content: center; }
.mahl-v2 .mahl-v2-form { width: 21px; height: 21px; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; line-height: 1; color: var(--mahl-white); background: var(--mahl-navy); }
.mahl-v2 .mahl-v2-form--d { background: var(--mahl-muted); }
.mahl-v2 .mahl-v2-form--l { background: var(--mahl-red); }
.mahl-v2 .mahl-v2-legend { padding: 10px 24px 0; font-size: 14px; color: var(--mahl-muted); }

/* ---------- Dva stĺpce pod tabuľkou ---------- */
.mahl-v2 .mahl-v2-cols { display: flex; flex-wrap: wrap; gap: 40px; margin-top: 40px; }
.mahl-v2 .mahl-v2-cols__main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.mahl-v2 .mahl-v2-cols__side { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.mahl-v2 .mahl-v2-note, .mahl-v2 .mahl-v2-key { font-size: 14px; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-key { display: flex; gap: 6px 16px; flex-wrap: wrap; }
.mahl-v2 .mahl-v2-key span { display: flex; align-items: center; gap: 6px; }
.mahl-v2 .mahl-v2-key i { width: 12px; height: 12px; display: block; }

/* ---------- Matica vzájomných zápasov ----------
   Šírka sa delí rovnomerne medzi tímy (--mahl-v2-mx-n), takže sa zmestí aj na mobil. */
.mahl-v2 .mahl-v2-mx { --mahl-v2-mx-cell: 58px; table-layout: fixed; border-collapse: collapse; width: 100%; max-width: calc((var(--mahl-v2-mx-n, 8) + 1) * var(--mahl-v2-mx-cell)); margin: 0; border: 0; background: none; }
.mahl-v2 .mahl-v2-mx th, .mahl-v2 .mahl-v2-mx td { border: 2px solid var(--mahl-bg); padding: 0; background: var(--mahl-white); }
.mahl-v2 .mahl-v2-mx th, .mahl-v2 .mahl-v2-mx thead td { background: none; padding: 3px; }
.mahl-v2 .mahl-v2-mx th .mahl-v2-logo { width: 100%; max-width: 34px; height: auto; aspect-ratio: 1; margin: 0 auto; }
.mahl-v2 .mahl-v2-mx td { height: clamp(28px, 8.4vw, 46px); text-align: center; vertical-align: middle; }
.mahl-v2 .mahl-v2-mx td.mahl-v2-mx__self { background: var(--mahl-outline); }
.mahl-v2 .mahl-v2-mx__res { display: flex; align-items: center; justify-content: center; min-height: clamp(28px, 8.4vw, 46px); font-family: var(--mahl-font-display); font-style: italic; font-weight: var(--mahl-fw-display); font-size: clamp(11px, 3.2vw, 19px); line-height: 1; }
.mahl-v2 .mahl-v2-mx__res + .mahl-v2-mx__res { border-top: 2px solid var(--mahl-bg); }
.mahl-v2 .mahl-v2-mx td.mahl-v2-mx__res--home, .mahl-v2 .mahl-v2-page a.mahl-v2-mx__res--home, .mahl-v2 .mahl-v2-key .mahl-v2-mx__res--home { background: var(--mahl-navy); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-mx td.mahl-v2-mx__res--away, .mahl-v2 .mahl-v2-page a.mahl-v2-mx__res--away, .mahl-v2 .mahl-v2-key .mahl-v2-mx__res--away { background: var(--mahl-red); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-mx td.mahl-v2-mx__res--draw, .mahl-v2 .mahl-v2-page a.mahl-v2-mx__res--draw, .mahl-v2 .mahl-v2-key .mahl-v2-mx__res--draw { background: var(--mahl-line); color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-mx td[class]:not(.mahl-v2-mx__self):hover, .mahl-v2 .mahl-v2-page .mahl-v2-mx a[class*="--"]:hover { background: var(--mahl-navy-2); color: var(--mahl-white); }

/* ---------- Pruhy (najviac gólov) ---------- */
.mahl-v2 .mahl-v2-bar__label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 18px; }
.mahl-v2 .mahl-v2-bar__label .mahl-num { font-size: 22px; }
.mahl-v2 .mahl-v2-bar__track { height: 8px; background: var(--mahl-white); margin-top: 3px; }
.mahl-v2 .mahl-v2-bar__fill { height: 100%; background: var(--mahl-navy); }
.mahl-v2 .mahl-v2-bar--top .mahl-v2-bar__fill { background: var(--mahl-red); }

/* ---------- Do 1100 px: bez obrysového nápisu ---------- */
@media (max-width: 1100px) {
  .mahl-v2 .mahl-v2-hero__outline { display: none; }
}

/* ---------- Do 1023 px: GF a GA sa zlúčia do skóre, forma sa skryje ---------- */
@media (max-width: 1023px) {
  .mahl-v2 .mahl-v2-st { --mahl-v2-st-cols: 34px minmax(0, 1fr) repeat(4, 34px) 56px 44px 50px; }
  .mahl-v2 .mahl-v2-st--bonus { --mahl-v2-st-cols: 34px minmax(0, 1fr) repeat(4, 30px) 52px 40px repeat(2, 44px) 50px; }
  .mahl-v2 .mahl-v2-st__head, .mahl-v2 .mahl-v2-st__row { padding: 0 18px; gap: 4px; }
  .mahl-v2 .mahl-v2-st__full { display: none; }
  .mahl-v2 .mahl-v2-st__sum { display: block; }
  .mahl-v2 .mahl-v2-st__pos { font-size: 24px; }
  .mahl-v2 .mahl-v2-st__pts { font-size: 24px; }
  .mahl-v2 .mahl-v2-st__name .mahl-display { font-size: 18px; }
  .mahl-v2 .mahl-v2-legend { padding: 10px 18px 0; }
}

/* ---------- Do 679 px: mobil (podľa reference/Mobile.dc.html) ---------- */
@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-page { --mahl-skew: 8px; --mahl-v2-h2: 23px; --mahl-v2-meta: 13px; --mahl-v2-tag-h: 26px; --mahl-v2-tag-font: 16px; --mahl-v2-tab-font: 15px; --mahl-v2-pad: var(--mahl-gutter); }
  .mahl-v2 .mahl-v2-page .mahl-subnav a { padding: 0 10px; }
  .mahl-v2 .mahl-v2-nav { padding-top: 12px; }
  /* navigácia ako rozbaľovacie menu s ikonami */
  .mahl-v2 .mahl-v2-page .mahl-v2-menu__toggle { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 46px; padding: 0 12px; border: 0; background: var(--mahl-navy); color: var(--mahl-white); cursor: pointer; text-align: left; }
  .mahl-v2 .mahl-v2-menu__current { font-size: 19px; line-height: 1; }
  .mahl-v2 .mahl-v2-menu__hint { margin-left: auto; font-size: 14px; color: var(--mahl-line); }
  .mahl-v2 .mahl-v2-menu.is-open .mahl-v2-menu__toggle > .mahl-v2-icon:last-child { transform: rotate(180deg); }
  .mahl-v2 .mahl-v2-menu__list { display: none; flex-direction: column; flex-wrap: nowrap; gap: 2px; margin-top: 2px; }
  .mahl-v2 .mahl-v2-menu.is-open .mahl-v2-menu__list { display: flex; }
  .mahl-v2 .mahl-v2-page .mahl-v2-menu__list a { gap: 10px; min-height: 46px; padding: 0 12px; font-size: 18px; }
  .mahl-v2 .mahl-v2-menu__list .mahl-v2-icon { display: block; color: var(--mahl-red); }
  .mahl-v2 .mahl-v2-menu__list a[aria-current] .mahl-v2-icon { color: var(--mahl-white); }
  .mahl-v2 .mahl-v2-hero { padding: 18px 0 40px; }
  .mahl-v2 .mahl-v2-hero__inner { gap: 12px; }
  .mahl-v2 .mahl-rule { width: 44px; }
  .mahl-v2 .mahl-v2-select { width: 100%; }
  .mahl-v2 .mahl-v2-select .mahl-field { flex: 1; min-width: 0; }

  .mahl-v2 .mahl-v2-st, .mahl-v2 .mahl-v2-st--bonus { --mahl-v2-st-cols: 26px minmax(0, 1fr) 44px 30px; margin-top: 2px; }
  .mahl-v2 .mahl-v2-st__head, .mahl-v2 .mahl-v2-st__row { padding: 0 12px; gap: 6px; }
  .mahl-v2 .mahl-v2-st__row { margin-top: 4px; padding-top: 6px; padding-bottom: 6px; }
  .mahl-v2 .mahl-v2-st__mid { display: none; }
  .mahl-v2 .mahl-v2-st__sub { display: block; font-size: 12px; line-height: 1.2; color: var(--mahl-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mahl-v2 .mahl-v2-st__c { font-size: 14px; }
  .mahl-v2 .mahl-v2-st__pos { font-size: 21px; }
  .mahl-v2 .mahl-v2-st__team { gap: 8px; }
  .mahl-v2 .mahl-v2-st__team .mahl-v2-logo { width: 28px; height: 28px; }
  .mahl-v2 .mahl-v2-st__name .mahl-display { font-size: 16px; }
  .mahl-v2 .mahl-v2-st__pts { font-size: 22px; text-align: right; }
  .mahl-v2 .mahl-v2-legend { padding: 8px 12px 0; font-size: 12px; }

  .mahl-v2 .mahl-v2-cols { gap: 28px; margin-top: 28px; }
  .mahl-v2 .mahl-v2-mx th, .mahl-v2 .mahl-v2-mx thead td { padding: 2px; }
  .mahl-v2 .mahl-v2-bar__label { font-size: 16px; }
  .mahl-v2 .mahl-v2-bar__label .mahl-num { font-size: 19px; }
}

/* ==========================================================================
   Prepínač divízií v navigácii
   ========================================================================== */
.mahl-v2 .mahl-v2-nav { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px 16px; flex-wrap: wrap; }
.mahl-v2 .mahl-v2-page .mahl-v2-nav__div a[aria-current], .mahl-v2 .mahl-v2-page .mahl-v2-nav__div a[aria-current]:hover { background: var(--mahl-red); }

/* ==========================================================================
   Formulár filtrov (sezóna, kolo, tím)
   ========================================================================== */
.mahl-v2 .mahl-v2-page .mahl-more { font-size: var(--mahl-v2-tab-font); color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-page .mahl-more:hover { color: var(--mahl-red); }
.mahl-v2 .mahl-v2-filterform { position: relative; display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin: 0; }
.mahl-v2 .mahl-v2-field { flex: 1 1 200px; min-width: 0; margin: 0; }
.mahl-v2 .mahl-v2-filterform { gap: 20px 16px; }
.mahl-v2 .mahl-v2-filterform__actions { display: flex; align-items: center; gap: 16px; }

/* ==========================================================================
   Pás kôl
   ========================================================================== */
.mahl-v2 .mahl-v2-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(62px, 1fr)); gap: 3px; }
.mahl-v2 .mahl-v2-page .mahl-v2-strip__item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 50px; background: var(--mahl-white); color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-strip__item .mahl-meta { font-size: 12px; line-height: 1; }
.mahl-v2 .mahl-v2-strip__item .mahl-display { font-size: 18px; }
.mahl-v2 .mahl-v2-page .mahl-v2-strip__item--past { background: var(--mahl-navy); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-page .mahl-v2-strip__item--current { background: var(--mahl-red); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-page .mahl-v2-strip__item:hover { background: var(--mahl-navy-2); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-page .mahl-v2-strip__item[aria-current] { box-shadow: inset 0 -5px 0 var(--mahl-red-light); }

/* ==========================================================================
   Hrací deň a pás zápasu
   ========================================================================== */
.mahl-v2 .mahl-v2-day { display: flex; flex-direction: column; gap: 5px; margin-top: 16px; scroll-margin-top: 80px; }
.mahl-v2 .mahl-v2-day__head { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 4px; }
.mahl-v2 .mahl-v2-day__meta { margin-left: 6px; font-size: var(--mahl-v2-meta); color: var(--mahl-muted); }

.mahl-v2 .mahl-v2-page .mahl-v2-game { display: grid; grid-template-columns: minmax(0, 1fr) 104px minmax(0, 1fr); gap: 16px; align-items: center; padding: 12px 32px; color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-page a.mahl-v2-game:hover { background: var(--mahl-row); }
.mahl-v2 .mahl-v2-game__team { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
.mahl-v2 .mahl-v2-game__team--away { flex-direction: row-reverse; }
.mahl-v2 .mahl-v2-game__team .mahl-v2-logo { width: 40px; height: 40px; }
.mahl-v2 .mahl-v2-game__name { display: flex; flex-direction: column; min-width: 0; }
.mahl-v2 .mahl-v2-game__team--home .mahl-v2-game__name { text-align: right; }
.mahl-v2 .mahl-v2-game__name .mahl-display { font-size: 21px; line-height: 1.02; overflow-wrap: anywhere; }
.mahl-v2 .mahl-v2-game__name .mahl-meta { font-size: 13px; line-height: 1.3; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-game__team.is-lost .mahl-display { color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-game__box { flex-direction: column; min-height: 46px; font-size: 25px; line-height: 1; }
.mahl-v2 .mahl-v2-game__box small { font-size: 11px; line-height: 1.2; color: var(--mahl-line); }


/* ==========================================================================
   Kalendár (mesiac)
   ========================================================================== */
.mahl-v2 .mahl-v2-cal__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.mahl-v2 .mahl-v2-cal__title { margin: 0; font-size: 30px; }
.mahl-v2 .mahl-v2-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.mahl-v2 .mahl-v2-cal__wd { text-align: center; font-size: var(--mahl-v2-meta); color: var(--mahl-muted); padding-bottom: 2px; }
.mahl-v2 .mahl-v2-page .mahl-v2-cal__day { display: flex; flex-direction: column; justify-content: space-between; min-height: 62px; padding: 6px 8px; background: var(--mahl-white); color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-cal__day .mahl-display { font-size: 20px; }
.mahl-v2 .mahl-v2-page .mahl-v2-cal__day.has-games { background: var(--mahl-navy); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-page a.mahl-v2-cal__day.has-games:hover { background: var(--mahl-navy-2); }
.mahl-v2 .mahl-v2-cal__day.is-today { box-shadow: inset 0 0 0 3px var(--mahl-red); }
.mahl-v2 .mahl-v2-cal__info { font-size: 13px; line-height: 1.2; }
.mahl-v2 .mahl-v2-cal__count { display: none; font-size: 12px; line-height: 1; }

@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-nav { flex-direction: column; align-items: stretch; gap: 4px; }
  .mahl-v2 .mahl-v2-nav__div { flex-wrap: nowrap; }
  .mahl-v2 .mahl-v2-page .mahl-v2-nav__div a { flex: 1; justify-content: center; min-height: 34px; font-size: 14px; }

  .mahl-v2 .mahl-v2-filterform { gap: 16px 12px; }
  .mahl-v2 .mahl-v2-field, .mahl-v2 .mahl-v2-filterform__actions { flex: 1 1 140px; }
  .mahl-v2 .mahl-v2-strip { display: none; }

  .mahl-v2 .mahl-v2-day__meta { margin-left: 0; flex-basis: 100%; }
  .mahl-v2 .mahl-v2-page .mahl-v2-game { grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr); gap: 6px; padding: 6px 12px; }
  .mahl-v2 .mahl-v2-game__team { gap: 6px; }
  .mahl-v2 .mahl-v2-game__team .mahl-v2-logo { width: 26px; height: 26px; }
  .mahl-v2 .mahl-v2-game__name .mahl-display { font-size: 14px; }
  .mahl-v2 .mahl-v2-game__name .mahl-meta { font-size: 11px; }
  .mahl-v2 .mahl-v2-game__box { min-height: 36px; font-size: 17px; clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%); }
  .mahl-v2 .mahl-v2-game__box small { font-size: 10px; }

  .mahl-v2 .mahl-v2-cal__title { font-size: 24px; }
  .mahl-v2 .mahl-v2-cal__grid { gap: 2px; }
  .mahl-v2 .mahl-v2-page .mahl-v2-cal__day { min-height: 44px; padding: 4px; align-items: center; }
  .mahl-v2 .mahl-v2-cal__day .mahl-display { font-size: 17px; }
  .mahl-v2 .mahl-v2-cal__info { display: none; }
  .mahl-v2 .mahl-v2-cal__count { display: block; }
}

/* ==========================================================================
   Prechod medzi kolami (‹ predchádzajúce · aktuálne · nasledujúce ›)
   Len na mobile, nad zápasmi (nahrádza pás kôl).
   ========================================================================== */
.mahl-v2 .mahl-v2-roundnav { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px; }
.mahl-v2 .mahl-v2-roundnav--top { display: none; }
.mahl-v2 .mahl-v2-page .mahl-v2-roundnav__link { display: flex; align-items: center; gap: 6px; min-height: var(--mahl-v2-tab-h); padding: 0 13px; background: var(--mahl-white); color: var(--mahl-navy); font-family: var(--mahl-font-display); font-style: italic; font-weight: var(--mahl-fw-display); font-size: var(--mahl-v2-tab-font); text-transform: uppercase; justify-self: start; }
.mahl-v2 .mahl-v2-page .mahl-v2-roundnav__link[rel="next"] { justify-self: end; }
.mahl-v2 .mahl-v2-page .mahl-v2-roundnav__link:hover { background: var(--mahl-navy); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-roundnav__current { font-size: 22px; color: var(--mahl-red); text-align: center; }

@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-roundnav--top { display: grid; }
  .mahl-v2 .mahl-v2-page .mahl-v2-roundnav__link { padding: 0 10px; }
  .mahl-v2 .mahl-v2-roundnav__current { font-size: 19px; }
}

/* ==========================================================================
   Detail zápasu
   ========================================================================== */
.mahl-v2 .mahl-v2-stack { gap: 36px; }
.mahl-v2 .mahl-v2-block { display: flex; flex-direction: column; gap: 6px; scroll-margin-top: 80px; }
.mahl-v2 .mahl-v2-block > .mahl-h3 { margin-bottom: 6px; }
.mahl-v2 .mahl-v2-page .mahl-v2-tag--muted { background: var(--mahl-muted); }
.mahl-v2 .mahl-v2-jersey { color: var(--mahl-red); font-weight: var(--mahl-fw-strong); }
.mahl-v2 .mahl-v2-chip { display: inline-flex; align-items: center; height: 20px; padding: 0 6px; background: var(--mahl-navy); color: var(--mahl-white); font-family: var(--mahl-font-meta); font-weight: var(--mahl-fw-strong); font-size: 13px; line-height: 1; white-space: nowrap; }
.mahl-v2 .mahl-v2-chip--muted { background: var(--mahl-muted); }
.mahl-v2 .mahl-v2-chip--red { background: var(--mahl-red); }

/* záhlavie so skóre */
.mahl-v2 .mahl-v2-gamehero { background: var(--mahl-white); padding: 24px 0 0; margin-top: 20px; }
.mahl-v2 .mahl-v2-gamehero__top { display: flex; justify-content: space-between; align-items: center; gap: 10px 16px; flex-wrap: wrap; }
.mahl-v2 .mahl-v2-gamehero__teams { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 28px; align-items: center; }
.mahl-v2 .mahl-v2-page .mahl-v2-gamehero__team { display: flex; align-items: center; gap: 18px; min-width: 0; color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-gamehero__team--home { flex-direction: row-reverse; text-align: right; }
.mahl-v2 .mahl-v2-gamehero__team .mahl-v2-logo { width: 96px; height: 96px; }
.mahl-v2 .mahl-v2-gamehero__name { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.mahl-v2 .mahl-v2-gamehero__name .mahl-display { font-size: clamp(20px, 3.3vw, 42px); overflow-wrap: anywhere; }
.mahl-v2 .mahl-v2-gamehero__name .mahl-meta { font-size: var(--mahl-v2-meta); color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-page a.mahl-v2-gamehero__team:hover .mahl-display { color: var(--mahl-red); }
.mahl-v2 .mahl-v2-gamehero__box { padding: 12px 40px; font-size: clamp(40px, 7.4vw, 80px); line-height: 1; clip-path: polygon(18px 0, 100% 0, calc(100% - 18px) 100%, 0 100%); }
.mahl-v2 .mahl-v2-gamehero__under { text-align: center; font-size: var(--mahl-v2-meta); color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-gamehero__forfeit { align-self: center; max-width: 760px; padding: 8px 14px; background: var(--mahl-bg); border-left: 4px solid var(--mahl-red); font-size: 15px; color: var(--mahl-text-2); }
.mahl-v2 .mahl-v2-gamehero__nav { justify-content: center; margin-top: 6px; }
.mahl-v2 .mahl-v2-page .mahl-v2-gamehero__nav a { background: var(--mahl-bg); }
.mahl-v2 .mahl-v2-page .mahl-v2-gamehero__nav a:hover { background: var(--mahl-navy); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-gamebody { padding: 0 0 64px; }

/* priebeh */
.mahl-v2 .mahl-v2-period { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.mahl-v2 .mahl-v2-period__head { display: flex; justify-content: space-between; align-items: center; padding: 7px 14px; background: var(--mahl-navy); color: var(--mahl-white); font-size: 19px; }
.mahl-v2 .mahl-v2-ev { display: grid; grid-template-columns: minmax(0, 1fr) 84px minmax(0, 1fr); gap: 12px; align-items: center; padding: 8px 14px; background: var(--mahl-white); font-size: 15px; line-height: 1.3; }
.mahl-v2 .mahl-v2-ev__mid { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.mahl-v2 .mahl-v2-ev__mid .mahl-meta { font-size: 13px; line-height: 1; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-ev__badge { min-width: 44px; height: 22px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; line-height: 1; color: var(--mahl-white); background: var(--mahl-navy); white-space: nowrap; }
.mahl-v2 .mahl-v2-ev--penalty .mahl-v2-ev__badge { background: var(--mahl-red); }
.mahl-v2 .mahl-v2-ev__text { grid-row: 1; min-width: 0; }
.mahl-v2 .mahl-v2-ev--home .mahl-v2-ev__text { grid-column: 1; text-align: right; }
.mahl-v2 .mahl-v2-ev--away .mahl-v2-ev__text { grid-column: 3; }
.mahl-v2 .mahl-v2-ev__text strong { font-weight: var(--mahl-fw-strong); }
.mahl-v2 .mahl-v2-ev__sub { color: var(--mahl-text-2); }
.mahl-v2 .mahl-v2-ev__note { display: block; font-size: 13px; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-ev__logo { display: none; }
.mahl-v2 .mahl-v2-page .mahl-v2-ev a:hover, .mahl-v2 .mahl-v2-page .mahl-v2-roster a:hover, .mahl-v2 .mahl-v2-page .mahl-v2-goalie a:hover { color: var(--mahl-red); }

/* zostavy */
.mahl-v2 .mahl-v2-rosters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.mahl-v2 .mahl-v2-roster__team { display: flex; align-items: center; gap: 10px; font-size: 21px; margin-bottom: 4px; }
.mahl-v2 .mahl-v2-roster__team .mahl-v2-logo { width: 30px; height: 30px; }
.mahl-v2 .mahl-v2-page .mahl-v2-roster__pos { margin: 10px 0 4px; padding: 0; font-size: var(--mahl-v2-meta); color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-page .mahl-v2-roster__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 3px; }
.mahl-v2 .mahl-v2-page .mahl-v2-roster__list li { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0; padding: 5px 10px; background: var(--mahl-white); font-size: 15px; font-weight: var(--mahl-fw-strong); }
.mahl-v2 .mahl-v2-roster__num { flex: none; width: 26px; font-size: 18px; color: var(--mahl-red); text-align: right; }

/* brankári */
.mahl-v2 .mahl-v2-goalie { display: flex; align-items: center; justify-content: space-between; gap: 8px 20px; flex-wrap: wrap; padding: 8px 14px; background: var(--mahl-white); }
.mahl-v2 .mahl-v2-goalie__who { display: flex; align-items: center; gap: 10px; min-width: 0; font-size: 19px; }
.mahl-v2 .mahl-v2-goalie__who .mahl-v2-logo { width: 30px; height: 30px; }
.mahl-v2 .mahl-v2-page .mahl-v2-goalie__stats { display: grid; grid-template-columns: repeat(5, minmax(58px, auto)); gap: 4px 14px; margin: 0; }
.mahl-v2 .mahl-v2-page .mahl-v2-goalie__stats div { display: flex; flex-direction: column; align-items: center; }
.mahl-v2 .mahl-v2-page .mahl-v2-goalie__stats dd { margin: 0; font-size: 20px; }
.mahl-v2 .mahl-v2-page .mahl-v2-goalie__stats dt { font-size: 12px; font-weight: var(--mahl-fw-meta); color: var(--mahl-muted); }

/* video */
.mahl-v2 .mahl-v2-video { position: relative; aspect-ratio: 16 / 9; background: var(--mahl-navy); margin-bottom: 8px; }
.mahl-v2 .mahl-v2-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* porovnanie, info */
.mahl-v2 .mahl-v2-cmp { margin-bottom: 8px; }
.mahl-v2 .mahl-v2-cmp__row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.mahl-v2 .mahl-v2-cmp__row .mahl-display { font-size: 24px; }
.mahl-v2 .mahl-v2-cmp__row .mahl-meta { font-size: var(--mahl-v2-meta); color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-cmp__bar { display: flex; gap: 3px; height: 8px; margin-top: 3px; }
.mahl-v2 .mahl-v2-cmp__bar span:first-child { background: var(--mahl-navy); }
.mahl-v2 .mahl-v2-cmp__bar span:last-child { background: var(--mahl-red); }
.mahl-v2 .mahl-v2-page .mahl-v2-info { margin: 0; }
.mahl-v2 .mahl-v2-page .mahl-v2-info div { display: flex; justify-content: space-between; gap: 14px; padding: 7px 0; border-bottom: 1px solid var(--mahl-line); }
.mahl-v2 .mahl-v2-page .mahl-v2-info dt { flex: none; font-size: var(--mahl-v2-meta); font-weight: var(--mahl-fw-meta); color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-page .mahl-v2-info dd { margin: 0; font-size: 15px; text-align: right; }

@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-stack { gap: 28px; }
  .mahl-v2 .mahl-v2-gamehero { padding-top: 16px; margin-top: 12px; }
  .mahl-v2 .mahl-v2-gamehero__teams { gap: 8px; }
  .mahl-v2 .mahl-v2-page .mahl-v2-gamehero__team, .mahl-v2 .mahl-v2-gamehero__team--home { flex-direction: column; text-align: center; gap: 6px; }
  .mahl-v2 .mahl-v2-gamehero__team .mahl-v2-logo { width: 60px; height: 60px; }
  .mahl-v2 .mahl-v2-gamehero__name .mahl-display { font-size: 17px; }
  .mahl-v2 .mahl-v2-gamehero__name .mahl-meta { font-size: 12px; }
  .mahl-v2 .mahl-v2-gamehero__box { padding: 8px 16px; font-size: 44px; clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%); }
  .mahl-v2 .mahl-v2-gamehero__nav { flex-wrap: nowrap; }
  .mahl-v2 .mahl-v2-page .mahl-v2-gamehero__nav a { flex: 1; justify-content: center; padding: 0 4px; }

  /* priebeh v jednom stĺpci: čas a značka, text, logo tímu */
  .mahl-v2 .mahl-v2-ev { grid-template-columns: 50px minmax(0, 1fr) 22px; gap: 8px; padding: 7px 10px; font-size: 14px; }
  .mahl-v2 .mahl-v2-ev__mid { grid-column: 1; }
  .mahl-v2 .mahl-v2-ev--home .mahl-v2-ev__text, .mahl-v2 .mahl-v2-ev--away .mahl-v2-ev__text { grid-column: 2; text-align: left; }
  .mahl-v2 .mahl-v2-ev__badge { min-width: 40px; font-size: 14px; }
  .mahl-v2 .mahl-v2-ev__logo { display: block; grid-column: 3; grid-row: 1; }
  .mahl-v2 .mahl-v2-ev__logo .mahl-v2-logo { width: 22px; height: 22px; }

  .mahl-v2 .mahl-v2-rosters { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .mahl-v2 .mahl-v2-goalie { padding: 8px 10px; }
  .mahl-v2 .mahl-v2-page .mahl-v2-goalie__stats { width: 100%; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
  .mahl-v2 .mahl-v2-page .mahl-v2-goalie__stats dd { font-size: 17px; }
  .mahl-v2 .mahl-v2-page .mahl-v2-goalie__stats dt { font-size: 10px; }
}
/* zástupný blok cookie lišty namiesto videa vyplní celý rám */
.mahl-v2 .mahl-v2-video { min-height: 210px; }
.mahl-v2 .mahl-v2-video .mahl-cc-embed { position: absolute; inset: 0; margin: 0; min-height: 0; }

/* hráč zápasu a ďalší dvaja */
.mahl-v2 .mahl-v2-page .mahl-v2-star { position: relative; display: flex; flex-direction: column; background: var(--mahl-white); color: var(--mahl-navy); overflow: hidden; }
/* fotky hráčov sú portréty na výšku: fotka je vľavo v pomere 3:4, meno a čísla vedľa nej — nič sa neoreže pri žiadnej šírke karty */
.mahl-v2 .mahl-v2-page .mahl-v2-star.has-photo { display: grid; grid-template-columns: clamp(104px, 40%, 170px) minmax(0, 1fr); grid-template-rows: 1fr auto; }
.mahl-v2 .mahl-v2-star__photo { grid-column: 1; grid-row: 1 / span 2; display: block; width: 100%; height: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: center top; }
.mahl-v2 .mahl-v2-star.has-photo .mahl-v2-star__name { grid-column: 2; grid-row: 1; align-self: center; }
.mahl-v2 .mahl-v2-page .mahl-v2-star.has-photo .mahl-v2-star__panel { grid-column: 2; grid-row: 2; justify-self: start; gap: 16px; padding-right: 38px; }
.mahl-v2 .mahl-v2-star.has-photo .mahl-v2-star__name .mahl-display { font-size: 26px; overflow-wrap: anywhere; }
.mahl-v2 .mahl-v2-star__name { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px 10px; }
.mahl-v2 .mahl-v2-star__name .mahl-first-name { font-size: 13px; line-height: 1.2; }
.mahl-v2 .mahl-v2-star__name .mahl-display { font-size: 30px; }
.mahl-v2 .mahl-v2-star__name .mahl-meta { font-size: var(--mahl-v2-meta); color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-page a.mahl-v2-star:hover .mahl-v2-star__name > .mahl-display { color: var(--mahl-red); }
.mahl-v2 .mahl-v2-page .mahl-v2-star__panel { align-self: flex-start; gap: 22px; padding: 10px 46px 10px 14px; clip-path: polygon(0 0, 100% 0, calc(100% - 24px) 100%, 0 100%); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-star__panel > span { display: flex; flex-direction: column; align-items: center; }
.mahl-v2 .mahl-v2-star__panel .mahl-display { font-size: 28px; }
.mahl-v2 .mahl-v2-star__panel .mahl-meta { font-size: 12px; line-height: 1.3; }
.mahl-v2 .mahl-v2-starrow { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 7px 14px; background: var(--mahl-white); }
.mahl-v2 .mahl-v2-starrow__pos { font-size: 22px; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-starrow__who { display: flex; flex-direction: column; min-width: 0; font-size: 15px; line-height: 1.25; }
.mahl-v2 .mahl-v2-starrow__who .mahl-meta { font-size: 13px; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-starrow__pts { font-size: 22px; white-space: nowrap; }
.mahl-v2 .mahl-v2-page .mahl-v2-starrow a:hover { color: var(--mahl-red); }

/* ==========================================================================
   Štatistiky: tabuľka hráčov a brankárov
   Stĺpce s číslami sa na mobile skryjú okrem zoradeného (.is-sorted);
   ostatné čísla sú v riadku pod menom (__sub).
   ========================================================================== */
.mahl-v2 .mahl-v2-red { color: var(--mahl-red); }
.mahl-v2 .mahl-v2-center { text-align: center; margin-top: 14px; }
.mahl-v2 .mahl-v2-blockhead { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px 16px; flex-wrap: wrap; margin-bottom: 6px; }
.mahl-v2 .mahl-v2-blockhead .mahl-h3 { flex: 1 1 auto; }

.mahl-v2 .mahl-v2-pl { --mahl-v2-pl-cols: 40px minmax(0, 1.4fr) minmax(0, 1fr) repeat(5, 50px); }
.mahl-v2 .mahl-v2-pl--goalies { --mahl-v2-pl-cols: 40px minmax(0, 1.4fr) minmax(0, 1fr) repeat(3, 46px) 64px; }
.mahl-v2 .mahl-v2-pl__head, .mahl-v2 .mahl-v2-pl__row { display: grid; grid-template-columns: var(--mahl-v2-pl-cols); gap: 6px; align-items: center; padding: 0 24px; }
.mahl-v2 .mahl-v2-pl__head { font-size: var(--mahl-v2-meta); color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-pl__row { position: relative; margin-top: 5px; padding-top: 6px; padding-bottom: 6px; }
.mahl-v2 .mahl-v2-pl__row:hover { background: var(--mahl-row); }
.mahl-v2 .mahl-v2-pl__name { min-width: 0; }
.mahl-v2 .mahl-v2-pl__name .mahl-display { display: block; font-size: 20px; line-height: 1.05; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mahl-v2 .mahl-v2-pl__name a::after { content: ''; position: absolute; inset: 0; }
.mahl-v2 .mahl-v2-pl__sub { display: none; }
.mahl-v2 .mahl-v2-pl__team { display: flex; align-items: center; gap: 8px; min-width: 0; }
.mahl-v2 .mahl-v2-pl__team .mahl-v2-logo { width: 28px; height: 28px; }
.mahl-v2 .mahl-v2-pl__team .mahl-meta { font-size: 15px; font-weight: var(--mahl-fw-strong); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mahl-v2 .mahl-v2-pl__c { text-align: center; font-weight: var(--mahl-fw-strong); font-size: 16px; }
.mahl-v2 .mahl-v2-pl__head .mahl-v2-pl__c { font-weight: var(--mahl-fw-meta); font-size: var(--mahl-v2-meta); }
.mahl-v2 .mahl-v2-pl__head .mahl-v2-pl__c.is-sorted { color: var(--mahl-red); font-weight: var(--mahl-fw-strong); }
.mahl-v2 .mahl-v2-pl__row .mahl-v2-pl__c.is-sorted { font-size: 26px; font-weight: var(--mahl-fw-display); }
.mahl-v2 .mahl-v2-starrow--plain { grid-template-columns: minmax(0, 1fr) auto; }

@media (max-width: 1023px) {
  /* tím len ako logo */
  .mahl-v2 .mahl-v2-pl { --mahl-v2-pl-cols: 34px minmax(0, 1fr) 30px repeat(5, 42px); }
  .mahl-v2 .mahl-v2-pl--goalies { --mahl-v2-pl-cols: 34px minmax(0, 1fr) 30px repeat(3, 40px) 60px; }
  .mahl-v2 .mahl-v2-pl__head, .mahl-v2 .mahl-v2-pl__row { padding: 0 18px; gap: 4px; }
  .mahl-v2 .mahl-v2-pl__team .mahl-meta { display: none; }
  .mahl-v2 .mahl-v2-pl__name .mahl-display { font-size: 18px; }
}

@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-pl, .mahl-v2 .mahl-v2-pl--goalies { --mahl-v2-pl-cols: 26px minmax(0, 1fr) 26px 46px; }
  .mahl-v2 .mahl-v2-pl__head, .mahl-v2 .mahl-v2-pl__row { padding: 0 12px; gap: 6px; }
  .mahl-v2 .mahl-v2-pl__c:not(.is-sorted) { display: none; }
  .mahl-v2 .mahl-v2-pl__sub { display: block; font-size: 12px; line-height: 1.2; color: var(--mahl-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mahl-v2 .mahl-v2-pl__name .mahl-display { font-size: 16px; }
  .mahl-v2 .mahl-v2-pl__team .mahl-v2-logo { width: 24px; height: 24px; }
  .mahl-v2 .mahl-v2-pl__row .mahl-v2-pl__c.is-sorted { font-size: 22px; text-align: right; }
  .mahl-v2 .mahl-v2-pl__head .mahl-v2-pl__c.is-sorted { text-align: right; }
  .mahl-v2 .mahl-v2-blockhead .mahl-subnav { width: 100%; }
}

/* poradie: číslo sa nikdy nezalomí; trojciferné je menšie, aby sa zmestilo do stĺpca */
.mahl-v2 .mahl-v2-st__pos { white-space: nowrap; }
.mahl-v2 .mahl-v2-st__pos.is-long { font-size: 19px; letter-spacing: -.02em; }
@media (max-width: 1023px) { .mahl-v2 .mahl-v2-st__pos.is-long { font-size: 16px; } }
@media (max-width: 679px) { .mahl-v2 .mahl-v2-st__pos.is-long { font-size: 13px; } }

/* ==========================================================================
   Brankári: tabuľka so siedmimi číselnými stĺpcami, značka pri mene
   ========================================================================== */
.mahl-v2 .mahl-v2-block--gap { margin-top: 28px; }
.mahl-v2 .mahl-v2-empty--small { padding: 14px 0; font-size: 17px; }
.mahl-v2 .mahl-v2-chip { font-style: normal; }
.mahl-v2 .mahl-v2-pl--n7 { --mahl-v2-pl-cols: 40px minmax(0, 1.4fr) minmax(0, 1fr) repeat(6, 46px) 62px; }
.mahl-v2 .mahl-v2-pl__name.has-chip { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; }
.mahl-v2 .mahl-v2-pl__name.has-chip > a, .mahl-v2 .mahl-v2-pl__name.has-chip > .mahl-display { min-width: 0; flex: 0 1 auto; }
.mahl-v2 .mahl-v2-pl__name.has-chip .mahl-v2-pl__sub { flex-basis: 100%; }
@media (max-width: 1023px) {
  .mahl-v2 .mahl-v2-pl--n7 { --mahl-v2-pl-cols: 34px minmax(0, 1fr) 30px repeat(6, 38px) 54px; }
}
@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-pl--n7 { --mahl-v2-pl-cols: 26px minmax(0, 1fr) 26px 50px; }
}

/* ==========================================================================
   Disciplinárka: rozhodnutia
   ========================================================================== */
.mahl-v2 .mahl-v2-text--intro { margin-top: 0; }
.mahl-v2 .mahl-v2-case { display: grid; grid-template-columns: 86px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 10px 16px; background: var(--mahl-white); }
.mahl-v2 .mahl-v2-case__date { font-size: var(--mahl-v2-meta); color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-case__body { grid-column: 2; min-width: 0; }
.mahl-v2 .mahl-v2-case > .mahl-v2-case__body:first-child { grid-column: 1 / span 2; }
.mahl-v2 .mahl-v2-case__who { display: flex; align-items: center; gap: 6px 8px; flex-wrap: wrap; }
.mahl-v2 .mahl-v2-case__who .mahl-v2-logo { width: 26px; height: 26px; }
.mahl-v2 .mahl-v2-case__who .mahl-display { font-size: 20px; }
.mahl-v2 .mahl-v2-case__who .mahl-meta { font-size: var(--mahl-v2-meta); color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-page .mahl-v2-case a:hover { color: var(--mahl-red); }
.mahl-v2 .mahl-v2-page .mahl-v2-case__text { overflow-wrap: anywhere; margin-top: 3px; font-size: 15px; line-height: 1.4; color: var(--mahl-text-2); }
.mahl-v2 .mahl-v2-case__badge { grid-column: 3; display: flex; flex-direction: column; align-items: center; padding: 6px 12px; background: var(--mahl-muted); color: var(--mahl-white); font-size: 17px; line-height: 1.1; white-space: nowrap; }
.mahl-v2 .mahl-v2-case__badge small { font-size: 12px; line-height: 1.2; }
.mahl-v2 .mahl-v2-case--active .mahl-v2-case__badge { background: var(--mahl-red); }
.mahl-v2 .mahl-v2-case--served .mahl-v2-case__badge { background: var(--mahl-navy); }
@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-case { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; padding: 8px 12px; }
  .mahl-v2 .mahl-v2-case__date { grid-column: 1 / span 2; }
  .mahl-v2 .mahl-v2-case__body, .mahl-v2 .mahl-v2-case > .mahl-v2-case__body:first-child { grid-column: 1; }
  .mahl-v2 .mahl-v2-case__badge { grid-column: 2; font-size: 15px; padding: 5px 9px; }
  .mahl-v2 .mahl-v2-case__who .mahl-display { font-size: 18px; }
}

/* ==========================================================================
   Hráči: karty. Fotky sú portréty na výšku — rám má vždy pomer 3:4.
   ========================================================================== */
.mahl-v2 .mahl-v2-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(156px, 1fr)); gap: 10px; }
.mahl-v2 .mahl-v2-page .mahl-v2-card { display: flex; flex-direction: column; min-width: 0; background: var(--mahl-white); color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-card__photo { position: relative; display: block; aspect-ratio: 3 / 4; background: var(--mahl-navy); overflow: hidden; }
.mahl-v2 .mahl-v2-card__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.mahl-v2 .mahl-v2-card__nophoto { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 64px; font-weight: var(--mahl-fw-display); -webkit-text-stroke-color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-card__chips { position: absolute; left: 0; top: 0; display: flex; gap: 2px; }
.mahl-v2 .mahl-v2-card__body { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px 10px; min-width: 0; flex: 1; }
.mahl-v2 .mahl-v2-card__body .mahl-first-name { font-size: 11px; line-height: 1.3; letter-spacing: .26em; }
.mahl-v2 .mahl-v2-card__last { font-size: 21px; line-height: 1; overflow-wrap: anywhere; }
.mahl-v2 .mahl-v2-page a.mahl-v2-card:hover .mahl-v2-card__last { color: var(--mahl-red); }
.mahl-v2 .mahl-v2-card__team { display: flex; align-items: center; gap: 5px; min-width: 0; margin-top: 2px; }
.mahl-v2 .mahl-v2-card__team .mahl-v2-logo { width: 18px; height: 18px; }
.mahl-v2 .mahl-v2-card__team .mahl-meta { font-size: 13px; color: var(--mahl-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mahl-v2 .mahl-v2-card__stats { display: flex; background: var(--mahl-navy); color: var(--mahl-white); padding: 5px 4px; }
.mahl-v2 .mahl-v2-card__stats > span { flex: 1; display: flex; flex-direction: column; align-items: center; }
.mahl-v2 .mahl-v2-card__stats .mahl-display { font-size: 19px; }
.mahl-v2 .mahl-v2-card__stats .mahl-meta { font-size: 11px; line-height: 1.2; color: var(--mahl-line); }
@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .mahl-v2 .mahl-v2-card__last { font-size: 18px; }
}

/* obrysový nápis je vždy v pozadí: všetok ostatný obsah záhlavia leží nad ním */
.mahl-v2 .mahl-v2-hero__outline { z-index: 0; }
.mahl-v2 .mahl-v2-hero__inner > :not(.mahl-v2-hero__outline) { position: relative; z-index: 1; }

/* ==========================================================================
   Tím
   ========================================================================== */
.mahl-v2 .mahl-v2-teamhero__top { display: flex; align-items: center; gap: 20px 32px; flex-wrap: wrap; }
.mahl-v2 .mahl-v2-teamhero__top > .mahl-v2-logo { width: 150px; height: 150px; }
.mahl-v2 .mahl-v2-teamhero__title { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.mahl-v2 .mahl-v2-teamhero__meta { font-size: 17px; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-page .mahl-v2-kpis { flex: 1 1 320px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; margin: 0; }
.mahl-v2 .mahl-v2-kpi { border-top: 4px solid var(--mahl-navy); padding-top: 8px; }
.mahl-v2 .mahl-v2-kpi--accent { border-top-color: var(--mahl-red); }
.mahl-v2 .mahl-v2-page .mahl-v2-kpi dd { margin: 0; font-size: 40px; white-space: nowrap; }
.mahl-v2 .mahl-v2-page .mahl-v2-kpi dt { font-size: var(--mahl-v2-meta); font-weight: var(--mahl-fw-meta); color: var(--mahl-muted); }

/* zápasy tímu */
.mahl-v2 .mahl-v2-page .mahl-v2-tg { display: grid; grid-template-columns: 52px 50px 34px minmax(0, 1fr) 78px 24px; gap: 12px; align-items: center; padding: 7px 14px; background: var(--mahl-white); color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-page a.mahl-v2-tg:hover { background: var(--mahl-row); }
.mahl-v2 .mahl-v2-tg__date { font-size: 16px; }
.mahl-v2 .mahl-v2-tg__where { font-size: 14px; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-tg .mahl-v2-logo { width: 34px; height: 34px; }
.mahl-v2 .mahl-v2-tg__opp { display: flex; flex-direction: column; min-width: 0; }
.mahl-v2 .mahl-v2-tg__opp .mahl-display { font-size: 20px; line-height: 1.05; overflow-wrap: anywhere; }
.mahl-v2 .mahl-v2-tg__opp .mahl-meta { font-size: 12px; line-height: 1.3; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-tg__box { text-align: center; padding: 5px 0; font-size: 22px; background: var(--mahl-bg); color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-tg.is-done .mahl-v2-tg__box { background: var(--mahl-navy); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-tg__res { display: flex; justify-content: center; }

/* lídri */
.mahl-v2 .mahl-v2-page .mahl-v2-leader { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 14px 18px; background: var(--mahl-white); color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-leader__who { display: flex; flex-direction: column; min-width: 0; }
.mahl-v2 .mahl-v2-leader__who .mahl-meta { font-size: 14px; font-weight: var(--mahl-fw-strong); color: var(--mahl-red); }
.mahl-v2 .mahl-v2-leader__who .mahl-display { font-size: 22px; overflow-wrap: anywhere; }
.mahl-v2 .mahl-v2-leader__val { font-size: 38px; }
.mahl-v2 .mahl-v2-page a.mahl-v2-leader:hover .mahl-v2-leader__who .mahl-display { color: var(--mahl-red); }

@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-teamhero__top { gap: 12px 14px; }
  .mahl-v2 .mahl-v2-teamhero__top > .mahl-v2-logo { width: 84px; height: 84px; }
  .mahl-v2 .mahl-v2-teamhero__title { flex: 1 1 180px; gap: 8px; }
  .mahl-v2 .mahl-v2-teamhero__meta { font-size: 14px; }
  .mahl-v2 .mahl-v2-page .mahl-v2-kpis { flex-basis: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .mahl-v2 .mahl-v2-page .mahl-v2-kpi dd { font-size: 22px; }
  .mahl-v2 .mahl-v2-page .mahl-v2-kpi dt { font-size: 10px; line-height: 1.2; }

  .mahl-v2 .mahl-v2-page .mahl-v2-tg { grid-template-columns: 40px 26px minmax(0, 1fr) 54px 22px; gap: 8px; padding: 6px 10px; }
  .mahl-v2 .mahl-v2-tg__where { display: none; }
  .mahl-v2 .mahl-v2-tg__date { font-size: 13px; }
  .mahl-v2 .mahl-v2-tg .mahl-v2-logo { width: 26px; height: 26px; }
  .mahl-v2 .mahl-v2-tg__opp .mahl-display { font-size: 16px; }
  .mahl-v2 .mahl-v2-tg__box { font-size: 17px; }
  .mahl-v2 .mahl-v2-leader__val { font-size: 30px; }
}

/* ==========================================================================
   Profil hráča
   ========================================================================== */
.mahl-v2 .mahl-v2-playerhero { padding: 28px 0 0; }
.mahl-v2 .mahl-v2-playerhero__inner { display: flex; flex-wrap: wrap; gap: 20px 32px; align-items: flex-end; }
.mahl-v2 .mahl-v2-playerhero__text { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 16px; padding-bottom: 32px; }
.mahl-v2 .mahl-v2-page .mahl-v2-playerhero__name { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.mahl-v2 .mahl-v2-playerhero__name .mahl-first-name { font-size: clamp(15px, 2vw, 22px); line-height: 1.2; }
.mahl-v2 .mahl-v2-playerhero__name .mahl-display { font-size: clamp(44px, 8vw, 96px); font-weight: var(--mahl-fw-display); overflow-wrap: anywhere; }
.mahl-v2 .mahl-v2-playerhero__name .mahl-v2-jersey { font-size: .74em; font-weight: var(--mahl-fw-display); }
.mahl-v2 .mahl-v2-playerhero__team { display: flex; align-items: center; gap: 14px; }
.mahl-v2 .mahl-v2-playerhero__team .mahl-v2-logo { width: 64px; height: 64px; }
.mahl-v2 .mahl-v2-playerhero__sep { width: 2px; height: 50px; background: var(--mahl-navy); }
.mahl-v2 .mahl-v2-playerhero__team > span:last-child { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mahl-v2 .mahl-v2-playerhero__team .mahl-display { font-size: 28px; }
.mahl-v2 .mahl-v2-page .mahl-v2-playerhero__team a:hover { color: var(--mahl-red); }
.mahl-v2 .mahl-v2-playerhero__team .mahl-meta { font-size: 16px; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-page .mahl-v2-playerhero__panel { align-self: flex-start; max-width: 100%; margin: 0; gap: 26px; padding: 14px 60px 14px 22px; border-bottom: 5px solid var(--mahl-red); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-page .mahl-v2-playerhero__panel div { display: flex; flex-direction: column; align-items: center; }
.mahl-v2 .mahl-v2-page .mahl-v2-playerhero__panel dd { margin: 0; font-size: 42px; white-space: nowrap; }
.mahl-v2 .mahl-v2-page .mahl-v2-playerhero__panel dt { font-size: 15px; font-weight: var(--mahl-fw-meta); line-height: 1.2; white-space: nowrap; }
/* fotka je portrét na výšku: vlastný pomer strán, nič sa neorezáva */
.mahl-v2 .mahl-v2-playerhero__photo { flex: 0 1 320px; min-width: 0; align-self: flex-end; }
.mahl-v2 .mahl-v2-playerhero__photo img { display: block; width: 100%; max-height: 440px; height: auto; object-fit: contain; object-position: center bottom; }
.mahl-v2 .mahl-v2-playerbody { background: var(--mahl-white); padding: 28px 0 64px; }
.mahl-v2 .mahl-v2-also { font-size: 16px; color: var(--mahl-muted); display: flex; gap: 6px 14px; flex-wrap: wrap; align-items: baseline; }

/* zápasy hráča a kariéra — riadky s číslami; na mobile ostane hlavné číslo, ostatné sú pod názvom */
.mahl-v2 .mahl-v2-log { --mahl-v2-log-cols: 50px minmax(0, 1fr) 96px repeat(var(--mahl-v2-log-n, 4), 46px); }
.mahl-v2 .mahl-v2-log--career { --mahl-v2-log-cols: 30px minmax(0, 1fr) repeat(var(--mahl-v2-log-n, 5), 46px); margin-top: 6px; }
.mahl-v2 .mahl-v2-log__head, .mahl-v2 .mahl-v2-log__row { display: grid; grid-template-columns: var(--mahl-v2-log-cols); gap: 8px; align-items: center; padding: 0 14px; }
.mahl-v2 .mahl-v2-log__head { font-size: var(--mahl-v2-meta); color: var(--mahl-muted); padding-bottom: 2px; }
.mahl-v2 .mahl-v2-log__row { margin-top: 3px; padding-top: 6px; padding-bottom: 6px; background: var(--mahl-bg); }
.mahl-v2 .mahl-v2-log__row.is-current { box-shadow: inset 4px 0 0 var(--mahl-red); }
.mahl-v2 .mahl-v2-log__row--total { background: var(--mahl-navy); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-log__row--total > .mahl-display { font-size: 19px; }
.mahl-v2 .mahl-v2-log__date { font-size: 15px; }
.mahl-v2 .mahl-v2-log__opp { display: flex; align-items: center; gap: 8px; min-width: 0; }
.mahl-v2 .mahl-v2-log__opp > span { display: flex; flex-direction: column; min-width: 0; }
.mahl-v2 .mahl-v2-log__opp .mahl-v2-logo, .mahl-v2 .mahl-v2-log .mahl-v2-logo { width: 26px; height: 26px; }
.mahl-v2 .mahl-v2-log__opp .mahl-display { font-size: 19px; line-height: 1.05; overflow-wrap: anywhere; }
.mahl-v2 .mahl-v2-page .mahl-v2-log a:hover { color: var(--mahl-red); }
.mahl-v2 .mahl-v2-log__note, .mahl-v2 .mahl-v2-log__sub { font-size: 12px; line-height: 1.3; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-log__sub { display: none; }
.mahl-v2 .mahl-v2-log__res { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.mahl-v2 .mahl-v2-log__head .mahl-v2-log__res { justify-content: center; }
.mahl-v2 .mahl-v2-log__box { min-width: 56px; padding: 4px 6px; text-align: center; font-size: 18px; background: var(--mahl-navy); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-log__c { text-align: center; font-weight: var(--mahl-fw-strong); font-size: 16px; }
.mahl-v2 .mahl-v2-log__head .mahl-v2-log__c { font-weight: var(--mahl-fw-meta); font-size: var(--mahl-v2-meta); }
.mahl-v2 .mahl-v2-log__head .mahl-v2-log__c.is-main { color: var(--mahl-red); font-weight: var(--mahl-fw-strong); }
.mahl-v2 .mahl-v2-log__row .mahl-v2-log__c.is-main { font-size: 24px; font-weight: var(--mahl-fw-display); }
.mahl-v2 .mahl-v2-log__row--total .mahl-v2-log__c.is-main { color: var(--mahl-red-light); }

/* ocenenia, poradie, prestupy */
.mahl-v2 .mahl-v2-award { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: var(--mahl-bg); }
.mahl-v2 .mahl-v2-award .mahl-tag { flex: none; }
.mahl-v2 .mahl-v2-award > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.mahl-v2 .mahl-v2-award .mahl-display { font-size: 21px; }
.mahl-v2 .mahl-v2-award .mahl-meta { font-size: 14px; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-page .mahl-v2-info--big div { align-items: baseline; }
.mahl-v2 .mahl-v2-page .mahl-v2-info--big dt { font-size: 17px; }
.mahl-v2 .mahl-v2-page .mahl-v2-info--big dd { font-size: 28px; }
.mahl-v2 .mahl-v2-page .mahl-v2-transfer { padding: 8px 14px; background: var(--mahl-bg); font-size: 15px; }

@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-playerhero { padding-top: 18px; }
  .mahl-v2 .mahl-v2-playerhero__inner { gap: 12px; align-items: stretch; }
  .mahl-v2 .mahl-v2-playerhero__text { flex-basis: 100%; gap: 12px; padding-bottom: 0; }
  .mahl-v2 .mahl-v2-playerhero__team .mahl-v2-logo { width: 46px; height: 46px; }
  .mahl-v2 .mahl-v2-playerhero__sep { height: 38px; }
  .mahl-v2 .mahl-v2-playerhero__team .mahl-display { font-size: 22px; }
  .mahl-v2 .mahl-v2-playerhero__team .mahl-meta { font-size: 13px; }
  .mahl-v2 .mahl-v2-page .mahl-v2-playerhero__panel { align-self: stretch; justify-content: space-between; gap: 6px; padding: 10px 34px 10px 12px; clip-path: polygon(0 0, 100% 0, calc(100% - 22px) 100%, 0 100%); }
  .mahl-v2 .mahl-v2-page .mahl-v2-playerhero__panel dd { font-size: 26px; }
  .mahl-v2 .mahl-v2-page .mahl-v2-playerhero__panel dt { font-size: 10px; }
  .mahl-v2 .mahl-v2-playerhero__photo { flex: 1 1 100%; display: flex; justify-content: center; }
  .mahl-v2 .mahl-v2-playerhero__photo img { width: auto; max-width: 100%; max-height: 300px; }
  .mahl-v2 .mahl-v2-playerbody { padding: 18px 0 40px; }

  .mahl-v2 .mahl-v2-log { --mahl-v2-log-cols: 38px minmax(0, 1fr) 78px 42px; }
  .mahl-v2 .mahl-v2-log--career { --mahl-v2-log-cols: 26px minmax(0, 1fr) 46px; }
  .mahl-v2 .mahl-v2-log__head, .mahl-v2 .mahl-v2-log__row { gap: 6px; padding-left: 10px; padding-right: 10px; }
  .mahl-v2 .mahl-v2-log__c:not(.is-main) { display: none; }
  .mahl-v2 .mahl-v2-log__sub { display: block; }
  .mahl-v2 .mahl-v2-log__date { font-size: 13px; }
  .mahl-v2 .mahl-v2-log__opp > .mahl-v2-logo { display: none; }
  .mahl-v2 .mahl-v2-log__opp .mahl-display { font-size: 16px; }
  .mahl-v2 .mahl-v2-log__box { min-width: 44px; font-size: 15px; padding: 3px 4px; }
  .mahl-v2 .mahl-v2-log__row .mahl-v2-log__c.is-main { font-size: 20px; }
}

/* ==========================================================================
   Prehľad
   ========================================================================== */
.mahl-v2 .mahl-v2-page .mahl-v2-kpis--row { flex: none; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mahl-v2 .mahl-v2-progress__label { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: var(--mahl-v2-meta); color: var(--mahl-muted); margin-bottom: 6px; }
.mahl-v2 .mahl-v2-progress__track { height: 8px; background: var(--mahl-white); }
.mahl-v2 .mahl-v2-progress__track span { display: block; height: 100%; background: var(--mahl-red); }

/* graf gólov podľa kôl: stĺpce sa delia o šírku, takže sa zmestia aj na mobil */
.mahl-v2 .mahl-v2-chart { display: flex; align-items: stretch; gap: 6px; height: 170px; }
.mahl-v2 .mahl-v2-chart__col { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; }
.mahl-v2 .mahl-v2-chart__val { font-size: 17px; }
.mahl-v2 .mahl-v2-chart__bar { flex: none; width: 100%; max-width: 34px; height: calc((100% - 50px) * var(--h, 0) / 100); background: var(--mahl-navy); }
.mahl-v2 .mahl-v2-chart__col:last-child .mahl-v2-chart__bar { background: var(--mahl-navy); }
.mahl-v2 .mahl-v2-chart__lbl { width: 100%; text-align: center; font-size: 13px; line-height: 1.6; color: var(--mahl-muted); border-top: 2px solid var(--mahl-navy); }

/* malá tabuľka */
.mahl-v2 .mahl-v2-page .mahl-v2-mini { display: grid; grid-template-columns: 28px 26px minmax(0, 1fr) auto 30px; gap: 8px; align-items: center; padding: 6px 12px; background: var(--mahl-white); color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-page a.mahl-v2-mini:hover { background: var(--mahl-row); }
.mahl-v2 .mahl-v2-mini .mahl-v2-st__pos { font-size: 20px; }
.mahl-v2 .mahl-v2-mini .mahl-v2-logo { width: 26px; height: 26px; }
.mahl-v2 .mahl-v2-mini__name { font-size: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mahl-v2 .mahl-v2-mini__played { font-size: 13px; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-mini__pts { font-size: 22px; text-align: right; }

@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-chart { gap: 3px; height: 140px; }
  .mahl-v2 .mahl-v2-chart__val { font-size: 13px; }
  .mahl-v2 .mahl-v2-chart__lbl { font-size: 11px; }
}

/* ==========================================================================
   Tímy: karty tímov
   ========================================================================== */
.mahl-v2 .mahl-v2-teams { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
.mahl-v2 .mahl-v2-page .mahl-v2-team { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 22px 22px; background: var(--mahl-white); color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-team__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.mahl-v2 .mahl-v2-team__top .mahl-v2-logo { width: 84px; height: 84px; }
.mahl-v2 .mahl-v2-team__top .mahl-v2-st__pos { font-size: 34px; }
.mahl-v2 .mahl-v2-team__name { margin-top: 6px; font-size: 26px; overflow-wrap: anywhere; }
.mahl-v2 .mahl-v2-page a.mahl-v2-team:hover .mahl-v2-team__name { color: var(--mahl-red); }
.mahl-v2 .mahl-v2-team__meta { font-size: 14px; color: var(--mahl-muted); }

@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-teams { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .mahl-v2 .mahl-v2-page .mahl-v2-team { padding: 14px 14px 12px; }
  .mahl-v2 .mahl-v2-team__top .mahl-v2-logo { width: 56px; height: 56px; }
  .mahl-v2 .mahl-v2-team__top .mahl-v2-st__pos { font-size: 26px; }
  .mahl-v2 .mahl-v2-team__name { font-size: 19px; }
  .mahl-v2 .mahl-v2-team__meta { font-size: 12px; }
}

/* krátky text pod časom / výsledkom v páse zápasu (skupina, kont.) sa nezalamuje */
.mahl-v2 .mahl-v2-game__box small { white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; padding: 0 12px; }
@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-game__box small { padding: 0 6px; font-size: 9px; letter-spacing: -.01em; }
}

/* Čas začiatku nesmie vyzerať ako výsledok: výsledok je biely na navy, čas navy na svetlom podklade.
   Platí pre pás zápasu aj záhlavie detailu (rovnako ako zápasy na stránke Tím). */
.mahl-v2 .mahl-v2-page .mahl-score.is-time { background: var(--mahl-bg); color: var(--mahl-navy); }
.mahl-v2 .mahl-v2-page .mahl-score.is-time small { color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-page a.mahl-v2-game:hover .mahl-score.is-time { background: var(--mahl-line); }

/* Turnaj — skupina: nadpis, tabuľka poradia a krížová tabuľka pod sebou */
.mahl-v2 .mahl-v2-group { margin-top: 36px; }
.mahl-v2 .mahl-v2-group__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-bottom: 3px solid var(--mahl-navy); padding-bottom: 6px; margin-bottom: 12px; }
.mahl-v2 .mahl-v2-group__head .mahl-h3 { margin: 0; }
.mahl-v2 .mahl-v2-group__sub { margin: 18px 0 8px; font-size: 14px; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-group + .mahl-v2-key { margin-top: 20px; }

/* Turnaj — Umiestnenie: poradie vľavo, zápasy o umiestnenie vpravo; na užšej obrazovke pod sebou */
.mahl-v2 .mahl-v2-plc { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 36px; align-items: start; margin-top: 28px; }
.mahl-v2 .mahl-v2-plc .mahl-h3 { margin-top: 0; }
.mahl-v2 .mahl-v2-plc .mahl-h3.mahl-v2-plc__next { margin-top: 32px; }
.mahl-v2 .mahl-v2-st--places { --mahl-v2-st-cols: 44px minmax(0, 1fr); }
.mahl-v2 .mahl-v2-st--places .mahl-v2-st__name .mahl-display { white-space: normal; }
.mahl-v2 .mahl-v2-plc__note { display: block; font-size: 13px; line-height: 1.3; color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-st--places .is-open .mahl-display { color: var(--mahl-muted); }
.mahl-v2 .mahl-v2-plc__games .mahl-v2-note { margin: 4px 0 0; }
@media (max-width: 1023px) {
  .mahl-v2 .mahl-v2-plc { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .mahl-v2 .mahl-v2-st--places { --mahl-v2-st-cols: 38px minmax(0, 1fr); }
}

/* Turnaj — Prehľad: rekordy, graf gólov po tretinách, karty hráčov a pás sociálnych sietí */
.mahl-v2 .mahl-v2-records { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.mahl-v2 .mahl-v2-page .mahl-v2-record { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 12px 14px; background: var(--mahl-white); color: var(--mahl-navy); border-top: 3px solid var(--mahl-navy); }
.mahl-v2 .mahl-v2-page a.mahl-v2-record:hover { background: var(--mahl-row); }
.mahl-v2 .mahl-v2-record .mahl-meta { font-size: 13px; line-height: 1.3; color: var(--mahl-muted); overflow-wrap: anywhere; }
.mahl-v2 .mahl-v2-record__val { font-size: 34px; line-height: 1; color: var(--mahl-red); }
.mahl-v2 .mahl-v2-record__who { font-size: 17px; line-height: 1.1; overflow-wrap: anywhere; }
.mahl-v2 .mahl-v2-chart__col--t1 + .mahl-v2-chart__col--t2, .mahl-v2 .mahl-v2-chart__col--t2 + .mahl-v2-chart__col--t3 { margin-left: 16px; }
.mahl-v2 .mahl-v2-meet .mahl-v2-cards { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.mahl-v2 .mahl-v2-links { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: -24px 0 0; }
.mahl-v2 .mahl-v2-meet { margin-top: 40px; }
.mahl-v2 .mahl-v2-social { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px 24px; margin-top: 40px; padding: 18px 24px; background: var(--mahl-navy); color: var(--mahl-white); }
.mahl-v2 .mahl-v2-social p { margin: 0; }
.mahl-v2 .mahl-v2-social__text { display: flex; flex-direction: column; gap: 2px; }
.mahl-v2 .mahl-v2-social__text .mahl-display { font-size: 26px; line-height: 1; }
.mahl-v2 .mahl-v2-social__text .mahl-meta { font-size: 14px; color: var(--mahl-line); }
.mahl-v2 .mahl-v2-social__links { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 1023px) {
  .mahl-v2 .mahl-v2-records { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mahl-v2 .mahl-v2-links { margin-top: -16px; }
  .mahl-v2 .mahl-v2-meet .mahl-v2-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 679px) {
  .mahl-v2 .mahl-v2-record { padding: 10px; }
  .mahl-v2 .mahl-v2-record__val { font-size: 28px; }
  .mahl-v2 .mahl-v2-record__who { font-size: 15px; }
  .mahl-v2 .mahl-v2-meet, .mahl-v2 .mahl-v2-social { margin-top: 28px; }
  .mahl-v2 .mahl-v2-social { padding: 14px 16px; }
  .mahl-v2 .mahl-v2-meet .mahl-v2-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mahl-v2 .mahl-v2-chart__col--t1 + .mahl-v2-chart__col--t2, .mahl-v2 .mahl-v2-chart__col--t2 + .mahl-v2-chart__col--t3 { margin-left: 8px; }
}
.mahl-v2 .mahl-v2-filterform .mahl-btn, .mahl-v2 .mahl-v2-select .mahl-btn { min-height: 52px; }
