/* ==========================================================================
   STATIA — мобильная вёрстка (≤767px)
   Источник: STATIA_new_design5/design_handoff_mobile
     • «STATIA Mobile.dc.html»       — 01 Главная, 02 Меню шапки, 03 Матч
     • «STATIA Mobile Pages.dc.html» — внутренние страницы (лига/команда/
                                       игрок/судья/AI и общий каркас)

   Грузится ПОСЛЕДНИМ (после sc.css → sc-redesign.css → sc-nova2.css), поэтому
   переопределяет их без !important везде, где хватает специфичности.

   Токены берём из body.stn2 (sc-nova2.css) — они уже совпадают с макетом
   (bg oklch(16% 0.015 260), accent1 #7C5CFC, accent2 #2DD4BF и т.д.).

   Брейкпоинт 767px, а не 992px: между 768 и 992 остаётся прежний off-canvas
   из sc.css — планшетную вёрстку макет не описывает, и её не трогаем.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Мобильная оболочка скрыта на десктопе.
   Разметка (шапка, меню, таб-бар) рендерится всегда — так меню работает даже
   при упавшем JS, а переключение размера не требует перерисовки.
   -------------------------------------------------------------------------- */
.stn2-mhdr,
.stn2-mmenu,
.stn2-mtabbar,
.stn2-mph,
.stn2-m-live,
.stn2-m-xg,
.stn2-m-matchcta,
.stn2-m-aitiles,
.stn2-m-promo,
.stn2-m-disclaimer,
.stn2-m-pitches,
.stn2-m-chips{ display:none; }
/* Гербы в строках таблицы матчей нужны только мобильному макету. */
.lg__crest{ display:none; }

/* Локальные токены мобильной оболочки (значения из README пакета). */
body.stn2{
    --stn2-m-pad: 14px;
    --stn2-m-hdr-h: 56px;
    --stn2-m-tabbar-h: 58px;
    --stn2-m-safe-b: env(safe-area-inset-bottom, 0px);
    --stn2-m-chrome-bg: oklch(16% 0.015 260 / .93);
    --stn2-m-card: oklch(21% 0.02 262 / .6);
    --stn2-m-card-open: oklch(23% 0.022 262 / .8);
    --stn2-m-glass: oklch(100% 0 0 / .05);
    --stn2-m-line: oklch(100% 0 0 / .06);
}

@media (max-width: 767px){

/* ==========================================================================
   1. Шапка и полноэкранное меню (экраны 01 / 02)
   ========================================================================== */

/* Десктопная шапка и её mega-menu на мобильном не участвуют вовсе. */
body.stn2 .h,
body.stn2 .btm,
body.stn2 .h__overlay,
body.stn2 .h__menu-wrap{ display:none !important; }

body.stn2 .header{ position:sticky; top:0; z-index:60; }

.stn2-mhdr{
    display:flex;
    align-items:center;
    gap:4px;
    min-height:var(--stn2-m-hdr-h);
    padding:6px 8px 8px;
    background:oklch(16% 0.015 260 / .9);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--stn2-border);
}
/* Логотип идёт в разметке первым (важнее для SEO/скринридера), а бургер —
   вторым; порядок в макете задаём флексом, чтобы не дублировать разметку. */
.stn2-mhdr-burger{ order:-1; }
.stn2-mhdr-logo{
    order:0;
    font-family:'Space Grotesk',sans-serif;
    font-weight:700;
    font-size:19px;
    letter-spacing:.4px;
    line-height:1.1;
    background:var(--stn2-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    white-space:nowrap;
    text-decoration:none;
}
.stn2-mhdr-right{ order:1; margin-left:auto; display:flex; align-items:center; gap:2px; }
.stn2-mhdr-btn{
    width:44px; height:44px;
    flex:0 0 44px;
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    gap:5px;
    padding:0; margin:0;
    border:0; border-radius:12px;
    background:transparent;
    color:oklch(85% 0.01 260);
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}
.stn2-mhdr-btn:active{ background:oklch(100% 0 0 / .07); }
.stn2-mhdr-bar{ width:19px; height:2px; border-radius:2px; background:oklch(90% 0.005 260); }
.stn2-mhdr-bar:nth-child(3){ width:13px; }
.stn2-mhdr-ava-wrap{ text-decoration:none; }
.stn2-mhdr-ava{
    width:30px; height:30px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--stn2-accent1),var(--stn2-accent2));
    display:flex; align-items:center; justify-content:center;
    font-size:12.5px; font-weight:600; color:#fff;
    object-fit:cover;
}
.stn2-mhdr-ava_img{ background:none; }

/* ---------- Полноэкранное меню ---------- */
/* Закрытое состояние — hidden/display:none, НЕ смещение за правый край:
   position:fixed вне вьюпорта добавляет ширину в прокрутку документа, и
   html{overflow-x:hidden} его не обрезает (см. историю бага H-скролла). */
.stn2-mmenu{
    display:flex;
    flex-direction:column;
    position:fixed;
    inset:0;
    z-index:200;
    background:oklch(15% 0.015 260);
    animation:stn2FadeUp .3s ease both;
}
.stn2-mmenu[hidden]{ display:none; }
body.stn2-mmenu-lock{ position:fixed; left:0; right:0; width:100%; overflow:hidden; }

