/* ===============================
   LAYOUT
=============================== */
.api-wrapper {display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 20px; align-items: start; margin-bottom:60px;}
/* ===============================
   LEFT SIDEBAR
=============================== */
.sports-block, 
.matches-block {background: var(--card);padding: 14px; border-radius: 12px; box-shadow: var(--box-shadow);}
.no-events {display: flex; align-items: center; justify-content: center; padding: 24px 32px; border-radius: 12px; background: #f1f3f8; color: #64748b; font-size: 15px; font-weight: 700; text-align: center;}
/* ===============================
   EVENTS HEADER (TABS)
=============================== */
.events-header {align-items: center;border: 1px solid #e6e9ef; display: flex; gap: 10px; margin-bottom: 16px; background: #ffffff; padding: 14px; border-radius: 12px;}
.events-header .tab {display: flex; align-items: center; height: 34px; padding: 9px 18px; border-radius: 10px; font-weight: 700; font-size: 13px; background: #ececec; color: #111; text-decoration: none;}
.events-header .tab.active {background: #3b83f7; color: #fff;}
.events-header .tab.active-live {background: #d40000; color: #fff;}
/* ===============================
   TOURNAMENT BLOCK
=============================== */
.tournament {margin-bottom: 22px; border-radius: 16px; overflow: hidden; background: #ffffff; border: 1px solid #e6e9ef;}
/* TOURNAMENT HEADER */
.t-title {display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 16px; font-size: 14px; font-weight: 800; color:#64748b; background: #e2e6ee; border-bottom: 1px solid #e6e9ef;}
.t-title .flag {width: 22px; height: 14px; border-radius: 3px; object-fit: cover;}
.t-title-link {display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: #475569; text-decoration: none; padding: 6px 10px; border-radius: 6px; background: #f1f3f8; transition: background .15s ease, color .15s ease;}
.t-title-round {line-height: 1; white-space: nowrap; font-size: 10px; font-weight: 600; color: #475569; padding: 4px 8px; border-radius: 6px; background: #f1f3f8;}
.t-title-link i {font-size: 13px;}
.t-title-link:hover {background: #e6e9ef; color: #1e293b;}
.t-title-left {display: flex; align-items: center; gap: 8px; min-height: 14px;}
.t-title-name {line-height: 1; white-space: nowrap;}
/* ===============================
   MATCH CARD
=============================== */
.sportchat-events__link {display: block; text-decoration: none; color: inherit;}
.sportchat-events__match {display: grid; grid-template-columns: 100px auto 100px; align-items: center; padding: 10px 18px; border-bottom: 1px solid #f1f3f8; background: #ffffff; transition: background .15s;}
.sportchat-events-hockey__match,
.sportchat-events__match:hover {background: #f1f3f8;}
.sportchat-events-hockey__match {display: grid; grid-template-columns: 100px auto 200px; align-items: center; padding: 10px 18px; border-bottom: 1px solid #f1f3f8; background: #ffffff; transition: background .15s;}
.sportchat-events__match_wid {display: grid; grid-template-columns: 150px auto 150px; align-items: center; padding: 10px 18px; border-bottom: 1px solid #f1f3f8; background: #ffffff; transition: background .15s;}
.sportchat-events__match_wid:hover {background: #f1f3f8;}
.sportchat-events__link:last-child 
.sportchat-events__match {border-bottom: none;}
/* ===============================
   TIME
=============================== */
.sportchat-events__time {font-size: 12px; font-weight: 700; color: #6b7280; display: flex; align-items: center; gap: 6px;}
.live-time {color: #ff2d2d;;}
/* ===============================
   BODY
=============================== */
.sportchat-events__body {display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px;}
/* ===============================
   TEAMS
=============================== */
.sportchat-events__team {display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: #111827;}
.sportchat-events__team img {width: 24px; height: 24px; object-fit: contain;}
.sportchat-events__team--home {justify-content: flex-end;}
.sportchat-events__team--away {justify-content: flex-start;}
/* ===============================
   SCORE BASE
=============================== */
.sportchat-events__score {display: flex; align-items: center; justify-content: center; gap: 4px;}
.sportchat-events__score span { padding:5px; display: flex; align-items: center; justify-content: center; min-width: 26px; height: 26px; font-size: 16px; font-weight: 800; line-height: 1; border-radius: 6px; background: #e2e6ee; color: #64748b;}
.sportchat-events__match.is-live
.sportchat-events__score span {background: #fe6161; color: #fff;}
.sportchat-events__match_wid.is-live
.sportchat-events__score span {background: #fe6161; color: #fff;}

/* ===============================
   LIVE DOT
=============================== */
.live-dot {width: 8px; height: 8px; background: #ff2d2d; border-radius: 50%; animation: pulse 1.5s infinite;}
@keyframes pulse {
0% {opacity: 1}
50% {opacity: .4}
100% {opacity: 1}
}
.statbutton {font-size: 20px; font-weight: 700; color: #475569; text-decoration: none; padding: 6px 10px; border-radius: 6px; background: #f1f3f8; transition: background .15s ease, color .15s ease;}
.statbutton:hover {background: #e6e9ef; color: #1e293b;}
.statbutton i.fa-spinner {
  animation: fa-spin 0.8s infinite linear;
}
/* ===============================
   PERIOD SCORES
=============================== */
.sportchat-events__periods {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 4px;

  font-size: 11px;
  font-weight: 600;
  color: #64748b;
}

.sportchat-events__periods span {
  padding: 2px 6px;
  border-radius: 4px;
  background: #f1f3f8;
  white-space: nowrap;
}

.sportchat-events__periods .ot {
  background: #fde68a;
  color: #92400e;
}
/* ===============================
   RACE TABLE (универсально)
   по умолчанию — СВЕТЛАЯ ТЕМА
================================ */

:root{
  --race-border: #e6e8ef;
  --race-row-border: #eef0f5;
  --race-text: #0f172a;
  --race-muted: #64748b;
  --race-head-text: #475569;
  --race-hover: #f2f5ff;
}

.race-page{display:flex;flex-direction:column;gap:14px}

.race-card{
  border-radius:12px;
  overflow:hidden;
  background:var(--race-card-bg);
  border:1px solid var(--race-border);
}

.race-head{
  padding:10px 12px;
  background:var(--race-head-bg);
  border-bottom:1px solid var(--race-border);
}

.race-head-title{
  font-size:13px;
  font-weight:700;
  color:var(--race-text);
  line-height:1.2;
}

.race-head-sub{
  margin-top:4px;
  font-size:12px;
  color:var(--race-muted);
  padding:10px 12px;
}

.race-table{display:flex;flex-direction:column}

.race-row{
  display:grid;
  gap:10px;
  align-items:center;
  padding:9px 12px;
  border-bottom:1px solid var(--race-row-border);
  background:#fff;
}
.race-row.golf {
  grid-template-columns:40px  1fr 50px 50px 50px 50px 50px 50px 50px 50px;
  }
  .race-row.auto {
  grid-template-columns:40px  1fr 1fr 50px 50px 50px 50px ;
  }
    .race-row.horse {
  grid-template-columns:40px  1fr 1fr 50px 50px 50px 50px ;
  }

      .race-row.biathlon {
  grid-template-columns:40px  1fr 100px 100px 100px  ;
  }
        .race-row.xc {
  grid-template-columns:40px  1fr 100px 100px  ;
  }
.race-row:last-child{border-bottom:none}

.race-row--head{
  background:#fbfcff;
  font-size:11px;
  font-weight:700;
  color:var(--race-head-text);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.race-row--link{
  text-decoration:none;
  color:inherit;
  transition:background .15s ease;
}

.race-row--link:hover{background:var(--race-hover)}

.race-col--rank{
  font-size:12px;
  font-weight:700;
  color:var(--race-text);
}

.race-col--name{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.race-flag{
  width:18px;
  height:12px;
  border-radius:2px;
  object-fit:cover;
  flex:0 0 auto;
  border:1px solid rgba(0,0,0,.08);
}

.race-name{
  font-size:13px;
  font-weight:600;
  color:var(--race-text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.race-team{
  font-size:13px;
  font-weight:500;
  color:var(--race-text);
  white-space:nowrap;
  overflow:hidden;
  opacity: 0.4;
  text-overflow:ellipsis;
}

.race-col--shoot,
.race-col--time,
.race-col--diff{
  font-size:12px;
  font-variant-numeric:tabular-nums;
  color:var(--race-text);
  text-align:right;
}

.race-col--diff{color:var(--race-muted)}
.col-player{
  display:flex;
  align-items:center;    
  gap:8px;                 
  min-width:0;              
}


.player-avatar{
  width:28px;
  height:auto;
  flex:0 0 28px;        
}


.player-name{
  font-size:13px;
  font-weight:600;
  color:var(--race-text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.2;
  min-width:0;     
}



/* ===============================
   SPORTCHAT H2H — FINAL STABLE CSS
   (fixed center, no jumping)
================================ */
.sportchat-events-h2h {
  font-size: 13px;
  background: #f5f4f4;
}

/* ===== SECTION ===== */
.sportchat-events-h2h__group-title,
.sportchat-events-h2h__title {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
   padding: 6px 10px;
}
/* ===== ROW ===== */

.sportchat-events-h2h__match {
  display: grid;
  grid-template-columns: 48px 1fr 100px; 
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  border-bottom: 1px solid #f1f3f8; 
}

.sportchat-events-h2h__match:hover {
  background: #f1f3f8;
}

/* ===== DATE ===== */

.sportchat-events-h2h__date-wrap {
  text-align: center;
}

.sportchat-events-h2h__date {
  font-size: 11px;
    font-weight: 600;
    color: #64748b;
  white-space: nowrap;
}

/* ===== CENTER (HOME + SCORE + AWAY) ===== */

.sportchat-events-h2h__center {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
}

/* ===== TEAMS ===== */

.sportchat-events-h2h__side {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100px;           
  overflow: hidden;
}

.sportchat-events-h2h__side--home {
  justify-content: flex-end;
  text-align: right;
}

.sportchat-events-h2h__side--away {
  justify-content: flex-start;
  text-align: left;
}

/* ===== TEAM NAME ===== */

.sportchat-events-h2h__team {
  font-size: 12px;
  font-weight: 700;
  color: #111827;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ===== LOGO ===== */

.sportchat-events-h2h__logo {
  width: 16px;
  height: 16px;
  object-fit: contain;
  flex-shrink: 0;
}

/* ===== SCORE (ANCHOR) ===== */

.sportchat-events-h2h__score {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.sportchat-events-h2h__num {
  min-width: 20px;
  padding: 0 5px;
  text-align: center;
  font-weight: 600;
  font-size: 13px;
  border-radius: 4px;
  background: rgba(255,255,255,.1);
}

/* ===== RESULT COLORS ===== */

.sportchat-events-h2h__num.eventpage-score-win {
  background: #58c742;
  color: #ffffff;
}

.sportchat-events-h2h__num.eventpage-score-lose {
  background: #e82a2a;
  color: #ffffff;
}

.sportchat-events-h2h__num.eventpage-score-draw {
  background: #838383;
  color: #ffffff;
}
.sportchat-events-h2h__num.eventpage-score-lich {
  background: #e2e6ee;
  color: #64748b;
}
/* ===== LEAGUE ===== */

.sportchat-events-h2h__league {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  font-size: 11px;
  min-width: 0;
  color: #64748b;
}

.sportchat-events-h2h__league span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sportchat-events-h2h__league img {
  width: 16px;
  height: 11px;
  object-fit: cover;
  flex-shrink: 0;
}

/* ===============================
   H2H LOAD MORE BUTTON (LIGHT)
================================ */

.h2h-more {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 10px 0;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  color: #444;
  min-height: auto;
  background: #f3f4f6;        
  border: 1px solid #e5e7eb;   
  border-radius: 0;
  cursor: pointer;
  transition:
    background .2s ease,
    border-color .2s ease,
    color .2s ease;
}

/* hover */
.h2h-more:hover {
  background: #e9ebef;
  border-color: #d1d5db;
  color: #111;
}

/* active */
.h2h-more:active {
  background: #e2e5ea;
}

/* loading */
.h2h-more.is-loading {
  pointer-events: none;
  opacity: .6;
}

/* ================================
   SPORTS TOP — FINAL REWRITE
   BG SITE: #171733
================================ */

.sports-top {display: grid; grid-template-columns: repeat(auto-fit, 200px); /* 🔑 */ gap: 12px; justify-content: center; padding: 12px; margin-bottom: 16px; background: transparent;}
/* ===== TILE ===== */
.sport-top-item {position: relative; height: 64px; padding-left: 56px; padding-right: 16px; background: #1e1e3f; border: 1px solid #2a2a55; border-radius: 14px; color: #e5e7ff; text-decoration: none; font-size: 16px; font-weight: 700; box-sizing: border-box; /* 🔒 ЖЁСТКОЕ ЦЕНТРИРОВАНИЕ */ display: block;}
/* ===== TEXT (ABSOLUTE CENTER) ===== */
.sport-top-item span {position: absolute; left: 56px; right: 16px; top: 50%; transform: translateY(-50%); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1;}
/* ===== ICON (ABSOLUTE CENTER) ===== */
.sport-top-item i {position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; font-size: 22px; color: #c7c9ff; line-height: 1; pointer-events: none;}
/* ===== HOVER ===== */
.sport-top-item:hover {background: #24245a; border-color: #3a3a88;}
/* ===== ACTIVE (ТОЛЬКО ЦВЕТА) ===== */
.sport-top-item.active {background: #2b2b6a; border-color: #4a4aff; color: #ffffff;}
.sport-top-item.active i {color: #ffffff;}
/* ===== LIVE BADGE ===== */
.live-badge {position: absolute; top: 8px; right: 10px; min-width: 20px; padding: 2px 6px; font-size: 11px; font-weight: 800; background: #ff2d2d; color: #ffffff; border-radius: 999px; line-height: 1;}
/* ===== HIDDEN ===== */
.sport-top-hidden {display: none;}
/* ===== MORE BUTTON ===== */
.sport-top-more {height: 64px; display: flex; align-items: center; justify-content: center; background: #1e1e3f; border: 1px dashed #3a3a88; border-radius: 14px; font-size: 15px; font-weight: 700; color: #c7c9ff; cursor: pointer;}
.sport-top-more:hover {background: #24245a; border-color: #4a4aff;}
/* ЛЕВЫЙ БЛОК */
.sports-block {background: #ffffff; padding: 12px; border-radius: 12px; box-shadow: 0 2px 6px rgba(0,0,0,0.1);}
.sports-list {list-style: none; margin: 0; padding: 0;}
.sport-item {margin-bottom: 12px; border-radius: 10px;}
.sport-item.active {background: #e1ecff;}
.sport-link {display: flex; align-items: center; gap: 10px; padding: 8px 10px; text-decoration: none; color: #263238; font-weight: 600; border-radius: 8px; transition: background 0.2s;}
.sport-link:hover {background: #f0f7ff;}
.sports-list i {font-size: 18px; width: 20px; height: 20px; line-height: 20px; text-align: center;}
.sport-counters {margin-left: auto; display: flex; gap: 6px; align-items: center;}
.sport-counters .live-counter {background: #fe8400; color: #fff; padding: 2px 7px; border-radius: 4px; font-size: 11px; font-weight: bold; min-width: 28px; text-align: center;}
/* Страны внутри активного спорта */
.countries-list {list-style: none; padding-left: 0; margin-top: 8px;}
.country-item details summary {display: flex; align-items: center; gap: 8px; padding: 6px 10px; background: #f8f8f8; cursor: pointer; font-weight: 500; font-size: 15px;}
.country-item details[open] summary {background: #e6f2ff;}
.country-item details summary:hover {background: #eaeaea;}
.country-item .flag {width: 22px; height: 14px; border-radius: 2px;}
/* link */
.league-link {display: block; text-decoration: none;}
/* item */
.league-item {display: flex; align-items: center; gap: 10px; padding: 8px 10px; margin-bottom: 4px; margin-top: 4px; border-radius: 10px; font-size: 14px; font-weight: 600; color: #264653; transition: background .15s ease, color .15s ease;}
/* HOVER — и по ссылке, и по самому li */
.league-link:hover .league-item,
.league-item:hover {background: #eef6ff; color: #2563eb;}
/* logo */
.league-logo {width: 22px; height: 22px; object-fit: contain; flex-shrink: 0;}
/* ==================================================
   EVENTS PAGE SIDEBAR (LIGHT STYLE)
================================================== */

.events-page__sidebar {display: flex; flex-direction: column; gap: 6px;}
/* ==================================================
   SPORTS LIST
================================================== */

.events-page__sports {display: flex; flex-direction: column; gap: 4px;}
.events-page__sport {display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 8px; font-size: 14px; color: #1f2937; text-decoration: none; transition: background .15s ease;}
.events-page__sport i {width: 18px; text-align: center; color: #64748b;}
.events-page__sport:hover {background: #f1f5f9;}
.events-page__sport.is-active {background: #e0ecff; font-weight: 600;}
/* ==================================================
   COUNTERS
================================================== */

.events-page__count {margin-left: auto; min-width: 32px; padding: 2px 6px; font-size: 12px; text-align: center; border-radius:6px; background:#e2e6ee; color:#64748b; font-weight: 600;}
.events-page__count-live {margin-left: auto; min-width: 32px; padding: 2px 6px; font-size: 12px; text-align: center; border-radius:6px; background:#fb6565; color:#fff; font-weight: 600;}
.events-page__count-live-lig {margin-left: auto; min-width: 32px; padding: 2px 6px; font-size: 12px; text-align: center; border-radius:6px; background:#ffd6d6; color:#ff3d3d; font-weight: 600;}
/* ==================================================
   ACCORDION
================================================== */

.events-page__accordion {display: flex; flex-direction: column; gap: 6px;}
/* ==================================================
   COUNTRY
================================================== */

.events-page__country {border-radius: 8px; overflow: hidden;}
.events-page__country summary {display: flex; align-items: center; gap: 8px; padding: 6px 8px; cursor: pointer; list-style: none; font-size: 13px; font-weight: 500; color: #111827;}
.events-page__country summary::-webkit-details-marker {display: none;}
.events-page__country summary:hover {background: #f8fafc;}
.events-page__country .flag {width: 18px; height: auto; object-fit: cover;}
/* arrow */
.events-page__country summary::after {content: "▸"; margin-left: auto; font-size: 12px; color: #64748b; transition: transform .15s ease;}
.events-page__country[open] summary::after {transform: rotate(90deg);}
/* ===============================
   SPORT BLOCK
================================ */

.events-page__sport-block {display: flex; flex-direction: column; gap: 6px;}
.events-page__sport.js-toggle-sport {cursor: pointer;}
/* ===============================
   COUNTRY
================================ */

.events-page__country-head {display: flex; align-items: center; gap: 8px; padding: 6px 8px; cursor: pointer; font-size: 13px; font-weight: 500; border-radius: 8px;}
.events-page__country-head:hover {background: #f8fafc;}
.events-page__country .events-page__leagues {display: none;}
.events-page__country.is-open .events-page__leagues {display: block;}
/* ==================================================
   LEAGUES
================================================== */

.events-page__leagues {list-style: none; margin: 0; padding: 2px 0 6px;}
.events-page__league a {display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px; font-size: 13px; color: #374151; text-decoration: none; border-radius: 6px; transition: background .15s ease;}
.events-page__league
.events-page__league a:hover {background: #f1f5f9;}
.events-page__league .events-page__count {background: #eef4ff; color: #1d4ed8;}
.events-page__league .flag_ligue {width: 18px; height: auto; object-fit: cover;}
/* ==================================================
   CUSTOM ACCORDION (NO DETAILS, NO ARROWS)
================================================== */



.events-page__country-head {display: flex; align-items: center; gap: 8px; padding: 6px 8px; cursor: pointer; font-size: 13px; font-weight: 500; color: #111827; border-radius: 8px;}
.events-page__country-head:hover {background: #f8fafc;}
/* closed by default */
.events-page__country .events-page__leagues {display: none;}
/* open state */
.events-page__country.is-open .events-page__leagues {display: block;}
/* ===============================
   VISIBILITY STATES
================================ */

/* accordion closed by default */
.events-page__accordion {display: none;}
/* open sport */
.events-page__sport-block.is-open .events-page__accordion {display: flex;}
/* countries closed by default */
.events-page__country .events-page__leagues {display: none;}
/* open country */
.events-page__country.is-open .events-page__leagues {display: block;}
/* ===============================
   SPORT TOGGLE ICON
================================ */

.events-page__sport-actions {margin-left: auto; display: flex; align-items: center; gap: 6px;}
.events-page__toggle-btn {width: 26px; height: 26px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: #eef2ff; color: #4f46e5; cursor: pointer; transition: background .2s ease, transform .25s ease;}
.events-page__toggle-btn i {font-size: 12px; transition: transform .25s ease;}
.events-page__sport-block.is-open
.events-page__toggle-btn i {transform: rotate(180deg);}
.events-page__sport:hover .events-page__toggle-btn {background: #e0e7ff;}
/* ===============================
   SPORT ROW LAYOUT FIX
================================ */

.events-page__sport {display: flex; align-items: center; gap: 8px;}
/* название спорта */
.events-page__sport span {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
/* стрелка — прижата вправо */
.events-page__toggle-icon {margin-left: auto; /* 🔑 ПРИЖИМАЕМ ВПРАВО */ font-size: 13px; color: #64748b; transition: transform .25s ease, color .2s ease;}
.events-page__sport > .events-page__count,
.events-page__sport > .events-page__count-live {margin-left: auto;}
.events-page__sport > .events-page__toggle-icon + .events-page__count,
.events-page__sport > .events-page__toggle-icon + .events-page__count-live {margin-left: 6px;}
/* вращение при открытом блоке */
.events-page__sport-block.is-open
.events-page__toggle-icon {transform: rotate(90deg); color: #2563eb;}
/* лёгкий hover */
.events-page__sport:hover
.events-page__toggle-icon {color: #1d4ed8;}
.sportchat-events__round {margin-top: 6px; font-size: 12px; color: #64748b; text-align: center;}
.sportchat-events-widjet__round {margin-top: 6px; font-size: 12px; color: #64748b; display: flex; align-items: center; gap: 6px; width: 100%;}
.period-box-mini {position: relative; display: inline-flex; align-items: center; padding: 6px 10px 6px 12px; border: 2px solid #e2e6ee; border-radius: 8px; color: #64748b; background: #ffffff; font-size: 12px; font-weight: 900; line-height: 1;}
.period-box-mini-label {position: absolute; top: -7px; left: -4px; padding: 1px 5px; font-size: 9px; font-weight: 900; line-height: 1; background: #ffffff;}
.period-box-mini-label:hover,
.period-box-mini:hover {background: #f1f3f8;}
.periods-boxes {display: flex; justify-content: center; gap: 6px; margin-top: 6px; flex-wrap: wrap;}
.sportchat-events-widjet__round-name {flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: left;}
/* логотип турнира */
.widjet_tournament {width: 16px; height: 16px; object-fit: contain; flex-shrink: 0; opacity: 0.9;}
/* КАРТОЧКА ТОПА */
.top-widget {border: 1px solid #e2e6ee; border-radius: 12px; overflow: hidden; margin-bottom: 20px; background: #fff;}
/* ЗАГОЛОВОК */
.top-widget-header-title{
  font-size:16px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;

  padding:10px 14px;

  background:
    linear-gradient(
      90deg,
      rgba(59,130,246,.18),
      rgba(59,130,246,0)
    );

  border-left:4px solid #3b82f6;
  border-radius:6px;

  margin-bottom:10px;
  line-height:1.2;
}
.top-widget__title {margin: 0; padding: 10px 14px; font-size: 16px; font-weight: 800; text-transform: uppercase; color: #64748b; background: #e2e6ee; display: flex; align-items: center;}
/* СПИСОК МАТЧЕЙ */
.top-widget__list {display: flex; flex-direction: column;}
/* разделитель между матчами */
.top-widget__list
.sportchat-events__link:not(:last-child) {border-bottom: 1px solid #fee2e2;}
#livetab,
#todaytab {cursor:pointer;}
/* ===== CALENDAR NAV ===== */
.calendar-nav {margin-left: auto; display: flex; align-items: center; gap: 6px; background: #f4f6fb; border-radius: 14px; height: 34px; padding: 28px 14px;}
/* кнопки */
.cal-btn {width: 34px; height: 34px; border: none; border-radius: 10px; background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; color: #333; box-shadow: 0 1px 3px rgba(0,0,0,.08); transition: all .15s ease;}
.cal-btn i {font-size: 14px;}
.cal-btn:hover {background: #3b83f7; color: #fff;}
.cal-btn:active {transform: scale(.96);}
/* дата */
.cal-date {padding: 0 12px; text-align: center; min-width: 96px; line-height: 1.1;}
.cal-day {display: block; font-size: 17px; font-weight: 800; color: #111;}
.cal-month {font-size: 12px; color: #6b7280; text-transform: lowercase;}
.cal-date {transition: color .15s ease;}
.calendar-nav:hover .cal-day {color: #3b83f7;}
.loader-wrap {width: 100%; min-height: 240px; display: flex; align-items: center; justify-content: center; padding: 40px 0;}
.custom-loader {--d:22px; width: 4px; height: 4px; border-radius: 50%; color: #5F58C4; box-shadow: calc(1*var(--d)) calc(0*var(--d)) 0 0, calc(0.707*var(--d)) calc(0.707*var(--d)) 0 1px, calc(0*var(--d)) calc(1*var(--d)) 0 2px, calc(-0.707*var(--d)) calc(0.707*var(--d)) 0 3px, calc(-1*var(--d)) calc(0*var(--d)) 0 4px, calc(-0.707*var(--d)) calc(-0.707*var(--d))0 5px, calc(0*var(--d)) calc(-1*var(--d)) 0 6px; animation: s7 1s infinite steps(8);}
@keyframes s7 {
100% {transform: rotate(1turn)}
}
@media (min-width: 900px) {
.events-page__mobile_sidebar {display: none !important;}
}
@media (max-width: 900px) {
  .sportchat-events-h2h__match {
  grid-template-columns: 48px 1fr 48px; gap: 20px; }

/* ===== ОБЩИЕ ОТСТУПЫ ===== */
  .api-wrapper {gap: 12px; margin-bottom: 32px; grid-template-columns: minmax(0, 1fr);}
.sports-block {display:none;}
/* ===== TOP WIDGET ===== */
  .t-title,
  .top-widget__title {font-size: 14px; padding: 8px 12px;}
.sportchat-events__match_wid,
  .sportchat-events__match {grid-template-columns: 70px auto 30px; padding: 10px 12px;}
/* ===== TIME ===== */
  .sportchat-events__time {font-size: 11px; gap: 3px;}
/* ===== BODY ===== */
  .sportchat-events__body {grid-template-columns: 1fr auto 1fr; gap: 6px;}
/* ===== TEAMS ===== */
  .sportchat-events__team {font-size: 12px; gap: 6px;}
.sportchat-events__team img {width: 20px; height: 20px;}
/* длинные названия */
  .sportchat-events__team span {max-width: 65px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
/* ===== SCORE ===== */
  .sportchat-events__score span {min-width: 22px; height: 22px; font-size: 14px;}
.sportchat-events-widjet__round {justify-content: center; width: 100%;}
.sportchat-events-widjet__round-name {display:none;}
}
/* Календарь */
.calendar-nav {border-radius: 12px; height: 24px; padding: 18px 10px;}
.cal-date {min-width:20px;}
.cal-btn {width: 14px; height: 14px;}
.cal-day {font-size: 14px; font-weight: 800;}
.cal-month {font-size: 10px;}
/* =========================================
   MOBILE SPORTS SIDEBAR (NEW)
========================================= */

.events-page__mobile_sidebar {display: flex; gap: 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory;}
/* скрываем скроллбар */
.events-page__mobile_sidebar::-webkit-scrollbar {display: none;}
/* плитка */
.events-page__mobile_item {flex: 0 0 auto; width: 80px; height: 80px; background: #f4f5f7; border-radius: 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-decoration: none; color: #111; position: relative; scroll-snap-align: start;}
/* активная */
.events-page__mobile_item.is-active {background: #57586a; color: #fff;}
/* иконка */
.events-page__mobile_item i {font-size: 24px; line-height: 1;}
/* подпись */
.events-page__mobile_item span {max-width: calc(100% - 12px); padding: 0 6px; font-size: 16px; line-height: 1.1; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block;}
/* LIVE бейдж */
.events-page__mobile_live {position: absolute; top: 6px; right: 6px; background: #e10600; color: #fff; font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 10px;}
