/* ============================================================
   PARIVISION 2026 — ИЗОЛИРОВАННАЯ шапка для страниц на старой вёрстке.
   Правила только с префиксом .pv- и ни одного глобального селектора
   (кроме скрытия старой шапки): у старого сайта корневой font-size задан в vw
   и своя типографика — их визуал, шрифты и скролл не должны меняться вообще.
   Поэтому все размеры здесь в ПИКСЕЛЯХ, цвета — литералами, без var() из tokens.css.
   ============================================================ */

@font-face {
  font-family: "PV Compressed";
  src: url("/local/templates/pv2026/fonts/pv-heading.woff2") format("woff2");
  font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "PV Narrow";
  src: url("/local/templates/pv2026/fonts/pv-nav.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "PV Mono";
  src: url("/local/templates/pv2026/fonts/pv-mono-bd.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap;
}

/* Старая шапка: скрываем только ЕЁ СОДЕРЖИМОЕ, а сам контейнер оставляем в DOM и в потоке —
   их скрипт переносит внутрь него фильтр страницы матчей (ul.header__sort-list), который
   позиционируется относительно этого контейнера. Сдвигаем контейнер под нашу шапку, чтобы
   фильтр остался на своём месте и работал. Высоты контейнер не даёт (дети — absolute). */
/* Саму старую шапку НЕ трогаем — ни top, ни height: у неё 100vh и псевдоэлементы,
   любое вмешательство меняет высоту страницы. Скрываем только её видимые части
   и опускаем фильтр страницы матчей под нашу шапку. */
.header > .header__container,
.header > .menu { display: none !important; }
/* Фильтр страницы матчей. Их собственное правило — top:0 + transform:translate(-37%,-50%):
   и по горизонтали мимо центра, и половиной высоты вылезает вверх, под нашу шапку.
   Задаём положение явно: 72px шапки + 40px воздуха, центровка ровно по -50%.
   opacity/visibility их скрипт меняет отдельно — transform он не трогает. */
.header > .header__sort-list {
  margin-top: 0 !important;
  top: 112px !important;
  transform: translateX(-50%) !important;
}
/* контент страницы матчей начинался от самого верха (место занимала их absolute-шапка) —
   добавляем ровно столько, чтобы опущенный фильтр не наезжал на строку заголовков таблицы */
section.schedule { padding-top: 40px !important; }
@media (max-width: 1023px) {
  /* шапка 60px + 24px воздуха */
  .header > .header__sort-list { margin-top: 0 !important; top: 84px !important; }
  section.schedule { padding-top: 24px !important; }
}

/* ---------- панель ---------- */
.pv-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  height: 72px; box-sizing: border-box;
  background: #0B0B0B;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  font-family: "PV Narrow", "Arial Narrow", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.pv-header *, .pv-mnav * { box-sizing: border-box; }
.pv-header__in {
  max-width: 1440px; height: 100%; margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 48px);
  display: flex; align-items: center; gap: 32px;
}
.pv-logo { display: inline-flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; flex: none; }
.pv-logo svg { display: block; fill: currentColor; }
.pv-logo .pv-mark { width: 30px; height: 27px; color: #2FFFE8; }
.pv-logo .pv-word { width: 56px; height: 27px; }

/* ---------- навигация ---------- */
.pv-nav { display: flex; align-items: center; gap: clamp(14px, 1.9vw, 30px); margin: 0 auto; }
.pv-nav > a, .pv-sub > .pv-sub__top {
  font: 600 15px/1 "PV Narrow", "Arial Narrow", sans-serif;
  letter-spacing: .04em; text-transform: uppercase; text-decoration: none;
  color: #fff; padding: 8px 2px; white-space: nowrap; cursor: pointer;
  transition: color .18s;
}
.pv-nav > a:hover { color: #2FFFE8; }
/* Пункт «Команды»: клик ведёт на страницу всех команд, список раскрывается по наведению
   и по фокусу с клавиатуры. ::after — мостик через зазор, чтобы наведение не рвалось. */
.pv-sub { position: relative; }
.pv-sub__top { display: inline-flex; align-items: center; gap: 6px; }
.pv-sub__top::after {
  content: ""; width: 7px; height: 7px; flex: none;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px); transition: transform .18s;
}
.pv-sub::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 16px; }
.pv-sub:hover > .pv-sub__top,
.pv-sub:focus-within > .pv-sub__top { color: #2FFFE8; }
.pv-sub:hover > .pv-sub__top::after,
.pv-sub:focus-within > .pv-sub__top::after { transform: rotate(225deg) translateY(3px); }
.pv-sub__list {
  position: absolute; top: calc(100% + 14px); left: 50%;
  min-width: 210px; display: grid; padding: 8px;
  background: #0B0B0B; border: 1px solid rgba(255, 255, 255, .16); border-radius: 4px;
  opacity: 0; visibility: hidden; transform: translateX(-50%) translateY(-6px);
  transition: opacity .18s cubic-bezier(.22,.61,.36,1), transform .18s cubic-bezier(.22,.61,.36,1),
              visibility 0s linear .18s;
}
.pv-sub:hover > .pv-sub__list,
.pv-sub:focus-within > .pv-sub__list {
  opacity: 1; visibility: visible; transform: translateX(-50%);
  transition: opacity .18s cubic-bezier(.22,.61,.36,1), transform .18s cubic-bezier(.22,.61,.36,1), visibility 0s;
}
.pv-sub__list a {
  padding: 11px 14px; border-radius: 4px; text-decoration: none; color: #fff;
  font: 600 15px/1 "PV Narrow", "Arial Narrow", sans-serif;
  letter-spacing: .04em; text-transform: uppercase; white-space: nowrap;
}
.pv-sub__list a:hover { background: #2FFFE8; color: #0B0B0B; }

/* ---------- правая часть ---------- */
.pv-aside { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.pv-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 44px; padding: 12px 22px; border-radius: 4px; text-decoration: none;
  border: 1px solid #2FFFE8; color: #2FFFE8; background: transparent;
  font: 600 15px/1 "PV Narrow", "Arial Narrow", sans-serif;
  letter-spacing: .04em; text-transform: uppercase; white-space: nowrap;
  transition: background .18s, color .18s;
}
.pv-btn:hover { background: #2FFFE8; color: #0B0B0B; }
.pv-btn svg { width: 13px; height: 13px; fill: currentColor; }
.pv-lang { display: inline-flex; gap: 2px; }
.pv-lang a {
  padding: 9px 6px; text-decoration: none; color: rgba(255, 255, 255, .64);
  font: 600 13px/1 "PV Mono", monospace; letter-spacing: -.05em;
}
.pv-lang a:hover { color: #fff; }
.pv-lang a[aria-current="true"] { color: #2FFFE8; }

/* ---------- бургер ---------- */
.pv-burger {
  display: none; align-items: center; justify-content: center;
  width: 44px; height: 44px; padding: 0; cursor: pointer;
  background: none; border: 1px solid rgba(255, 255, 255, .16); border-radius: 4px; color: #fff;
  transition: border-color .18s, color .18s;
}
.pv-burger:hover, .pv-burger.is-open { border-color: #2FFFE8; color: #2FFFE8; }
.pv-burger__box { position: relative; display: block; width: 20px; height: 14px; }
.pv-burger__box i {
  position: absolute; left: 0; width: 100%; height: 2px; border-radius: 1px;
  background: currentColor; transition: transform .32s cubic-bezier(.22,.61,.36,1), opacity .16s;
}
.pv-burger__box i:nth-child(1) { top: 0; }
.pv-burger__box i:nth-child(2) { top: 6px; }
.pv-burger__box i:nth-child(3) { top: 12px; }
.pv-burger.is-open .pv-burger__box i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.pv-burger.is-open .pv-burger__box i:nth-child(2) { opacity: 0; transform: scaleX(.4); }
.pv-burger.is-open .pv-burger__box i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ---------- мобильное меню ---------- */
.pv-mnav {
  position: fixed; inset: 0; z-index: 990;
  display: flex; flex-direction: column; overflow-y: auto;
  padding: 88px clamp(16px, 3vw, 48px) 32px;
  background: #0B0B0B;
  opacity: 0; visibility: hidden; transform: translateY(-14px);
  transition: opacity .24s cubic-bezier(.22,.61,.36,1), transform .32s cubic-bezier(.22,.61,.36,1), visibility 0s linear .32s;
}
.pv-mnav.is-open { opacity: 1; visibility: visible; transform: none; transition: opacity .22s, transform .32s cubic-bezier(.22,.61,.36,1), visibility 0s; }
.pv-mnav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.pv-mnav > ul > li { opacity: 0; transform: translateY(16px); transition: opacity .3s, transform .38s cubic-bezier(.22,.61,.36,1); }
.pv-mnav.is-open > ul > li { opacity: 1; transform: none; }
.pv-mnav.is-open > ul > li:nth-child(1) { transition-delay: 80ms; }
.pv-mnav.is-open > ul > li:nth-child(2) { transition-delay: 130ms; }
.pv-mnav.is-open > ul > li:nth-child(3) { transition-delay: 180ms; }
.pv-mnav.is-open > ul > li:nth-child(4) { transition-delay: 230ms; }
.pv-mnav.is-open > ul > li:nth-child(5) { transition-delay: 280ms; }
.pv-mnav.is-open > ul > li:nth-child(6) { transition-delay: 330ms; }
.pv-mnav.is-open > ul > li:nth-child(7) { transition-delay: 380ms; }
.pv-mnav > ul > li > a {
  display: block; padding: 12px 0; text-decoration: none; color: #fff;
  font: 800 clamp(32px, 8vw, 42px)/.92 "PV Compressed", "Arial Narrow", sans-serif;
  letter-spacing: -.025em; text-transform: uppercase;
}
.pv-mnav ul ul a {
  display: block; padding: 10px 0 10px 24px; text-decoration: none;
  color: rgba(255, 255, 255, .64);
  font: 600 17px/1.2 "PV Narrow", "Arial Narrow", sans-serif;
  letter-spacing: .04em; text-transform: uppercase;
}
.pv-mnav ul ul a:hover, .pv-mnav > ul > li > a:hover { color: #2FFFE8; }
.pv-mnav__foot { margin-top: auto; padding-top: 40px; display: grid; gap: 16px; }
.pv-mnav__soc { display: flex; flex-wrap: wrap; gap: 16px; }
.pv-mnav__soc a {
  text-decoration: none; color: rgba(255, 255, 255, .64);
  font: 600 13px/1 "PV Mono", monospace; letter-spacing: -.05em; text-transform: uppercase;
}
.pv-mnav__soc a:hover { color: #2FFFE8; }

/* ---------- адаптив ---------- */
@media (max-width: 1023px) {
  .pv-header { height: 60px; }
  .pv-nav, .pv-aside .pv-btn, .pv-lang { display: none; }
  .pv-burger { display: inline-flex; }
  .pv-mnav { padding-top: 76px; }
  .pv-mnav .pv-btn, .pv-mnav .pv-lang { display: inline-flex; }
}
@media (prefers-reduced-motion: reduce) {
  .pv-mnav, .pv-mnav > ul > li, .pv-burger__box i { transition-duration: .01ms !important; }
}
