/* SCORE Design System 1.0 — общий слой для ScoreFootball, ScoreBasketball, ScoreHockey, ScoreTennis, ScoreCyber.
   Подключается ПОСЛЕ style.css сайта. Файл одинаковый на всех пяти сайтах: цвета берутся из палитры сайта,
   а шкалы отступов, шрифтов, радиусов, размеры кнопок и ритм страницы — общие. Исходник: design-system/ds.css */

/* ---------- 1. Токены ---------- */
:root{
  /* Цвета бренда: каждый сайт задаёт свою палитру, здесь — общие имена */
  --ds-brand:var(--pitch,var(--court,var(--bg2,#0b2342)));
  --ds-accent:var(--acc,var(--ball,#c8f25a));
  --ds-link:var(--link,var(--court-2,#1d5fa8));

  /* Отступы: шаг 4px */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-14:56px;

  /* Шрифт — Inter без стилистических вариантов, подключается в style.css сайта со своего сервера. Шкала: 11 · 12 · 13 · 14 · 15 · 16 · 18 · 20 · 24 · 32 */
  --fs-2xs:.6875rem;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.875rem;--fs-base:.9375rem;--fs-body:1rem;
  --fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:2rem;
  --lh-tight:1.2;--lh-snug:1.35;--lh-body:1.55;
  --fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-heavy:750;

  /* Радиусы: контролы 8, карточки 12, крупные панели 16, «таблетки» */
  --r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;

  /* Размеры контролов: минимум 36px по высоте — удобно попадать пальцем */
  --ctl-sm:32px;--ctl:36px;--ctl-lg:44px;

  /* Сетка и ритм страницы */
  --container:1200px;--gutter:16px;--gap-section:40px;--gap-head:14px;--gap-card:12px;

  --dur:.15s;
}
@media (max-width:600px){:root{--gutter:12px;--gap-section:32px;--gap-head:12px;--gap-card:10px}}

/* ---------- 2. База ---------- */
.wrap{max-width:var(--container);padding-left:var(--gutter);padding-right:var(--gutter)}
:focus-visible{outline:2px solid var(--ds-accent);outline-offset:2px}
::selection{background:color-mix(in srgb,var(--ds-accent) 45%,transparent)}
img{max-width:100%}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ---------- 3. Типографика ---------- */
h1{font-size:clamp(1.5rem,1.15rem + 1.5vw,2rem);line-height:var(--lh-tight);font-weight:var(--fw-heavy);letter-spacing:-.02em;text-wrap:balance}
h2{font-size:var(--fs-xl);line-height:var(--lh-snug);font-weight:var(--fw-bold);letter-spacing:-.01em}
h3{line-height:var(--lh-snug);font-weight:650}
.lead{font-size:1.0625rem;line-height:1.6;max-width:70ch;text-wrap:pretty}
.muted{line-height:1.5}
.text p,.seo p,.guide p,.faq details p{line-height:1.65}
@media (max-width:600px){h1{font-size:1.5rem}h2{font-size:var(--fs-lg)}.lead{font-size:var(--fs-body)}}
/* Цифры везде одной ширины — счёт и коэффициенты не прыгают */
.m-score,.m-time,.odd,.tbl td,.tbl th,.sets,.g,.bh-score,.cnt{font-variant-numeric:tabular-nums}

/* ---------- 4. Ритм страницы ---------- */
main>section+section{margin-top:var(--gap-section)}
main section>h2:first-child{margin-bottom:var(--gap-head)}
.crumbs{margin-top:var(--sp-4);font-size:var(--fs-sm)}
.foot{margin-top:var(--sp-14)}

/* ---------- 5. Поверхности: карточки и панели ---------- */
.box,.tgroup,.tbl,.form,.timeline,.tlx,.stb,.lu,.squad ul,.hub a,.pcard,.facts div,.ctry-i,.faq details,.guide,.empty,.tgrid a{border-radius:var(--r-md)}
.board,.odds-box,.tip,.express,.h2h-score{border-radius:var(--r-lg)}
.box{padding:var(--sp-4)}
.box h2{font-size:var(--fs-lg);margin:0 0 var(--sp-3);line-height:var(--lh-snug)}
.tgroup{margin-bottom:var(--gap-card)}
.empty{padding:var(--sp-5);text-align:center}
.cards,.hub,.squad{gap:var(--gap-card)}
.pcard{padding:var(--sp-3) var(--sp-4)}
.hub a{padding:var(--sp-3) var(--sp-4)}

/* Заголовок группы матчей (турнир) */
.th{min-height:42px;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-md);gap:var(--sp-2)}
.th small{font-size:var(--fs-xs)}

/* ---------- 6. Строка матча и коэффициенты ---------- */
.mrow{min-height:56px}
.m-t,.m-p{line-height:var(--lh-snug)}
.odd{border-radius:var(--r-sm);min-height:var(--ctl-sm)}
.odd-l{font-size:var(--fs-2xs)}
.odd-dir{font-size:.625rem}
.m-per,.m-time small{font-size:var(--fs-2xs)}

/* ---------- 7. Контролы: вкладки, чипсы, кнопки «ещё», пагинация ---------- */
.nav a{display:inline-flex;align-items:center;min-height:var(--ctl);padding:0 var(--sp-3);border-radius:var(--r-sm)}
.tabs a,.mnav a,.mfilter button,.more,.chips a,.pager a,.pager span{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--ctl);padding:0 var(--sp-4);border-radius:var(--r-pill);font-size:var(--fs-md);line-height:1.2;white-space:nowrap;transition:border-color var(--dur),background-color var(--dur),color var(--dur)}
.pager a,.pager span{min-width:var(--ctl);padding:0 var(--sp-3);border-radius:var(--r-sm)}
.daynav a{min-height:48px;justify-content:center;border-radius:var(--r-md)}
.search input{min-height:var(--ctl);border-radius:var(--r-pill)}
.search-btn{width:40px;height:40px}
.bigsearch input,.bigsearch button{min-height:var(--ctl-lg);border-radius:var(--r-md)}

/* ---------- 8. Таблицы ---------- */
/* Компактные таблицы (боковая колонка, виджеты) сохраняют свои плотные отступы — иначе не помещаются в карточку */
.tbl:not(.compact) th,.tbl:not(.compact) td{padding:var(--sp-2) 10px}
.tbl thead th{font-size:var(--fs-2xs);letter-spacing:.04em}
@media (max-width:600px){.tbl:not(.compact) th,.tbl:not(.compact) td{padding:7px 6px}}
/* Таблица никогда не шире своей карточки: в компактной таблице колонка с названием сжимается, длинное название переносится на вторую строку, цифры всегда видны */
.tbl.compact td:nth-child(2){max-width:0}
.tbl.compact .tcell a{white-space:normal;overflow-wrap:anywhere;line-height:1.25}
.box>.tbl,.box .tbl-wrap{max-width:100%}

/* ---------- 9. Вопросы и ответы ---------- */
.faq details{padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-2)}
.faq summary{min-height:24px;align-items:center}

/* ---------- 10. Подвал ---------- */
.foot{padding:var(--sp-8) 0 var(--sp-6)}
.foot-in{gap:var(--sp-6)}
.foot a{padding:3px 0;line-height:1.45}
.foot .fh{font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--sp-2)}
/* Сеть проектов Score: одинаковая строка во всех пяти подвалах */
.net{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid rgba(255,255,255,.14);font-size:var(--fs-md)}
.net>span{opacity:.75}
.foot .net a,.net b{display:inline-flex;align-items:center;gap:6px;padding:0;font-weight:var(--fw-semibold)}
.net b{color:var(--ds-accent)}
.net-age{margin-left:auto;font-weight:var(--fw-bold);border:1px solid currentColor;border-radius:var(--r-xs);padding:1px 6px;font-size:var(--fs-xs);opacity:.85}
@media (max-width:600px){.net-age{margin-left:0}}

/* ---------- 11. Утилиты ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- 12. Табло матча на телефоне: турнир и дата — в две строки по центру ---------- */
@media (max-width:600px){.board-meta{flex-direction:column;align-items:center;text-align:center;gap:2px}}
