/* ============================================================
   8match — страница «Турнир/сезон» (competitions/season.blade.php)
   Подключается после redesign.css + redesign-pages.css.
   ============================================================ */

/* ---------- Шапка: бейдж турнира + декоративный год ---------- */
.rd-head--champ{position:relative;overflow:hidden}
.rd-head__year{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:180px;font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.14);pointer-events:none;user-select:none;white-space:nowrap}
.rd-head--champ .rd-head__inner{position:relative;z-index:1}
.rd-head__meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px}
.rd-head__meta span{font-size:13px;font-weight:600;color:rgba(255,255,255,.72)}
.rd-head__meta b{color:#fff;font-weight:800}
.rd-head__meta img{width:18px;height:12px;object-fit:cover;border-radius:2px;vertical-align:-1px;margin-right:4px;box-shadow:0 0 0 1px rgba(255,255,255,.2)}

/* ---------- Саб-навигация (якоря по секциям) ---------- */
.rd-subnav-wrap{background:#fff;border-bottom:1px solid var(--rd-line);position:sticky;top:72px;z-index:40}
.rd-subnav{display:flex;gap:4px;flex-wrap:wrap;overflow-x:auto}
.rd-subnav a{display:inline-flex;align-items:center;gap:8px;padding:16px 18px;font-size:13px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--rd-muted);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap;transition:.15s}
.rd-subnav a:hover{color:var(--rd-ink)}
.rd-subnav a.is-active{color:var(--rd-coral);border-color:var(--rd-coral)}

/* ---------- Двухколоночный каркас (сайдбар слева, как в макете) ---------- */
.rd-champ-layout{display:grid;grid-template-columns:330px 1fr;gap:26px;align-items:start}
.rd-champ-layout__aside{display:flex;flex-direction:column;gap:18px;min-width:0}
.rd-champ-layout__main{min-width:0}

.rd-side__eyebrow{display:block;margin-bottom:6px;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--rd-muted)}
.rd-side__title{margin:0 0 14px;font-size:16px;font-weight:800;color:var(--rd-ink)}

/* ---------- Групповой этап: сетка мини-таблиц ---------- */
/* 300px мини-таблице мало: восьми колонок (место, команда, И, В, Н, П, мячи, очки)
   не хватало ~30px и каждая таблица получала свой ползунок. С 340px колонок
   становится на одну меньше там, где иначе было бы тесно. */
.rd-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;margin-bottom:8px}
/* Элемент грида по умолчанию не уже своего содержимого, поэтому блок группы
   раздувался до min-content таблицы (365px) и вылезал за край телефона —
   притом что .rd-table__wrap внутри умеет прокручиваться сам. */
.rd-groups>*{min-width:0}
.rd-groups .rd-table th,.rd-groups .rd-table td{padding:8px 10px;font-size:13px}
.rd-groups h3{margin:0 0 10px;font-size:15px;font-weight:800;color:var(--rd-ink)}

