/* Единый баннер страниц тестового сайта (26.10.2026), образец — страница «Судьи».
   Разметка: section.uh > .uh-inner > .uh-top (.uh-kicker + .uh-title), .uh-lead, .uh-aside; .uh-strip — плитки разделов.
   Красная строка и заголовок — в левом верхнем углу, текст — в левом нижнем, дополнительная информация — в правом нижнем,
   плитки разделов — по нижнему краю баннера. Баннер — на весь экран под шапкой.
   Подключается в base.html последним (после стилей страницы и кнопок), поэтому селекторы начинаются с body.site-test. */

body.site-test .uh {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: max(560px, calc(100svh - var(--jv-top, 69px)));
  padding: 0;
}
body.site-test .uh > .uh-inner {
  position: relative;
  z-index: 2;
  flex: 1 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr auto auto;
  column-gap: 40px;
  align-items: end;
  min-height: 0;
  margin-inline: auto;
  padding-top: 57px;
  padding-bottom: 36px;
}
body.site-test .uh .uh-top {
  grid-column: 1 / -1;
  grid-row: 1;
  align-self: start;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.site-test .uh .uh-kicker {
  display: block;
  margin: 0 0 15px;
  padding: 0;
  color: #f24946;
  font-family: var(--font-mono);
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .055em;
  text-transform: uppercase;
}
/* !important — у «Положения» и «Контактов» размер заголовка задан по id */
body.site-test .uh .uh-title {
  margin: 0 !important;
  padding: 0;
  color: #fff;
  font-family: var(--font-sans);
  font-size: clamp(3.5rem, 6.5vw, 6rem) !important;
  font-weight: 900;
  line-height: .92 !important;
  letter-spacing: -.07em !important;
  text-transform: uppercase;
  text-wrap: nowrap;
}
body.site-test .uh .uh-title span { color: #d52225; }
body.site-test .uh .uh-lead {
  grid-column: 1;
  grid-row: 3;
  align-self: end;
  max-width: 560px;
  margin: 0 0 clamp(20px, 4vh, 40px);
  padding: 0;
  border: 0;
  color: #d4d2d0;
  font-size: clamp(1rem, 1.35vw, 1.15rem);
  line-height: 1.45;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .55);
}
body.site-test .uh .uh-lead p { margin: 0; color: inherit; font-size: inherit; line-height: inherit; max-width: none; }
body.site-test .uh .uh-lead p + p { margin-top: 10px; }
body.site-test .uh .uh-lead b { color: #fff; }
body.site-test .uh .uh-aside {
  grid-column: 2;
  grid-row: 3;
  align-self: end;
  justify-self: end;
  margin: 0 0 clamp(20px, 4vh, 40px);
}
/* плитки разделов внутри .uh-inner (страница цен) и отдельной полосой под ним (остальные) */
body.site-test .uh > .uh-inner > .uh-strip { grid-column: 1 / -1; grid-row: 4; margin: 0; }
body.site-test .uh > .uh-strip { position: relative; z-index: 2; flex: none; margin-top: 0; margin-bottom: 0; }

/* ---- подгонка отдельных страниц ---- */
/* судьи: имена — тот же текст снизу слева; кнопка ↓ остаётся по центру */
body.site-test .uh .jv-cover-names { padding-bottom: 0; }
/* программа: декоративные «19 20 21» больше не нужны — даты в плитках */
body.site-test .uh .program-cover-dates { display: none; }
/* номинации: факты справа внизу; пустой декоративный блок занимал место в сетке */
body.site-test .uh .nom-hero-art { display: none; }
body.site-test .uh .nom-hero-facts { display: flex; gap: 28px; margin-top: 0; }
/* цены: декоративные цифры убраны, плашка «Сейчас действует» — справа внизу */
body.site-test .uh .px-now { width: 300px; margin-top: 0; }
/* призы: фонд справа внизу, цифра крупная */
body.site-test .uh .prz-total { margin-top: 0; text-align: right; }
/* положение и контакты: кнопки справа внизу столбиком */
body.site-test .uh .rules-cover-actions,
body.site-test .uh .cnt-cover-actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; width: min(340px, 100%); margin-top: 0; }
/* тайминг: статус справа внизу */
body.site-test .uh .timing-hero-status { margin-top: 0; }

@media (max-width: 860px) {
  body.site-test .uh > .uh-inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr auto auto auto;
    padding-top: 37px;
    padding-bottom: 28px;
  }
  body.site-test .uh .uh-kicker { font-size: .65rem; }
  body.site-test .uh .uh-top { margin-bottom: 28px; }
  body.site-test .uh .uh-title { font-size: clamp(3.2rem, 12vw, 5rem) !important; }
  body.site-test .uh.band--hero > .band-inner { padding-inline: 24px; }
  body.site-test .uh .uh-lead { grid-row: 3; max-width: none; margin-bottom: 20px; font-size: 1rem; }
  body.site-test .uh .uh-aside { grid-column: 1; grid-row: 4; justify-self: stretch; margin-bottom: 0; }
  body.site-test .uh > .uh-inner > .uh-strip { grid-row: 5; margin-top: 24px; }
  body.site-test .uh .px-now { width: auto; max-width: 440px; }
  body.site-test .uh .prz-total { text-align: left; }
  body.site-test .uh .rules-cover-actions,
  body.site-test .uh .cnt-cover-actions { width: 100%; max-width: 440px; }
  /* судьи: под текстом место для кнопки ↓ */
  body.site-test .uh .jv-cover-names { margin-bottom: 0; padding-bottom: 84px; }
}

