.competition-page [hidden] { display:none!important; }
.competition-heading h1 { font-size:clamp(42px,6vw,90px); }
.competition-heading .events-intro { max-width:310px; }
.competition-switch { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.competition-switch a { padding:13px 22px; border:1px solid #dedede; border-radius:var(--radius-pill); color:var(--ink); font-size:14px; text-decoration:none; }
.competition-switch a[aria-current] { background:var(--ink); border-color:var(--ink); color:#fff; }
.competition-switch a:hover { border-color:var(--brand-red); }
.competition-downloads { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 28px; background:var(--paper); border-radius:var(--radius-md); }
.competition-downloads p { margin:0 0 6px; font-size:17px; font-weight:600; }
.competition-downloads>div>span { color:var(--muted); font-size:13px; }
.competition-downloads__actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px 26px; }
.competition-standings { margin-top:56px; }
.competition-section-head { display:flex; justify-content:space-between; align-items:baseline; gap:24px; margin-bottom:28px; }
.competition-section-head h2 { margin:0; font:italic 900 clamp(28px,3.2vw,46px)/1.1 var(--t-headline-font); text-transform:uppercase; }
.competition-section-head p { margin:0; color:var(--muted); font-size:13px; }
.competition-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px; padding:24px 0; border-block:1px solid #dedede; }
.competition-filters label { display:flex; flex:1; min-width:160px; flex-direction:column; gap:9px; font-size:12px; font-weight:600; }
.competition-filters .competition-search { flex:2; min-width:230px; }
.competition-filters :is(input,select) { width:100%; min-width:0; height:48px; padding:12px 14px; border:1px solid #ccc; border-radius:var(--radius-sm); background:#fff; color:var(--ink); font:400 15px/1.4 var(--t-text-font); }
.competition-reset { padding:14px 4px; border:0; background:none; color:var(--brand-red); font:600 13px/1.4 var(--t-text-font); cursor:pointer; }
.competition-reset:hover { text-decoration:underline; }
.competition-count { margin:22px 0 16px; color:var(--muted); font-size:13px; }
.competition-table { width:100%; border-collapse:collapse; text-align:left; font-size:14px; }
.competition-table thead { background:var(--ink); color:#fff; }
.competition-table thead th { padding:16px 18px; font-size:12px; font-weight:500; white-space:nowrap; }
.competition-table td,.competition-table tbody th { padding:22px 18px; border-bottom:1px solid #e3e3e3; vertical-align:top; }
.competition-table tbody tr:nth-child(even) { background:#fafafa; }
.competition-table .competition-name { width:27%; font-size:16px; font-weight:600; line-height:1.5; }
.competition-place__number { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#efefef; font-size:13px; font-weight:600; }
.competition-place__number--podium { color:var(--brand-red); background:#fcebed; }
.competition-place__label,.competition-mobile-unit { display:none; }
.competition-category { color:var(--muted); line-height:1.5; }
.competition-category>span { display:block; color:var(--ink); }
.competition-table .competition-result { font-size:20px; font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; }
.competition-points { font-variant-numeric:tabular-nums; }
.competition-details { min-width:160px; }
.competition-details summary { width:max-content; color:var(--brand-red); cursor:pointer; font-size:13px; }
.competition-details ol { padding:0; margin:16px 0 0; list-style:none; }
.competition-details li { display:grid; grid-template-columns:28px 65px 1fr; gap:8px; margin-top:10px; font-size:11px; white-space:nowrap; }
.competition-details li strong { font-weight:600; }
.competition-details details>p { margin:16px 0 0; color:var(--muted); font-size:11px; }
.attempt-failed { color:var(--brand-deep-red); }
.attempt-good { color:var(--muted); }
.competition-empty { padding:36px; background:var(--paper); text-align:center; }
.competition-empty p { margin:0 0 8px; font-size:20px; font-weight:600; }
.competition-empty>span { display:block; color:var(--muted); font-size:14px; line-height:1.5; }
.competition-more { display:block; width:100%; margin-top:24px; padding:18px; border:1px solid #ccc; border-radius:var(--radius-sm); background:#fff; color:var(--ink); font:600 14px/1.4 var(--t-text-font); cursor:pointer; }
.competition-more:hover { border-color:var(--brand-red); color:var(--brand-red); }
.competition-note { margin-top:20px; color:var(--muted); font-size:12px; line-height:1.5; }
.competition-bottom { display:flex; flex-wrap:wrap; gap:16px 40px; }
.competition-page main :is(a,button,input,select,summary):focus-visible { outline:2px solid var(--brand-red); outline-offset:4px; }
@media(max-width:1000px) {
  .competition-downloads { align-items:flex-start; flex-direction:column; }
  .competition-section-head { display:block; }
  .competition-section-head p { margin-top:12px; }
  .competition-table,.competition-table tbody { display:block; }
  .competition-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .competition-table tbody { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .competition-table tbody tr { display:grid; grid-template-columns:1fr 1fr; gap:18px 14px; padding:24px; border:1px solid #ddd; border-radius:var(--radius-md); background:#fff!important; }
  .competition-table td,.competition-table tbody th { padding:0; border:0; }
  .competition-table .competition-name { grid-column:1/-1; grid-row:2; width:auto; font-size:19px; }
  .competition-table .competition-place { grid-column:1/-1; grid-row:1; display:flex; align-items:center; gap:8px; }
  .competition-place__label { display:inline; color:var(--muted); font-size:12px; }
  .competition-table .competition-category { grid-column:1/-1; grid-row:3; display:flex; flex-wrap:wrap; gap:8px; font-size:13px; }
  .competition-category>span::before { content:'·'; margin-right:8px; color:var(--muted); }
  .competition-table .competition-result { grid-column:1; grid-row:4; font-size:24px; }
  .competition-table .competition-points { grid-column:2; grid-row:4; }
  .competition-mobile-unit { display:inline; font-size:15px; font-weight:400; }
  .competition-result::before,.competition-points::before { content:attr(data-label); display:block; margin-bottom:8px; color:var(--muted); font-size:11px; font-weight:400; }
  .competition-table .competition-details { grid-column:1/-1; grid-row:5; padding-top:18px; border-top:1px solid #e8e8e8; }
  .competition-details:not(:has(details))::before { content:'Стартовый номер: '; color:var(--muted); font-size:12px; }
  .competition-details li { grid-template-columns:32px 80px 1fr; font-size:12px; }
}
@media(max-width:600px) {
  .competition-heading h1 { font-size:clamp(38px,10vw,58px); }
  .competition-downloads { padding:22px; }
  .competition-downloads__actions { gap:20px; }
  .competition-filters { gap:16px 12px; }
  .competition-filters .competition-search { flex-basis:100%; }
  .competition-filters label { min-width:0; }
  .competition-filters :is(input,select) { font-size:16px; }
  .competition-reset { flex-basis:100%; text-align:left; padding-block:4px; }
  .competition-table tbody { grid-template-columns:1fr; }
  .competition-standings { margin-top:36px; }
}