/* ---------- Результаты по группам / плей-офф: сворачиваемые блоки ---------- */
.rd-round{background:#fff;border:1px solid var(--rd-line);border-radius:var(--rd-radius-lg);margin-bottom:14px;overflow:hidden}
.rd-round[open]{padding-bottom:4px}
.rd-round summary{cursor:pointer;list-style:none;padding:16px 20px;font-size:15px;font-weight:800;color:var(--rd-ink);display:flex;align-items:center;justify-content:space-between;gap:10px}
.rd-round summary::-webkit-details-marker{display:none}
.rd-round summary::after{content:"▾";color:var(--rd-muted);font-size:12px;transition:transform .15s}
.rd-round[open] summary::after{transform:rotate(180deg)}
.rd-round summary small{margin-left:auto;font-size:12px;font-weight:600;color:var(--rd-muted)}
.rd-round__body{padding:0 20px 18px}

/* ---------- Стадионы турнира (таблица) ---------- */
.rd-stad-name{font-weight:700;color:var(--rd-ink)}
.rd-stad-city{display:block;font-size:12px;color:var(--rd-muted);font-weight:500}

/* ---------- Адаптив ---------- */
@media (max-width:1100px){
  .rd-champ-layout{grid-template-columns:1fr}
  .rd-champ-layout__aside{order:2}
  .rd-champ-layout__main{order:1}
  .rd-head__year{font-size:110px}
}
@media (max-width:720px){
  .rd-subnav-wrap{top:0}
}
@media (max-width:560px){
  /* Минимум 340px у мини-таблицы шире, чем содержимое .rd-container на 360px:
     колонка вылезала на 20px. Одна колонка минимума не требует, а таблица
     внутри при нехватке места прокручивается своим контейнером. */
  .rd-groups{grid-template-columns:1fr}
}

/* ---------------------------------------------------------------
   ХАБ ТУРНИРА (/competitions/{slug}) — плитка розыгрышей
   --------------------------------------------------------------- */
.comp-editions{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.comp-edition{
  display:block;padding:24px;background:#fff;border:1px solid var(--rd-line);
  border-radius:14px;text-decoration:none;color:inherit;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.comp-edition:hover{border-color:var(--rd-coral);box-shadow:0 8px 26px rgba(20,20,43,.08);transform:translateY(-2px)}
.comp-edition__year{font-size:44px;font-weight:800;line-height:1;letter-spacing:-1px;color:var(--rd-ink)}
.comp-edition__winner{display:flex;align-items:center;gap:12px;margin-top:18px}
.comp-edition__winner img{width:38px;height:26px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex-shrink:0}
.comp-edition__winner b{display:block;font-size:17px;font-weight:800;color:var(--rd-ink);line-height:1.2}
.comp-edition__winner small{display:block;margin-top:2px;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--rd-green)}
.comp-edition__winner--none small{color:var(--rd-muted)}
.comp-edition__final{margin:16px 0 0;font-size:13px;color:var(--rd-muted);font-weight:600;line-height:1.5}
.comp-edition__final span{display:block;color:var(--rd-coral);font-weight:700}
.comp-edition__foot{
  display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:space-between;
  margin-top:16px;padding-top:14px;border-top:1px solid var(--rd-line);
  font-size:12.5px;font-weight:600;color:var(--rd-muted);
}
.comp-edition__scorer b{color:var(--rd-ink);font-weight:800}
@media (max-width:1100px){ .comp-editions{grid-template-columns:repeat(2,1fr)} }
@media (max-width:720px){ .comp-editions{grid-template-columns:1fr} .comp-edition__year{font-size:36px} }

/* ---------- Турнирная сетка плей-офф ---------- */
/* Колонка на стадию, слева направо до финала; на узких экранах — свой скролл,
   чтобы страница не ехала горизонтально целиком. */
.rd-bracket__title{margin:26px 0 14px;font-size:18px;font-weight:800;color:var(--rd-ink)}
.rd-bracket{
  display:flex;gap:12px;align-items:flex-start;
  overflow-x:auto;padding-bottom:8px;
  scrollbar-width:thin;
}
/* Колонки тянутся под ширину блока (пять стадий заполняют её целиком),
   но не сжимаются ниже 182px — столько нужно, чтобы шесть стадий
   (ЧМ-2026, Лига наций) уместились без прокрутки уже на экране 1600.
   min-width:0 обязателен: иначе колонку распирает её же заголовок. */
.rd-bracket__col{
  flex:1 0 182px;min-width:0;display:flex;flex-direction:column;gap:10px;
}
.rd-bracket__head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  color:var(--rd-muted);padding:0 2px 2px;
}
.rd-bracket__head span{
  font-size:11px;font-weight:700;color:var(--rd-muted);
  background:var(--rd-bg-soft);border-radius:99px;padding:1px 8px;letter-spacing:0;
}
.rd-bracket__col.is-final .rd-bracket__head{color:var(--rd-coral)}
.rd-bracket__match{
  display:block;color:inherit;
  background:#fff;border:1px solid var(--rd-line);border-radius:12px;padding:10px 12px;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.rd-bracket__match:hover{border-color:var(--rd-coral);box-shadow:0 8px 22px rgba(20,20,43,.08);transform:translateY(-1px)}
.rd-bracket__pair{display:block;text-decoration:none;color:inherit}
.rd-bracket__col.is-final .rd-bracket__match{border-color:var(--rd-coral);box-shadow:0 6px 20px rgba(255,75,85,.10)}
.rd-bracket__side{
  display:flex;align-items:center;gap:8px;padding:3px 0;
  font-size:13.5px;color:var(--rd-muted);font-weight:600;
}
.rd-bracket__side img{width:20px;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex-shrink:0}
.rd-bracket__side span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rd-bracket__side b{font-variant-numeric:tabular-nums;font-weight:800;color:var(--rd-muted)}
.rd-bracket__side.is-win{color:var(--rd-ink)}
.rd-bracket__side.is-win b{color:var(--rd-ink)}
.rd-bracket__meta{
  display:flex;gap:8px;flex-wrap:wrap;
  margin-top:7px;padding-top:7px;border-top:1px solid var(--rd-line);
  font-size:11.5px;font-weight:600;color:var(--rd-muted);
}
.rd-bracket__meta span{color:var(--rd-coral)}
.rd-bracket__meta a{color:var(--rd-muted);text-decoration:none;font-variant-numeric:tabular-nums}
.rd-bracket__meta a:hover{color:var(--rd-coral)}