/* Шапка сайта одной высоты на всех страницах: «Программа», «Номинации» и «Цены» раньше уменьшали её на телефоне
   до 64 px (свои правила в program.css, nominations.css, prices_program.css). Возвращаем общие значения. */
@media (max-width: 720px) {
  body.site-test .top-bar .top-inner { height: 68px; gap: 8px; }
  body.site-test .top-bar .brand { gap: 9px; }
  body.site-test .top-bar .brand-emblem { width: 38px; height: 38px; }
  body.site-test .top-bar .brand-text { font-size: .95rem; gap: 8px; }
  body.site-test .top-bar .top-actions { gap: 8px; }
  body.site-test .top-bar .btn-top { padding: 8px 12px; font-size: .8rem; }
}
@media (max-width: 600px) { body.site-test .top-bar .top-inner { gap: 6px; } }
@media (max-width: 470px) { body.site-test .top-bar .top-inner { padding-inline: 24px; } }
@media (max-width: 360px) { body.site-test .top-bar .top-inner { padding-inline: 12px; } body.site-test .top-bar .btn-top { padding-inline: 8px; } }

/* Плитки разделов внизу баннера — одного вида на всех страницах, образец — «Номинации» (26.10.2026):
   одна строка «01  НАЗВАНИЕ ↗», высота 68 px, равные колонки во всю ширину контента; на телефоне — две колонки. */
body.site-test .uh .uh-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  grid-template-columns: none;
  gap: 0;
  width: 100%;
  box-sizing: border-box;
  min-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, .18);
  background: none;
}
html body.site-test .uh .uh-strip > a.uoc-btn.uoc-btn {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  min-width: 0;
  min-height: 68px;
  height: auto;
  margin: 0;
  padding: 12px 36px 12px 16px;
  font-family: var(--font-sans);
  font-size: .8rem;
  line-height: 1.5;
  letter-spacing: .06em;
  text-align: left;
  white-space: normal;
}
html body.site-test .uh .uh-strip > a.uoc-btn.uoc-btn > span {
  display: inline;
  flex: none;
  margin: 0;
  padding: 0;
  font: inherit;
  letter-spacing: inherit;
}
@media (max-width: 860px) {
  body.site-test .uh .uh-strip { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body.site-test .uh .uh-strip > a.uoc-btn.uoc-btn { gap: 8px; min-height: 58px; padding: 12px 31px 12px 9px; font-size: .69rem; }
  /* нечётная последняя плитка — во всю ширину */
  html body.site-test .uh .uh-strip > a.uoc-btn.uoc-btn:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* плитки стоят вплотную к нижнему краю баннера и на «Ценах» (там они внутри .uh-inner) */
body.site-test .uh > .uh-inner:has(> .uh-strip) { padding-bottom: 0; }