.stn2-mmenu-top{
    flex-shrink:0;
    display:flex; align-items:center; gap:4px;
    padding:8px 12px 10px;
    border-bottom:1px solid var(--stn2-border);
}
.stn2-mmenu-close{ background:oklch(100% 0 0 / .06); }
.stn2-mmenu-top-r{ margin-left:auto; }
.stn2-mmenu-user{
    display:flex; align-items:center; gap:8px;
    padding:6px 12px 6px 6px;
    border-radius:999px;
    background:oklch(100% 0 0 / .06);
    border:1px solid oklch(100% 0 0 / .09);
    text-decoration:none;
}
.stn2-mmenu-user-ava{
    width:26px; height:26px; border-radius:50%;
    background:linear-gradient(135deg,var(--stn2-accent1),var(--stn2-accent2));
    display:flex; align-items:center; justify-content:center;
    font-size:11.5px; font-weight:600; color:#fff;
    object-fit:cover;
}
.stn2-mmenu-user-ava_img{ background:none; }
.stn2-mmenu-user-name{ font-size:12px; color:oklch(85% 0.01 260); max-width:96px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.stn2-mmenu-body{
    flex:1;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:14px 14px calc(34px + var(--stn2-m-safe-b));
}

/* Поле поиска в меню переиспользует общий виджет .stn2-hs (обработчик в
   header.html вешается на каждый .stn2-hs), поэтому здесь только геометрия. */
.stn2-mmenu-search{ display:block; margin-bottom:16px; }
.stn2-mmenu-search .stn2-hdr-search{
    display:flex; align-items:center; gap:9px;
    min-height:46px; width:100%;
    padding:0 14px;
    border-radius:14px;
    background:var(--stn2-m-glass);
    border:1px solid oklch(100% 0 0 / .09);
    color:var(--stn2-muted);
}
.stn2-mmenu-search .stn2-hdr-search-input{
    flex:1; min-width:0;
    background:none; border:0; outline:none; padding:0;
    font-size:14px; color:var(--stn2-text);
}
.stn2-mmenu-search .stn2-hdr-search-input::placeholder{ color:oklch(55% 0.01 260); }
/* Панель результатов позиционируется JS-ом по координатам триггера (top/right
   инлайном) — на узком экране растягиваем её на всю ширину. */
.stn2-mmenu .stn2-hs-panel{
    left:14px !important;
    right:14px !important;
    width:auto !important;
    max-width:none !important;
    max-height:66vh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.stn2-mmenu .stn2-hs-scopes{
    flex-shrink:0;
    overflow-x:auto;
    scrollbar-width:none;
    white-space:nowrap;
    flex-wrap:nowrap;
}
.stn2-mmenu .stn2-hs-scopes::-webkit-scrollbar{ width:0; height:0; }
.stn2-mmenu .stn2-hs-scope{ flex:0 0 auto; }
.stn2-mmenu .stn2-hs-body{ flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; }
/* Подсказки клавиш (↑↓ / ↵ / esc) на тач-устройстве бессмысленны и не влезают. */
.stn2-mmenu .stn2-hs-foot-keys{ display:none; }
.stn2-mmenu .stn2-hs-foot{ flex-shrink:0; justify-content:flex-end; }

/* ---------- Разделы-аккордеоны ---------- */
.stn2-msecs{ display:flex; flex-direction:column; gap:6px; }
.stn2-msec{
    border-radius:16px;
    border:1px solid oklch(100% 0 0 / .07);
    background:oklch(20% 0.018 262 / .5);
    overflow:hidden;
    transition:border-color .2s, background .2s;
}
.stn2-msec_open{
    border-color:oklch(from var(--stn2-accent2) l c h / .33);
    border-color:#2DD4BF55;
    background:var(--stn2-m-card-open);
}
.stn2-msec-head{
    width:100%;
    min-height:52px;
    display:flex; align-items:center; gap:12px;
    padding:8px 14px;
    margin:0;
    border:0; background:none;
    text-align:left;
    color:inherit;
    text-decoration:none;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}
.stn2-msec-head:active{ background:oklch(100% 0 0 / .04); }
.stn2-msec-ico{
    width:34px; height:34px; flex:0 0 34px;
    border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    background:var(--stn2-m-glass);
    color:oklch(72% 0.01 260);
    transition:background .2s, color .2s;
}
.stn2-msec_open .stn2-msec-ico{
    background:linear-gradient(135deg,#7C5CFC33,#2DD4BF33);
    color:var(--stn2-accent2);
}
.stn2-msec-body{ flex:1; min-width:0; display:block; }
.stn2-msec-title{ display:block; font-size:15px; font-weight:600; color:oklch(90% 0.005 260); }
.stn2-msec_open .stn2-msec-title{ color:#fff; }
.stn2-msec-hint{
    display:block;
    font-size:11.5px; color:oklch(58% 0.01 260);
    margin-top:2px;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.stn2-msec-badge{
    flex-shrink:0;
    font-size:10px; font-weight:700; letter-spacing:.4px;
    color:#0b1220;
    background:var(--stn2-gradient);
    padding:3px 8px; border-radius:6px;
}
.stn2-msec-chev{ flex-shrink:0; color:oklch(62% 0.01 260); transition:transform .2s; }
.stn2-msec_open .stn2-msec-chev{ transform:rotate(180deg); }

.stn2-msec-items{ display:none; padding:2px 12px 12px 60px; }
.stn2-msec_open .stn2-msec-items{ display:flex; flex-direction:column; }
.stn2-msec-item{
    min-height:44px;
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    border-top:1px solid var(--stn2-m-line);
    font-size:13.5px;
    color:oklch(82% 0.01 260);
    text-decoration:none;
    animation:stn2SlideIn .25s ease both;
}
.stn2-msec-item:active{ background:oklch(100% 0 0 / .04); }
.stn2-msec-meta{
    font-family:'Space Grotesk',sans-serif;
    font-size:11px; font-weight:600;
    color:oklch(56% 0.01 260);
}
.stn2-msec-meta_live{ color:var(--stn2-danger-fg); }
@keyframes stn2SlideIn{ from{ opacity:0; transform:translateX(14px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){
    .stn2-msec-item, .stn2-mmenu{ animation:none !important; }
}

/* ---------- PRO-баннер, утилиты, выход ---------- */
.stn2-mpro{
    margin-top:18px;
    border-radius:18px;
    padding:16px;
    background:linear-gradient(130deg,#7C5CFC22,#2DD4BF1a);
    border:1px solid #7C5CFC44;
}
.stn2-mpro-title{ font-family:'Space Grotesk',sans-serif; font-size:15.5px; font-weight:600; margin-bottom:5px; }
.stn2-mpro-text{ font-size:12.5px; color:oklch(72% 0.01 260); line-height:1.5; margin-bottom:13px; }
.stn2-mpro-cta{
    min-height:44px;
    border-radius:12px;
    background:var(--stn2-gradient);
    color:#fff; font-size:14px; font-weight:600;
    display:flex; align-items:center; justify-content:center;
    text-decoration:none;
}
.stn2-mutil{ display:flex; flex-direction:column; margin-top:12px; }
.stn2-mutil-row{
    position:relative;
    min-height:46px;
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    border-bottom:1px solid oklch(100% 0 0 / .05);
    text-decoration:none;
}
.stn2-mutil-label{ font-size:13.5px; color:oklch(74% 0.01 260); }
.stn2-mutil-value{ font-size:12px; color:oklch(52% 0.01 260); }
.stn2-mutil-row_tz{ cursor:pointer; }
.stn2-mutil-tzmenu{ right:0; left:auto; top:46px; }
.stn2-mlogout,
.stn2-mlogin{
    margin-top:16px;
    min-height:46px;
    display:flex; align-items:center; justify-content:center; gap:8px;
    border-radius:12px;
    font-size:13.5px; font-weight:600;
    text-decoration:none;
}
.stn2-mlogout{ border:1px solid oklch(66% 0.21 25 / .35); color:oklch(76% 0.17 25); }
.stn2-mlogin{ background:var(--stn2-gradient); color:#fff; }

/* ==========================================================================
   2. Нижний таб-бар
   ========================================================================== */
.stn2-mtabbar{
    display:flex;
    position:fixed; left:0; right:0; bottom:0;
    z-index:55;
    padding:8px 6px calc(10px + var(--stn2-m-safe-b));
    background:var(--stn2-m-chrome-bg);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    border-top:1px solid var(--stn2-border);
}
.stn2-mtab{
    flex:1;
    min-height:44px;
    display:flex; flex-direction:column;
    align-items:center; justify-content:center; gap:4px;
    color:oklch(58% 0.01 260);
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
}
.stn2-mtab svg{ width:21px; height:21px; }
.stn2-mtab span{ font-size:10px; font-weight:500; line-height:1; }
.stn2-mtab_on{ color:var(--stn2-accent2); }
/* Место под таб-бар в конце документа: у него position:fixed, иначе он
   перекрывает подвал и последний блок страницы. */
body.stn2 .footer__wrap{ padding-bottom:calc(var(--stn2-m-tabbar-h) + var(--stn2-m-safe-b)); }

/* ==========================================================================
   3. Общие правила страниц
   ========================================================================== */
body.stn2 .container-fluid{ padding-left:var(--stn2-m-pad); padding-right:var(--stn2-m-pad); }
body.stn2 .title__h1{ font-size:22px; line-height:1.25; letter-spacing:-.3px; }
body.stn2 .title__h2{ font-size:17px; }

/* Тикер: в макете это ручной горизонтальный скролл, без marquee. */
body.stn2 .stn2-ticker{ padding:9px var(--stn2-m-pad); background:oklch(100% 0 0 / .03); border-bottom:1px solid var(--stn2-m-line); }
body.stn2 .stn2-ticker-track{
    animation:none !important;
    gap:22px;
    overflow-x:auto;
    scrollbar-width:none;
}
body.stn2 .stn2-ticker-track::-webkit-scrollbar{ width:0; height:0; }
body.stn2 .stn2-ticker-item{ font-size:12px; color:oklch(76% 0.01 260); flex-shrink:0; }
/* Дубль трека нужен только для бесшовной marquee-прокрутки — на мобильном
   она выключена, и второй проход читался бы как повтор матчей. */
body.stn2 .stn2-ticker-item[aria-hidden="true"]{ display:none; }

/* ==========================================================================
   3b. Компактная шапка страницы: назад — заголовок — действие (m_pagehead.html)
   ========================================================================== */
/* Не sticky: у .content стоит overflow:hidden, из-за чего он становится
   scroll-контейнером и position:sticky даёт постоянный сдвиг вниз на величину
   top даже в начале страницы. Липкой остаётся только шапка приложения. */
.stn2-mph{
    display:flex; align-items:center; gap:4px;
    position:relative;
    z-index:40;
    margin:0 calc(var(--stn2-m-pad) * -1) 4px;
    padding:6px 10px 9px;
    background:var(--stn2-m-chrome-bg);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--stn2-border);
}
.stn2-mph-btn{
    width:44px; height:44px; flex:0 0 44px;
    display:flex; align-items:center; justify-content:center;
    padding:0; margin:0; border:0; border-radius:12px;
    background:none;
    color:oklch(90% 0.005 260);
    text-decoration:none;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}
.stn2-mph-btn:active{ background:oklch(100% 0 0 / .07); }
.stn2-mph-btn_act{ color:oklch(80% 0.01 260); }
.stn2-mph-spacer{ width:44px; flex:0 0 44px; }
.stn2-mph-body{ flex:1; min-width:0; }
.stn2-mph-title{
    font-size:14.5px; font-weight:600;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.stn2-mph-sub{
    font-size:11px; color:oklch(58% 0.01 260);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
/* Хлебные крошки дублируют кнопку «назад» — на мобильном они лишний ряд.
   Остаются в DOM ради микроразметки BreadcrumbList. */
.stn2-mph + .breadcrumbs,
.stn2-mph + .stn2-entity-crumbs,
.stn2-entity .stn2-entity-crumbs,
.stn2-match .breadcrumbs{ display:none; }

/* ==========================================================================
   4. Компоненты внутренних страниц (макет «Mobile Pages»)
   Классы-примитивы: их используют и точечные переопределения ниже.
   ========================================================================== */
.stn2-mcard{
    border-radius:16px;
    border:1px solid var(--stn2-border);
    background:var(--stn2-m-card);
    padding:16px;
}
.stn2-mcard_glow{
    border-color:#7C5CFC33;
    background:linear-gradient(130deg,#7C5CFC1a,#2DD4BF14);
}
.stn2-mcard-label{
    font-size:11px; text-transform:uppercase; letter-spacing:.5px;
    color:var(--stn2-muted);
    margin-bottom:12px;
}
.stn2-mkpi{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.stn2-mkpi-i{
    border-radius:12px;
    background:oklch(100% 0 0 / .04);
    border:1px solid oklch(100% 0 0 / .07);
    padding:11px 12px;
}
.stn2-mkpi-label{
    font-size:10px; color:oklch(58% 0.01 260);
    text-transform:uppercase; letter-spacing:.4px;
    margin-bottom:6px;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.stn2-mkpi-val{ font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:700; }

/* ==========================================================================
   5. Главная (экран 01)
   ========================================================================== */
/* Hero-картинка матча в мобильном макете не участвует: экран начинается с
   тикера → чипов → карточки «AI прогноз дня» → списка матчей. */
.stn2-home .stn2-hero{ display:none; }
.stn2-home .stn2-hero-row{ display:block; margin-top:12px; }

/* Карточка сигналов = «AI прогноз дня» из макета. */
.stn2-home .stn2-signals{
    border-radius:18px;
    border:1px solid oklch(100% 0 0 / .09);
    background:oklch(21% 0.02 262 / .75);
    padding:6px 16px;
}
.stn2-home .stn2-signal-row{ padding:12px 0; gap:14px; }
.stn2-home .stn2-signal-label{ font-size:10.5px; letter-spacing:.5px; text-transform:uppercase; color:oklch(60% 0.01 260); margin-bottom:3px; }
.stn2-home .stn2-signal-title{ font-family:'Space Grotesk',sans-serif; font-size:15px; font-weight:600; margin-bottom:3px; }
.stn2-home .stn2-signal-sub{ font-size:12px; color:oklch(66% 0.01 260); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* KPI-полоса главной → сетка 2×N плиток (блок isKpi из макета). */
.stn2-home .stn2-kpi-strip{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.stn2-home .stn2-kpi{ padding:12px; border-radius:12px; }
.stn2-home .stn2-kpi-label{ font-size:10px; letter-spacing:.4px; }
.stn2-home .stn2-kpi-num{ font-size:19px; }
.stn2-home .stn2-kpi-sub{ font-size:11px; }

/* ==========================================================================
   6. Таблица матчей → карточки матчей (экран 01, блок «События сегодня»)
   Работает и на главной, и на /events/, и на странице лиги.
   ========================================================================== */
.events-table-header{ display:flex; flex-direction:column; gap:10px; }
.events-navigation{
    display:grid;
    grid-template-columns:1fr auto auto;
    grid-template-areas:
        "head head head"
        "sub  live all"
        "date date date";
    align-items:center;
    gap:10px 8px;
}
.events-table-heading{
    grid-area:head;
    line-height:1.25;
    margin:0;
    font-family:'Space Grotesk',sans-serif;
    font-size:17px; font-weight:600;
}
/* Ряд 1: заголовок секции слева, LIVE-чип и ссылка «Все матчи» справа —
   как «События сегодня … Все» в макете. Ряд 2 — переключатель даты. */
.events-navigation .all-events-button{
    grid-area:all;
    justify-self:end;
    font-size:12.5px;
    color:var(--stn2-accent2);
    background:none;
    border:0;
    padding:0;
    min-height:auto;
    white-space:nowrap;
}
.events-navigation .all-events-button svg{ display:none; }
.events-navigation .live-button{
    grid-area:live;
    justify-self:end;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    font-size:11.5px; font-weight:700;
}
.events-navigation .date-controls{ grid-area:date; justify-content:space-between; width:100%; }
.lg-priority-tabs{
    display:flex; gap:8px;
    overflow-x:auto;
    scrollbar-width:none;
    padding-bottom:2px;
}
.lg-priority-tabs::-webkit-scrollbar{ width:0; height:0; }
.lg-priority-tab{
    flex-shrink:0;
    min-height:36px;
    padding:0 14px;
    border-radius:10px;
    font-size:12.5px; font-weight:600;
    background:var(--stn2-m-glass);
    border:1px solid var(--stn2-border);
    color:oklch(74% 0.01 260);
}
.lg-priority-tab.active{ background:var(--stn2-gradient); border-color:transparent; color:#fff; }

/* Правила ниже намеренно с префиксом body.stn2: в sc-nova2.css есть
   `@media (max-width:640px){ body.stn2 .lg__block_h{...} }` и в sc.css —
   `@media (max-width:992px){ .lg__block_h{ grid:"b d d" "a c e"; } }`.
   Без префикса первое из них перебивало бы раскладку карточки по специфичности. */

/* Заголовок лиги — подпись группы карточек. */
body.stn2 .events-table .lg{ background:none; border:0; margin:0 0 10px; border-radius:0; }
body.stn2 .events-table .lg__h{
    display:flex; align-items:center; gap:8px;
    height:auto;
    padding:10px 2px 6px;
    background:none !important; border:0;
    font-size:11px;
    color:oklch(58% 0.01 260);
}
body.stn2 .events-table .lg__h .lg__name{ color:oklch(70% 0.01 260); font-weight:600; }
body.stn2 .events-table .lg__lg{ display:none; }
body.stn2 .events-table .lg__arrow{ margin-left:auto; margin-bottom:0; }
body.stn2 .events-table .lg__events{ display:flex; flex-direction:column; gap:10px; }

/* Карточка матча. */
body.stn2 .events-table .lg__block{ background:none !important; border:0; padding:0; }
body.stn2 .events-table .lg__block:has(+ .lg__block){ border-bottom:0 !important; }
body.stn2 .events-table .lg__block_h{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:
        "time toggle"
        "cnt  cnt"
        "odds odds";
    gap:10px 8px;
    align-items:center;
    border-radius:16px;
    border:1px solid var(--stn2-border);
    background:var(--stn2-m-card) !important;
    padding:13px 14px;
}
body.stn2 .events-table .lg__datetime{ grid-area:time; display:flex; align-items:center; justify-content:flex-start; gap:8px; text-align:left; font-size:11px; color:oklch(62% 0.01 260); }
body.stn2 .events-table .lg__time{ font-size:11px; color:oklch(62% 0.01 260); }
body.stn2 .events-table .lg__toggle{ grid-area:toggle; justify-self:end; }
body.stn2 .events-table .lg__referee{ display:none; }
body.stn2 .events-table .lg__cnt{
    grid-area:cnt;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
        "home score"
        "away score";
    align-items:center;
    row-gap:7px;
    column-gap:10px;
    text-decoration:none;
}
body.stn2 .events-table .lg__cnt .lg__team{
    grid-column:1;
    font-size:14.5px; font-weight:500;
    line-height:1.25;
    color:var(--stn2-text);
    text-align:left;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
}
body.stn2 .events-table .lg__cnt .lg__team:first-of-type{ grid-area:home; }
body.stn2 .events-table .lg__cnt .lg__team:last-of-type{ grid-area:away; }
body.stn2 .events-table .lg__center{
    grid-area:score;
    align-self:stretch;
    display:flex; align-items:center; justify-content:flex-end;
}
/* Между счётами лежит голый текстовый узел «-» — в колонку он не нужен;
   гасим его font-size:0 на контейнере и возвращаем размер самим числам. */
body.stn2 .events-table .lg__scores{
    display:flex; flex-direction:column;
    justify-content:space-between;
    align-items:flex-end;
    height:100%;
    gap:7px;
    font-size:0;
}
body.stn2 .events-table .lg__scores > span{
    display:block;
    width:auto;
    font-family:'Space Grotesk',sans-serif;
    font-size:15px; font-weight:700;
    line-height:1.25;
    text-align:right;
    color:oklch(72% 0.01 260);
}
body.stn2 .events-table .lg__scores > .lg__score-live{ color:var(--stn2-danger-fg); }
body.stn2 .events-table .lg__scores > .lg__score_g{ color:var(--stn2-success); }
body.stn2 .events-table .lg__status{
    min-width:0;
    max-width:104px;
    font-size:10px; font-weight:700;
    line-height:1.2;
    padding:4px 8px;
    border-radius:6px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
/* Ряд кэфов: три кнопки 1 / X / 2 (подписей в разметке нет — даём их ::before). */
body.stn2 .events-table .lg__odds{
    grid-area:odds;
    display:flex; gap:7px;
    justify-content:stretch;
}
body.stn2 .events-table .lg__odd{
    flex:1;
    min-height:44px;
    border-radius:11px;
    border:1px solid oklch(100% 0 0 / .09);
    background:oklch(100% 0 0 / .04);
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    gap:2px;
    padding:0;
    font-family:'Space Grotesk',sans-serif;
    font-size:13px; font-weight:700;
    color:var(--stn2-text);
}
body.stn2 .events-table .lg__odd::before{
    font-family:'Inter',system-ui,sans-serif;
    font-size:10px; font-weight:400;
    color:oklch(58% 0.01 260);
}
body.stn2 .events-table .lg__odd:nth-child(1)::before{ content:"1"; }
body.stn2 .events-table .lg__odd:nth-child(2)::before{ content:"X"; }
body.stn2 .events-table .lg__odd:nth-child(3)::before{ content:"2"; }

/* ==========================================================================
   7. Страница матча (экран 03)
   ========================================================================== */
.stn2-match .breadcrumbs{ font-size:11px; }
.stn2-match .title__h1{ font-size:19px; }

.stn2-match .event{
    margin-top:14px;
    margin-bottom:0;
    padding:18px 16px 16px;
    border-radius:16px;
    background:linear-gradient(180deg, oklch(21% 0.02 262 / .8), transparent);
    border:0;
}
.stn2-match .event__l{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:12px;
}
.stn2-match .event__c{ text-align:center; min-width:0; }
.stn2-match .event__c img{ width:48px; height:48px; object-fit:contain; margin:0 auto 8px; display:block; }
.stn2-match .event__c-name{ font-size:13px; font-weight:500; line-height:1.3; }
.stn2-match .event__position{ font-size:10.5px; }
.stn2-match .event__data{ text-align:center; }
.stn2-match .event__score{
    display:flex; align-items:center; justify-content:center; gap:8px;
    font-family:'Space Grotesk',sans-serif;
    font-size:38px; font-weight:700; letter-spacing:-1px;
    line-height:1.1;
}
/* В макете счёт — просто «1 : 0», без подложек-плиток из десктопной темы. */
.stn2-match .event__score-i,
.stn2-match .event__score-i[data-team="visitorteam"]{
    font-size:inherit; font-weight:inherit;
    padding:0; border-radius:0;
    background:none;
    color:var(--stn2-text);
}
.stn2-match .event__score-i[data-team="localteam"]::after{
    content:":";
    margin-left:8px;
    color:oklch(60% 0.01 260);
}
.stn2-match .event__status{
    display:inline-flex; align-items:center;
    font-size:11px; font-weight:700;
    padding:3px 10px; border-radius:999px;
    margin-bottom:10px;
}
.stn2-match .event__text{ font-size:11px; }

/* Вертикальные отступы десктопной вёрстки между hero и табами (25+15+20+25px)
   на 390px съедают экран — ужимаем до одного шага. */
.stn2-match .event__l{ padding-bottom:0; }
.stn2-match .js-league{ margin-top:0; }
.stn2-match .mySwiper{ margin-bottom:6px; }

/* Скролл-табы разделов матча. */
.stn2-match .tools.tools__active{
    display:flex; gap:6px;
    margin-top:10px;
    padding:4px 0 12px;
    overflow-x:auto;
    scrollbar-width:none;
    white-space:nowrap;
    border-bottom:1px solid oklch(100% 0 0 / .07);
}
.stn2-match .tools.tools__active::-webkit-scrollbar{ width:0; height:0; }
.stn2-match .tools__active .tools__wrap{ flex:0 0 auto; width:auto; }
.stn2-match .tools__active .tools__card{
    min-height:38px;
    display:flex; align-items:center;
    padding:0 14px;
    border:0; border-radius:10px;
    background:var(--stn2-m-glass);
}
.stn2-match .tools__active .tools__title{ font-size:12.5px; font-weight:600; color:oklch(70% 0.01 260); }
/* У .tools__card инлайновый background-image (иконка раздела) — он перебил бы
   градиент активного таба без !important. */
.stn2-match .tools__active .tools__card{ background-image:none !important; }
.stn2-match .tools__active .tools__wrap.active .tools__card{ background-image:var(--stn2-gradient) !important; background-color:transparent; }
.stn2-match .tools__active .tools__wrap.active .tools__title{ color:#fff; }

/* Двухцветные бары «Ключевая статистика». */
.stn2-match .stn2-half-row-label{ font-size:11.5px; color:oklch(62% 0.01 260); }
.stn2-match .stn2-half-row-val{ font-family:'Space Grotesk',sans-serif; font-size:11.5px; font-weight:700; }
.stn2-match .stn2-half-row-bar{ height:5px; border-radius:3px; }

/* Блок «Прогноз матча».
   ВАЖНО: .stn2-predict-card — это ВЕСЬ блок прогноза, а .stn2-predict-grid
   внутри него — сетка из двух крупных панелей («Основной прогноз» и
   «Распределение исходов»), а не плитки вероятностей из макета. Раньше здесь
   стояло display:flex, и на 390px обе панели не влезали: сетка разъезжалась
   на 433px, правая панель обрезалась по краю .content{overflow:hidden} без
   возможности доскроллить. На узком экране — одна колонка. */
.stn2-match .stn2-predict-card{ padding:15px; border-radius:16px; }
.stn2-match .stn2-predict-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-bottom:12px;
}
.stn2-match .stn2-predict-main{ padding:14px; gap:12px; }
.stn2-match .stn2-predict-dist{ padding:14px; }
.stn2-match .stn2-predict-label{ font-size:10.5px; color:oklch(62% 0.01 260); }
/* Плитки вероятностей (три исхода) — как в макете: равные колонки. */
.stn2-match .stn2-predict-totals,
.stn2-match .stn2-predict-oc-rows{ min-width:0; }

/* Быстрая навигация по разделам — списком строк, а не плитками. */
.stn2-match .stn2-quicknav{ display:flex; flex-direction:column; gap:0; }
.stn2-match .stn2-quicknav-card{
    min-height:48px;
    display:flex; flex-direction:column; justify-content:center;
    padding:10px 0;
    border-radius:0;
    border:0;
    border-top:1px solid var(--stn2-m-line);
    background:none;
}
.stn2-match .stn2-quicknav-title{ font-size:13.5px; font-weight:500; }
.stn2-match .stn2-quicknav-desc{ font-size:11px; color:oklch(56% 0.01 260); margin-top:2px; }

/* ==========================================================================
   8. Внутренние страницы: лига / команда / игрок / судья / AI
   ========================================================================== */
/* Табы сущностей — горизонтальная лента без скроллбара (скролл-табы макета).
   .stn2-chip-row намеренно оставляем переносящимся: в макете это блок isChips
   с flex-wrap, а не лента. */
body.stn2 .stn2-entity-tabs{
    display:flex; gap:6px;
    overflow-x:auto;
    scrollbar-width:none;
    white-space:nowrap;
}
body.stn2 .stn2-entity-tabs::-webkit-scrollbar{ width:0; height:0; }
body.stn2 .stn2-entity-tab,
body.stn2 .stn2-chip{
    flex:0 0 auto;
    min-height:36px;
    display:flex; align-items:center;
    padding:0 14px;
    border-radius:10px;
    font-size:12.5px; font-weight:600;
}
body.stn2 .stn2-entity-tab{ min-height:38px; }
body.stn2 .stn2-entity-tab_on,
body.stn2 .stn2-entity-tab.active,
body.stn2 .stn2-chip_on,
body.stn2 .stn2-chip.active{ background:var(--stn2-gradient); color:#fff; }

/* Табы сущностей на мобильном не «плавающая пилюля», а лента под шапкой. */
body.stn2 .stn2-entity-tabs{
    position:static;
    width:auto; max-width:none;
    padding:0 0 12px;
    margin:12px 0 14px;
    background:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    border:0;
    border-bottom:1px solid oklch(100% 0 0 / .07);
    border-radius:0;
}
body.stn2 .stn2-entity-tab{ padding:0 14px; }
body.stn2 .stn2-entity-tab svg{ display:none; }

/* Hero сущности: герб 54px + имя 19px + мета — блок `hero` из макета.
   Размеры аватара на страницах заданы инлайном (88/110px), поэтому !important. */
body.stn2 .stn2-entity-head,
body.stn2 .stn2-player-hero{
    display:flex; align-items:center; gap:13px;
    margin:0 calc(var(--stn2-m-pad) * -1) 0;
    padding:16px var(--stn2-m-pad) 14px;
    background:linear-gradient(180deg, oklch(21% 0.02 262 / .85), transparent);
}
body.stn2 .stn2-entity-head .stn2-entity-avatar,
body.stn2 .stn2-player-hero .stn2-entity-avatar{
    width:54px !important; height:54px !important;
    flex:0 0 54px;
    border-radius:14px !important;
    font-size:16px !important;
}
body.stn2 .stn2-entity-title{
    font-family:'Space Grotesk',sans-serif;
    font-size:19px; font-weight:700; letter-spacing:-.3px; line-height:1.2;
}
body.stn2 .stn2-player-hero-sub,
body.stn2 .stn2-entity-meta{ font-size:12px; color:oklch(66% 0.01 260); margin-top:4px; }
/* Круглый индикатор рейтинга в hero игрока — компактнее, как badge в макете. */
body.stn2 .stn2-player-hero .stn2-radial{ width:54px; height:54px; flex:0 0 54px; }
body.stn2 .stn2-player-hero .stn2-radial-value{ font-size:15px; }
body.stn2 .stn2-player-hero .stn2-radial-label{ font-size:8px; }
/* Кнопка «Сравнить команду» дублируется действием в компактной шапке. */
body.stn2 .stn2-entity-head .stn2-compare-btn{ display:none; }

/* Плитки показателей (.stn2-kpitile-grid) → сетка 2×N, как isKpi в макете. */
body.stn2 .stn2-kpitile-grid{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
body.stn2 .stn2-kpitile{ padding:11px 12px; border-radius:12px; }
body.stn2 .stn2-kpitile-value{ font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:700; }
body.stn2 .stn2-kpitile-label{ font-size:10px; text-transform:uppercase; letter-spacing:.4px; color:oklch(58% 0.01 260); line-height:1.3; }

/* KPI лиги/команды → сетка 2×N плиток (блок isKpi). */
body.stn2 .stn2-league-kpis{ display:grid; grid-template-columns:1fr 1fr; gap:9px; width:100%; }
body.stn2 .stn2-league-kpi{
    border-radius:12px;
    background:oklch(100% 0 0 / .04);
    border:1px solid oklch(100% 0 0 / .07);
    padding:11px 12px;
}
body.stn2 .stn2-league-kpi-value{ font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:700; }
body.stn2 .stn2-league-kpi-label{ font-size:10px; text-transform:uppercase; letter-spacing:.4px; color:oklch(58% 0.01 260); }

/* Широкие таблицы прокручиваем внутри своего контейнера — страница по
   горизонтали двигаться не должна. */
body.stn2 .dataTables_wrapper,
body.stn2 .table-responsive,
body.stn2 .stn2-odds-table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* ==========================================================================
   9. Формы и кнопки
   ========================================================================== */
body.stn2 input[type="text"],
body.stn2 input[type="email"],
body.stn2 input[type="password"],
body.stn2 input[type="search"],
body.stn2 select,
body.stn2 textarea{
    /* < 16px в iOS Safari вызывает автозум при фокусе */
    font-size:16px;
    min-height:48px;
    border-radius:13px;
}
body.stn2 textarea{ min-height:110px; }
body.stn2 .search__bar .search__input{ min-height:48px; border-radius:13px; }

/* ==========================================================================
   10. Мелочи
   ========================================================================== */
/* Cookie-баннер fzpd приклеен к низу окна — поднимаем над таб-баром, иначе
   кнопки «Принять/Отклонить» перекрываются навигацией. */
.fzpd-app-cookie-consent{ bottom:calc(12px + var(--stn2-m-tabbar-h) + var(--stn2-m-safe-b)); left:10px; right:10px; padding:18px 16px 16px; }

/* Декоративные блобы на мобильном заметно грузят композитинг и не читаются. */
body.stn2 .stn2-blobs .b3{ display:none; }


/* ---------- Страница AI-прогнозов ---------- */
body.stn2 .stn2-ai-hero{ padding:20px 16px; border-radius:18px; margin-bottom:16px; }
body.stn2 .stn2-ai-hero-title{ font-size:24px; line-height:1.1; }
body.stn2 .stn2-ai-filterbar{ padding:14px; border-radius:16px; margin-bottom:18px; }
/* Внутренние ряды фильтра свёрстаны инлайновым flex без wrap — на 390px они
   вылезали за правый край. */
body.stn2 .stn2-ai-filterbar-row > div{ flex-wrap:wrap !important; }
body.stn2 .stn2-ai-filterbar-row{ gap:10px; }
body.stn2 .stn2-slider{ width:auto !important; flex:1 1 90px; min-width:80px; }
body.stn2 .stn2-ai-market-chip{ min-width:0; padding:10px 14px; }

/* ---------- Hero игрока: бейдж рейтинга остаётся в одну строку ---------- */
body.stn2 .stn2-player-hero{ flex-wrap:nowrap; }
body.stn2 .stn2-player-hero-info{ min-width:0; }
body.stn2 .stn2-player-hero .stn2-radial{ flex:0 0 54px; }

/* ---------- Заголовок H1 страницы матча ---------- */
/* В макете внутренней страницы заголовок один — в компактной шапке. Длинный
   SEO-H1 дублировал бы его на пол-экрана, поэтому прячем визуально, оставляя
   в DOM и для скринридеров. */
.stn2-match .title__h1{
    position:absolute;
    width:1px; height:1px;
    margin:-1px; padding:0;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
}


/* ---------- Кнопки-CTA фильтров (макет: закреплённый CTA 48px) ---------- */
body.stn2 .stn2-cta-btn{ min-height:48px; border-radius:14px; font-size:14.5px; margin-bottom:22px; }

/* Вертикальный разделитель между группами чипов: при переносе строк он
   оказывается на отдельной строке и читается как артефакт. */
body.stn2 .stn2-ai-divider{ display:none; }


/* ==========================================================================
   11. Страница матча — макет STATIA(24)
   ========================================================================== */

/* ---------- LIVE-строка над счётом ---------- */
.stn2-match .stn2-m-live{
    display:flex; align-items:center; justify-content:center; gap:7px;
    margin-bottom:12px;
}
.stn2-match .stn2-m-live-dot{
    width:6px; height:6px; border-radius:50%;
    background:oklch(70% 0.2 25);
    animation:stn2PulseDot 1.4s ease-in-out infinite;
}
.stn2-match .stn2-m-live-text{ font-size:12px; font-weight:700; color:var(--stn2-danger-fg); }
.stn2-match .stn2-m-live-half{ font-size:12px; color:oklch(62% 0.01 260); }

/* ---------- Полоса xG под счётом ---------- */
.stn2-match .stn2-m-xg{
    display:flex; align-items:center; gap:10px;
    margin:14px 0 2px;
    padding:0 16px;
}
.stn2-match .stn2-m-xg-val{
    font-family:'Space Grotesk',sans-serif;
    font-size:11px; font-weight:700;
    white-space:nowrap;
}
.stn2-match .stn2-m-xg-val_home{ color:var(--stn2-accent2); }
.stn2-match .stn2-m-xg-val_away{ color:var(--stn2-accent1); }
.stn2-match .stn2-m-xg-bar{
    flex:1;
    display:flex;
    height:4px; border-radius:2px;
    overflow:hidden;
    background:oklch(100% 0 0 / .07);
}
.stn2-match .stn2-m-xg-seg{ height:100%; }
.stn2-match .stn2-m-xg-seg_home{ background:var(--stn2-accent2); }
.stn2-match .stn2-m-xg-seg_away{ background:var(--stn2-accent1); }

/* ---------- Закреплённая панель с CTA ---------- */
/* По макету на странице матча внизу одна кнопка действия, а не глобальная
   навигация — таб-бар тут скрываем (класс ставит stn2-mobile.js). */
body.stn2.stn2-m-hasmatchcta .stn2-mtabbar{ display:none; }
.stn2-m-matchcta{
    display:block;
    position:fixed; left:0; right:0; bottom:0;
    z-index:55;
    padding:10px var(--stn2-m-pad) calc(14px + var(--stn2-m-safe-b));
    background:oklch(16% 0.015 260 / .95);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    border-top:1px solid var(--stn2-border);
}
.stn2-m-matchcta[hidden]{ display:none; }
.stn2-m-matchcta-btn{
    min-height:48px;
    display:flex; align-items:center; justify-content:center;
    border-radius:14px;
    background:var(--stn2-gradient);
    color:#fff;
    font-size:14.5px; font-weight:600;
    text-decoration:none;
    text-align:center;
    padding:0 14px;
}
body.stn2.stn2-m-hasmatchcta .footer__wrap{ padding-bottom:calc(72px + var(--stn2-m-safe-b)); }

/* ---------- Ключевая статистика: двусторонние бары ----------
   Разметка event_live.html: .event-stats-values = [название, ср.хоз., хоз.,
   гости, ср.гости, ср.судья], ниже .event-stats-progress-bar с ДВУМЯ
   дорожками. Макет STATIA(24) хочет одну строку «58 · Владение · 42» и одну
   полосу 5px из двух сегментов, поэтому:
   • раскладываем значения гридом в порядке хозяева — название — гости;
   • средние по сопернику/судье прячем (третий ряд мелких чисел не влезает);
   • вторую дорожку прячем, первую растягиваем на всю ширину и кладём поверх
     фиолетового фона — teal-сегмент хозяев уже посчитан в процентах от суммы,
     остаток трека читается как сегмент гостей.
   Инлайновые background у значений и сегментов перебиваем !important. */
.stn2-match .event-stats-field{ margin-bottom:13px; }
.stn2-match .event-stats-values{
    display:grid;
    grid-template-columns:auto 1fr auto;
    grid-template-areas:"home name away";
    align-items:center;
    gap:8px;
    font-size:11.5px;
    margin-bottom:5px;
}
.stn2-match .event-stats-name{
    grid-area:name;
    text-align:center;
    padding:0;
    color:oklch(62% 0.01 260);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.stn2-match .event-stats-localteam,
.stn2-match .event-stats-visitorteam{
    min-width:0;
    padding:0;
    border-radius:0;
    background:none !important;
    font-family:'Space Grotesk',sans-serif;
    font-size:11.5px; font-weight:700;
    text-align:center;
}
.stn2-match .event-stats-localteam{ grid-area:home; color:var(--stn2-accent2) !important; }
.stn2-match .event-stats-visitorteam{ grid-area:away; color:var(--stn2-accent1) !important; }
.stn2-match .event-stats-localteam-avg,
.stn2-match .event-stats-visitorteam-avg,
.stn2-match .event-stats-referee-avg{ display:none; }

.stn2-match .event-stats-progress-bar{
    position:relative;
    display:block;
    height:5px;
    border-radius:3px;
    overflow:hidden;
    background:oklch(100% 0 0 / .07);
    gap:0;
}
/* Обе половинные дорожки растягиваем на всю ширину и накладываем: сегмент
   хозяев рисуем от левого края, гостей — от правого. Ширины уже посчитаны в
   шаблоне как проценты от суммы, поэтому при 0:0 полоса остаётся пустой,
   а не заливается целиком. */
.stn2-match .event-stats-progress-bar-wrapper{
    position:absolute; inset:0;
    width:100%;
    height:5px;
    background:none;
    border-radius:0;
    overflow:visible;
}
.stn2-match .event-stats-progress-bar-localteam,
.stn2-match .event-stats-progress-bar-visitorteam{
    height:100%;
    border-radius:0;
}
/* В базовой теме сегмент хозяев прижат к правому краю своей половины
   (right:0), гостей — к левому: это зеркальная раскладка на два трека.
   В общем треке направления меняем местами. */
.stn2-match .event-stats-progress-bar-localteam{
    right:auto; left:0;
    background:var(--stn2-accent2) !important;
}
.stn2-match .event-stats-progress-bar-visitorteam{
    left:auto; right:0;
    background:var(--stn2-accent1) !important;
}

/* ---------- Лента событий (Хронология) ---------- */
.stn2-match .event-timeline-container{ display:flex; flex-direction:column; }

/* ---------- Составы ---------- */
.stn2-match .event-lineups-tables,
.stn2-match .event-subst-tables{ display:flex; flex-direction:column; gap:10px; }
.stn2-match .lineups-extra-stats{ font-size:11px; color:oklch(56% 0.01 260); }


/* Судья и место проведения в шапке: на 390px длинная подчёркнутая ссылка
   занимала две строки и спорила со счётом. */
.stn2-match .event__referee{ margin-top:6px; }
.stn2-match .event__referee-link a{ font-size:11px; color:oklch(66% 0.01 260); text-decoration:none; }
.stn2-match .event__data .event__text{ font-size:11px; }


/* ==========================================================================
   12. Главная — макет STATIA(25)
   ========================================================================== */

/* Три плитки под прогнозом дня: кэф · edge · вероятность рынка. */
.stn2-home .stn2-m-aitiles{
    display:flex; gap:8px;
    padding:0 0 14px;
}
.stn2-home .stn2-m-aitile{
    flex:1; min-width:0;
    border-radius:11px;
    background:oklch(100% 0 0 / .05);
    border:1px solid oklch(100% 0 0 / .08);
    padding:9px 8px;
    text-align:center;
}
.stn2-home .stn2-m-aitile-label{
    font-size:10px; letter-spacing:.4px; text-transform:uppercase;
    color:oklch(58% 0.01 260);
    margin-bottom:4px;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.stn2-home .stn2-m-aitile-val{
    font-family:'Space Grotesk',sans-serif;
    font-size:15px; font-weight:700;
}
.stn2-home .stn2-m-aitile-val_pos{ color:var(--stn2-success); }
.stn2-home .stn2-m-aitile-val_neg{ color:var(--stn2-danger-fg); }
.stn2-home .stn2-m-aitile-val_accent{ color:var(--stn2-accent2); }

/* Подпись секции матчей под заголовком. */
.events-table-subheading{
    grid-area:sub;
    font-size:11.5px;
    color:oklch(58% 0.01 260);
    margin-top:-4px;
}

/* Промо PRO и дисклеймер в конце ленты. */
.stn2-home .stn2-m-promo{
    display:block;
    margin-top:22px;
    border-radius:18px;
    padding:17px;
    background:linear-gradient(130deg,#7C5CFC22,#2DD4BF1a);
    border:1px solid #7C5CFC44;
}
.stn2-home .stn2-m-promo-title{ font-family:'Space Grotesk',sans-serif; font-size:16.5px; font-weight:600; margin-bottom:5px; }
.stn2-home .stn2-m-promo-text{ font-size:12.5px; color:oklch(72% 0.01 260); line-height:1.5; margin-bottom:13px; }
.stn2-home .stn2-m-promo-btns{ display:flex; gap:8px; }
.stn2-home .stn2-m-promo-cta,
.stn2-home .stn2-m-promo-ghost{
    min-height:46px;
    display:flex; align-items:center; justify-content:center;
    border-radius:12px;
    font-size:14px; font-weight:600;
    text-decoration:none;
}
.stn2-home .stn2-m-promo-cta{ flex:1; background:var(--stn2-gradient); color:#fff; }
.stn2-home .stn2-m-promo-ghost{
    padding:0 16px;
    background:oklch(100% 0 0 / .05);
    border:1px solid oklch(100% 0 0 / .09);
    color:oklch(80% 0.01 260);
}
.stn2-home .stn2-m-disclaimer{
    display:block;
    margin-top:22px;
    padding-top:16px;
    border-top:1px solid var(--stn2-m-line);
}
.stn2-home .stn2-m-disclaimer-text{ font-size:11.5px; line-height:1.6; color:oklch(56% 0.01 260); }
.stn2-home .stn2-m-disclaimer-links{ display:flex; flex-wrap:wrap; gap:14px; margin-top:10px; }
.stn2-home .stn2-m-disclaimer-links a{ font-size:11.5px; color:var(--stn2-accent2); text-decoration:none; }


/* ---------- Схема составов «газоном» (макет STATIA(24)) ---------- */
.stn2-match .stn2-m-pitches{ display:flex; flex-direction:column; gap:12px; margin:14px 0 4px; }
.stn2-match .stn2-m-pitch-card{
    border-radius:16px;
    border:1px solid var(--stn2-border);
    background:var(--stn2-m-card);
    padding:15px;
}
.stn2-match .stn2-m-pitch-head{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    margin-bottom:12px;
}
.stn2-match .stn2-m-pitch-label{
    font-size:11px; text-transform:uppercase; letter-spacing:.5px;
    color:var(--stn2-muted);
}
.stn2-match .stn2-m-pitch-team{
    font-size:11px; color:var(--stn2-accent2);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.stn2-match .stn2-m-pitch-card_visitorteam .stn2-m-pitch-team{ color:var(--stn2-accent1); }
.stn2-match .stn2-m-pitch{
    position:relative;
    display:flex; flex-direction:column;
    justify-content:space-around;
    min-height:230px;
    padding:10px 4px;
    border-radius:12px;
    background:linear-gradient(180deg, oklch(28% 0.05 155 / .35), oklch(24% 0.04 155 / .2));
    overflow:hidden;
}
.stn2-match .stn2-m-pitch-line{
    position:absolute; left:0; right:0; top:50%;
    height:1px;
    background:oklch(100% 0 0 / .12);
}
.stn2-match .stn2-m-pitch-circle{
    position:absolute; left:50%; top:50%;
    width:56px; height:56px;
    margin:-28px 0 0 -28px;
    border:1px solid oklch(100% 0 0 / .12);
    border-radius:50%;
}
.stn2-match .stn2-m-pitch-row{
    position:relative;
    display:flex; align-items:center; justify-content:center;
    gap:8px;
}
.stn2-match .stn2-m-pitch-slot{
    width:44px;
    display:flex; flex-direction:column; align-items:center; gap:3px;
}
.stn2-match .stn2-m-pitch-num{
    width:26px; height:26px;
    display:flex; align-items:center; justify-content:center;
    border-radius:50%;
    font-family:'Space Grotesk',sans-serif;
    font-size:10.5px; font-weight:700;
    color:var(--stn2-text);
    background:#2DD4BF33;
    border:1px solid #2DD4BF66;
}
.stn2-match .stn2-m-pitch-card_visitorteam .stn2-m-pitch-num{
    background:#7C5CFC33;
    border-color:#7C5CFC66;
}
.stn2-match .stn2-m-pitch-name{
    max-width:44px;
    font-size:9px;
    color:oklch(78% 0.01 260);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}


/* ---------- Порядок ленты главной (макет STATIA(25)) ----------
   Секции лежат в четырёх контейнерах-братьях внутри .stn2-home. Делаем его
   флекс-колонкой и переставляем только на мобильном: плитки инструментов
   уходят под список матчей, как в макете. Десктопная разметка не тронута. */
body.stn2 .stn2-home{ display:flex; flex-direction:column; }
body.stn2 .stn2-home > .stn2-blobs{ order:0; }
body.stn2 .stn2-home > .stn2-home-top{ order:1; }
body.stn2 .stn2-home > .container-fluid:not(.stn2-home-top):not(.stn2-home-tools):not(.stn2-home-bottom){ order:2; }
body.stn2 .stn2-home > .stn2-home-bottom{ order:3; }
body.stn2 .stn2-home > .stn2-home-tools{ order:4; }

/* H1 и лид на мобильном не показываем: в макете лента начинается с чипов и
   карточки прогноза дня. Заголовок остаётся в DOM для поиска и скринридеров. */
.stn2-home .stn2-home-h1,
.stn2-home .stn2-home-desc{
    position:absolute;
    width:1px; height:1px;
    margin:-1px; padding:0;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
}

/* ---------- Лента чипов под тикером ---------- */
.stn2-home .stn2-m-chips{
    display:flex;
    gap:8px;
    margin:12px 0 14px;
    padding-bottom:2px;
    overflow-x:auto;
    scrollbar-width:none;
    white-space:nowrap;
}
.stn2-home .stn2-m-chips::-webkit-scrollbar{ width:0; height:0; }
.stn2-home .stn2-m-chip{
    flex:0 0 auto;
    min-height:36px;
    display:flex; align-items:center;
    padding:0 14px;
    border-radius:10px;
    font-size:12.5px; font-weight:600;
    color:oklch(74% 0.01 260);
    background:var(--stn2-m-glass);
    border:1px solid var(--stn2-border);
    text-decoration:none;
}
.stn2-home .stn2-m-chip_on{
    background:var(--stn2-gradient);
    border-color:transparent;
    color:#fff;
}

/* ---------- Гербы в карточке матча ---------- */
body.stn2 .events-table .lg__crest{
    display:inline-block;
    width:22px; height:22px;
    margin-right:8px;
    vertical-align:middle;
    object-fit:contain;
    border-radius:6px;
    background:oklch(100% 0 0 / .06);
    flex-shrink:0;
}
body.stn2 .events-table .lg__cnt .lg__team{
    display:flex;
    align-items:center;
}


/* Между карточкой прогноза дня и секцией матчей в макете один шаг сетки. */
.stn2-home .stn2-hero-row{ margin-bottom:14px; }
.stn2-home .stn2-signals{ margin-bottom:0; }

} /* /@media (max-width: 767px) */
