/* ==============================================
   СПОРТОРИУМС - Главные стили сайта
   ============================================== */

/* ============= СБРОС И БАЗОВЫЕ СТИЛИ ============= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    /* Цвета фона */
    --bg-dark-primary: #1D232A;
    --bg-dark-secondary: #2A323C;
    --bg-dark-tertiary: #3D4451;
    
    /* Акцентные цвета */
    --accent-primary: #FF6B35;
    --accent-secondary: #E55A2B;
    --accent-hover: #FF8C5A;
    --accent-light: rgba(255, 107, 53, 0.1);
    
    /* Цвета текста */
    --text-white: #ffffff;
    --text-gray-light: rgba(255, 255, 255, 0.8);
    --text-gray: rgba(255, 255, 255, 0.6);
    --text-gray-dark: rgba(255, 255, 255, 0.4);
    
    /* Цвета бейджей */
    --badge-news: #FF3366;
    --badge-guide: #A855F7;
    --badge-tournament: #FFA500;
    --badge-live: #FF3366;
    
    /* Системные цвета */
    --success: #10B981;
    --warning: #F59E0B;
    --error: #EF4444;
    --info: #00E5FF;
    
    /* Цвета карточек и границ */
    --bg-card: rgba(255, 255, 255, 0.03);
    --bg-card-hover: rgba(255, 255, 255, 0.05);
    --border-dark: rgba(255, 255, 255, 0.05);
    --border-light: rgba(255, 255, 255, 0.1);
    --border-accent: rgba(255, 107, 53, 0.3);
    --border-accent-bright: rgba(255, 107, 53, 0.6);
    
    /* Тени */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.6);
    --shadow-accent: 0 4px 20px rgba(255, 107, 53, 0.3);
    --shadow-accent-strong: 0 8px 40px rgba(255, 107, 53, 0.5);
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    background-color: var(--bg-dark-primary);
    color: var(--text-white);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font-family: inherit;
    cursor: pointer;
    border: none;
    background: none;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ============= УТИЛИТЫ ============= */
.container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.gradient-text {
    background: linear-gradient(135deg, #FF6B35, #E55A2B);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ============= HEADER ============= */
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    transition: all 0.3s ease;
}

.header.scrolled {
    background: rgba(26, 32, 44, 0.7);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px) saturate(180%);
}

.header__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80px;
}

.header__logo {
    font-size: 1.875rem;
    font-weight: 900;
    letter-spacing: -0.05em;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.header__logo:hover {
    transform: scale(1.02);
}

.header__nav {
    display: none;
    align-items: center;
    gap: 2rem;
}

.header__nav-link {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--text-gray-light);
    transition: color 0.3s ease;
}

.header__nav-link:hover {
    color: var(--accent-primary);
}

.header__buttons {
    display: none;
    align-items: center;
    gap: 1rem;
}

.header__burger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 28px;
    height: 28px;
}

.header__mobile-menu {
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%;
    background-color: rgba(29, 35, 42, 0.95);
    backdrop-filter: blur(24px);
    border-top: 1px solid var(--border-light);
    display: none;
}

.header__mobile-menu.active {
    display: block;
}

.header__mobile-nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem 0;
    gap: 1.5rem;
}

.header__mobile-link {
    font-size: 1.125rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--text-gray-light);
    transition: color 0.3s ease;
}

.header__mobile-link:hover {
    color: var(--accent-primary);
}

.header__mobile-buttons {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0 2rem;
    gap: 1rem;
    margin-top: 1rem;
}

@media (min-width: 1024px) {
    .header__nav {
        display: flex;
    }
    
    .header__buttons {
        display: flex;
    }
    
    .header__burger {
        display: none;
    }
}

/* СКРЫВАЕМ БУРГЕР НА МОБИЛКАХ (нижний бар вместо него) */
@media (max-width: 768px) {
    .header__burger {
        display: none !important;
    }
    
    .header__mobile-menu {
        display: none !important;
    }
}

/* ============= КНОПКИ ============= */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 0.5rem;
    transition: all 0.3s ease;
    text-align: center;
}

.btn-primary {
    background: linear-gradient(to right, var(--accent-primary), var(--accent-secondary));
    color: #ffffff;
    box-shadow: var(--shadow-accent);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-accent-strong);
}

.btn-secondary {
    background-color: var(--bg-card);
    border: 2px solid var(--border-accent);
    color: var(--accent-primary);
}

.btn-secondary:hover {
    transform: translateY(-2px);
    background-color: var(--bg-card-hover);
}

/* ============= HERO СЕКЦИЯ ============= */
.hero {
    padding-top: 120px;
    padding-bottom: 5rem;
    min-height: 100vh;
    display: flex;
    align-items: center;
    background: linear-gradient(180deg, var(--bg-dark-primary) 0%, var(--bg-dark-secondary) 100%);
}

.hero__content {
    text-align: center;
    animation: fadeInUp 0.8s ease-out;
}

.hero__title {
    font-size: 3rem;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 1.5rem;
    letter-spacing: -0.02em;
}

.hero__subtitle {
    font-size: 1.25rem;
    color: var(--text-gray-light);
    margin-bottom: 2rem;
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
}

.hero__buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

@media (min-width: 768px) {
    .hero__title {
        font-size: 4.5rem;
    }
}

/* ============= КАРТОЧКИ ============= */
.card {
    background-color: var(--bg-card);
    border: 1px solid var(--border-dark);
    border-radius: 1rem;
    padding: 1.5rem;
    transition: all 0.3s ease;
}

.card:hover {
    background-color: var(--bg-card-hover);
    border-color: var(--border-light);
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}

.card__image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 0.75rem;
    margin-bottom: 1rem;
}

.card__badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
}

.card__badge--news {
    background-color: var(--badge-news);
    color: var(--text-white);
}

.card__badge--guide {
    background-color: var(--badge-guide);
    color: var(--text-white);
}

.card__title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
    line-height: 1.4;
}

.card__excerpt {
    color: var(--text-gray);
    font-size: 0.875rem;
    margin-bottom: 1rem;
    line-height: 1.6;
}

.card__meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.875rem;
    color: var(--text-gray-dark);
}

/* ============= GRID СИСТЕМЫ ============= */
.grid {
    display: grid;
    gap: 2rem;
}

.grid-cols-1 {
    grid-template-columns: repeat(1, 1fr);
}

.grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
}

@media (min-width: 768px) {
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* ============= СЕКЦИИ ============= */
.section {
    padding: 5rem 0;
}

.section__header {
    text-align: center;
    margin-bottom: 3rem;
}

.section__title {
    font-size: 2.5rem;
    font-weight: 900;
    margin-bottom: 1rem;
    letter-spacing: -0.02em;
}

.section__subtitle {
    font-size: 1.125rem;
    color: var(--text-gray-light);
    max-width: 42rem;
    margin: 0 auto;
}

/* ============= FOOTER ============= */
.footer {
    background-color: var(--bg-dark-secondary);
    border-top: 1px solid var(--border-dark);
    padding: 3rem 0 2rem;
}

.footer__content {
    display: grid;
    gap: 2rem;
    margin-bottom: 2rem;
}

.footer__section-title {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--accent-primary);
}

.footer__links {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.footer__link {
    color: var(--text-gray-light);
    font-size: 0.875rem;
    transition: color 0.3s ease;
}

.footer__link:hover {
    color: var(--accent-primary);
}

.footer__bottom {
    padding-top: 2rem;
    border-top: 1px solid var(--border-dark);
    text-align: center;
    color: var(--text-gray);
    font-size: 0.875rem;
}

@media (min-width: 768px) {
    .footer__content {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .footer__content {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* ============= АНИМАЦИИ ============= */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}

@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.animate-fadeInUp {
    animation: fadeInUp 0.8s ease-out forwards;
}

.animate-pulse {
    animation: pulse 2s ease-in-out infinite;
}

.animate-fadeInScale {
    animation: fadeInScale 0.3s ease-out forwards;
}

/* ============= RESPONSIVE УТИЛИТЫ ============= */
.hidden {
    display: none;
}

@media (min-width: 768px) {
    .md\:block {
        display: block;
    }
    
    .md\:hidden {
        display: none;
    }
}

@media (min-width: 1024px) {
    .lg\:block {
        display: block;
    }
    
    .lg\:hidden {
        display: none;
    }
}

/* ============= HERO BANNER ============= */
.hero-banner {
    position: relative;
    width: 100%;
    min-height: 600px;
    overflow: hidden;
    margin-top: 80px;
}

.hero-banner__slider {
    width: 100%;
    height: 600px;
}

.hero-banner__slide {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
}

.hero-banner__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-banner__bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(29, 35, 42, 0.9) 0%, rgba(29, 35, 42, 0.3) 100%);
    z-index: 1;
}

.hero-banner__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-banner__content {
    position: relative;
    z-index: 2;
    max-width: 600px;
    padding: 2rem 0;
    margin-top: 120px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 400px;
}

.hero-banner__title {
    font-size: 3rem;
    font-weight: 900;
    line-height: 1.2;
    margin-bottom: 1.5rem;
    color: var(--text-white);
    letter-spacing: -0.02em;
    min-height: 120px;
    display: flex;
    align-items: center;
}

.hero-banner__subtitle {
    font-size: 1.25rem;
    line-height: 1.6;
    color: var(--text-gray-light);
    margin-bottom: auto;
    min-height: 60px;
    display: flex;
    align-items: center;
}

.hero-banner .btn-primary,
.hero-banner__btn {
    padding: 0.875rem 1.75rem !important;
    font-size: 0.9375rem !important;
    min-width: 200px !important;
    max-width: 250px !important;
    margin-top: 40px !important;
}

/* Навигация (стрелки) */
.hero-banner__navigation {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.75rem;
    z-index: 10;
    margin-left: -570px;
}

.hero-banner__arrow {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.5);
}

.hero-banner__arrow:hover {
    background-color: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.15);
    color: rgba(255, 255, 255, 0.85);
}

.hero-banner__arrow.swiper-button-disabled {
    opacity: 0.15;
    cursor: not-allowed;
}

.hero-banner__arrow svg {
    width: 18px;
    height: 18px;
}

/* Индикаторы (точки) */
.hero-banner__pagination {
    position: absolute;
    bottom: 40px;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 10;
    display: flex;
    gap: 0.75rem;
    width: auto !important;
}

.hero-banner__pagination .swiper-pagination-bullet {
    width: 40px;
    height: 4px;
    border-radius: 2px;
    background-color: rgba(255, 255, 255, 0.3);
    opacity: 1;
    transition: all 0.3s ease;
    margin: 0;
}

.hero-banner__pagination .swiper-pagination-bullet-active {
    background-color: var(--accent-primary);
    width: 60px;
}

/* Tablet */
@media (max-width: 1024px) {
    .hero-banner {
        min-height: 500px;
    }

    .hero-banner__slider {
        height: 500px;
    }

    .hero-banner__title {
        font-size: 2.25rem;
    }

    .hero-banner__subtitle {
        font-size: 1.125rem;
    }

    .hero-banner__navigation {
        margin-left: -450px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .hero-banner {
        min-height: 550px;
        margin-top: 60px;
    }

    .hero-banner__slider {
        height: 550px;
    }

    .hero-banner__content {
        text-align: center;
        max-width: 100%;
        padding: 1rem;
        margin-top: 0;
        min-height: 450px !important;
        justify-content: flex-end !important;
        padding-bottom: 20px !important;
    }

    .hero-banner__title {
        font-size: 28px !important;
        line-height: 1.2 !important;
        min-height: auto !important;
        margin-bottom: 16px !important;
        text-align: center !important;
    }

    .hero-banner__subtitle {
        font-size: 15px !important;
        line-height: 1.4 !important;
        min-height: auto !important;
        margin-bottom: 24px !important;
        text-align: center !important;
    }

    .hero-banner__btn {
        width: 100%;
        max-width: 300px;
        margin: 0 auto !important;
        padding: 14px 28px !important;
        font-size: 15px !important;
    }

    .hero-banner__navigation {
        display: none;
    }

    .hero-banner__pagination {
        bottom: 60px;
    }

    .hero-banner__pagination .swiper-pagination-bullet {
        width: 30px;
        height: 3px;
    }

    .hero-banner__pagination .swiper-pagination-bullet-active {
        width: 45px;
    }
}

/* Hero Banner - принудительные стили для стрелок */
.hero-banner__navigation .swiper-button-prev,
.hero-banner__navigation .swiper-button-next {
    position: static !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 24px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.hero-banner__navigation .swiper-button-prev::after,
.hero-banner__navigation .swiper-button-next::after {
    content: '' !important;
    display: none !important;
}

.hero-banner__navigation .swiper-button-prev:hover,
.hero-banner__navigation .swiper-button-next:hover {
    background-color: rgba(255, 255, 255, 0.12) !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Hero Banner - фикс кликов по стрелкам */
.hero-banner__navigation {
    pointer-events: auto !important;
    z-index: 100 !important;
}

.hero-banner__navigation .swiper-button-prev,
.hero-banner__navigation .swiper-button-next {
    pointer-events: auto !important;
    cursor: pointer !important;
    z-index: 100 !important;
}

.hero-banner__navigation .swiper-button-disabled {
    pointer-events: none !important;
    opacity: 0.2 !important;
}

/* Плашка точности поверх баннера */
.hero-banner__badge {
    position: absolute;
    top: 96px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.1rem;
    background: rgba(29, 35, 42, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 107, 53, 0.4);
    border-radius: 100px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #fff;
    white-space: nowrap;
    box-shadow: 0 0 24px rgba(255, 107, 53, 0.25);
}

.hero-banner__badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent-primary);
    animation: badge-pulse 1.8s ease-out infinite;
}

@keyframes badge-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(255, 107, 53, 0.55); }
    100% { box-shadow: 0 0 0 12px rgba(255, 107, 53, 0); }
}

@media (max-width: 768px) {
    .hero-banner__badge {
        top: 72px;
        font-size: 0.62rem;
        padding: 0.4rem 0.85rem;
    }
}

/* ============= WINS TICKER (полоса выигрышей) ============= */
.wins-ticker {
    width: 100%;
    display: flex;
    align-items: stretch;
    position: relative;
    height: 72px;
    background: var(--bg-dark-secondary);
    border-top: 1px solid rgba(255, 107, 53, 0.28);
    border-bottom: 1px solid rgba(255, 107, 53, 0.28);
    overflow: hidden;
}

.wins-ticker::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--accent-primary) 35%, #00E5FF 65%, transparent);
    opacity: 0.7;
    z-index: 4;
}

.wins-ticker__label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 1.75rem 0 1.25rem;
    height: 100%;
    background: linear-gradient(135deg, var(--accent-hover), var(--accent-secondary));
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
    flex-shrink: 0;
    position: relative;
    z-index: 3;
    box-shadow: 0 0 26px rgba(255, 107, 53, 0.45);
}

.wins-ticker__label svg { flex-shrink: 0; }

.wins-ticker__label::after {
    content: '';
    position: absolute;
    right: -13px; top: 0; bottom: 0;
    width: 13px;
    background: var(--accent-secondary);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.wins-ticker__live {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #fff;
    position: relative;
    flex-shrink: 0;
}

.wins-ticker__live::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: #fff;
    animation: wt-ping 1.5s ease-out infinite;
}

@keyframes wt-ping {
    0%   { transform: scale(1); opacity: 0.85; }
    100% { transform: scale(3); opacity: 0; }
}

.wins-ticker__overflow {
    flex: 1;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
}

.wins-ticker__overflow::before,
.wins-ticker__overflow::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 90px;
    z-index: 2;
    pointer-events: none;
}

.wins-ticker__overflow::before {
    left: 0;
    background: linear-gradient(90deg, var(--bg-dark-secondary), transparent);
}

.wins-ticker__overflow::after {
    right: 0;
    background: linear-gradient(270deg, var(--bg-dark-secondary), transparent);
}

.wins-ticker__track {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: max-content;
    padding: 0 0.6rem;
    animation: wt-scroll 55s linear infinite;
}

@keyframes wt-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

.wins-ticker__item {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    flex-shrink: 0;
    white-space: nowrap;
    padding: 0.4rem 0.85rem 0.4rem 0.4rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 100px;
}

.wins-ticker__item--top {
    border-color: rgba(245, 158, 11, 0.45);
    background: rgba(245, 158, 11, 0.08);
    box-shadow: 0 0 16px rgba(245, 158, 11, 0.18);
}

.wins-ticker__avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 800;
    color: #fff;
}

.wins-ticker__avatar--green  { background: linear-gradient(135deg, #10B981, #059669); }
.wins-ticker__avatar--orange { background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary)); }
.wins-ticker__avatar--cyan   { background: linear-gradient(135deg, #00E5FF, #0097B3); color: #06222a; }
.wins-ticker__avatar--gold   { background: linear-gradient(135deg, #F59E0B, #D97706); }

.wins-ticker__meta {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.wins-ticker__name {
    font-size: 0.82rem;
    font-weight: 700;
    color: #fff;
}

.wins-ticker__bet {
    font-size: 0.68rem;
    font-weight: 500;
    color: var(--text-gray);
}

.wins-ticker__amount {
    font-size: 0.95rem;
    font-weight: 800;
    margin-left: 0.15rem;
}

.wins-ticker__amount--green  { color: #10B981; }
.wins-ticker__amount--orange { color: var(--accent-hover); }
.wins-ticker__amount--cyan   { color: #00E5FF; }
.wins-ticker__amount--gold   { color: #F7B733; text-shadow: 0 0 10px rgba(245, 158, 11, 0.35); }

@media (max-width: 768px) {
    .wins-ticker {
        height: 56px;
    }

    /* Лейбл прячем — и так понятно, что это выигрыши */
    .wins-ticker__label {
        display: none;
    }

    .wins-ticker__overflow {
        width: 100%;
    }

    .wins-ticker__avatar { width: 26px; height: 26px; font-size: 0.7rem; }
    .wins-ticker__name   { font-size: 0.72rem; }
    .wins-ticker__bet    { font-size: 0.6rem; }
    .wins-ticker__amount { font-size: 0.8rem; }

    .wins-ticker__track { gap: 0.45rem; animation-duration: 38s; }
    .wins-ticker__overflow::before,
    .wins-ticker__overflow::after { width: 38px; }
}

@media (max-width: 360px) {
    .wins-ticker__label span { display: none; }
    .wins-ticker__label { padding: 0 0.6rem; }
}

@media (prefers-reduced-motion: reduce) {
    .wins-ticker__track { animation: none; }
    .wins-ticker__live::after { animation: none; }
}

/* ============= UPCOMING MATCHES ============= */
.upcoming-matches {
    padding: 80px 0;
    background: linear-gradient(180deg, var(--bg-primary) 0%, rgba(17, 24, 39, 0.8) 100%);
    position: relative;
}

.upcoming-matches::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 30%, rgba(0, 229, 255, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(139, 92, 246, 0.03) 0%, transparent 50%);
    pointer-events: none;
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3rem;
}

.section-title {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--text-white);
    margin: 0;
}

.matches-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

/* Match Card */
.match-card {
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.6) 0%, rgba(30, 41, 59, 0.4) 100%);
    border-radius: 16px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(10px);
}

.match-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));
    opacity: 0;
    transition: opacity 0.4s ease;
}

.match-card::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 107, 53, 0.1) 0%, transparent 70%);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
    pointer-events: none;
    z-index: 0;
}

.match-card:hover {
    transform: translateY(-8px) scale(1.02);
    border-color: rgba(255, 107, 53, 0.4);
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.9) 0%, rgba(30, 41, 59, 0.7) 100%);
    box-shadow: 0 20px 40px rgba(255, 107, 53, 0.15),
            0 0 80px rgba(255, 107, 53, 0.1);
}

.match-card:hover::before {
    opacity: 1;
}

.match-card:hover::after {
    width: 600px;
    height: 600px;
}

.match-card > * {
    position: relative;
    z-index: 1;
}

/* Status Badge */
.match-card__status {
    display: inline-flex;
    align-self: flex-start;
}

.match-card__timer {
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.match-card__status[data-status="upcoming"] .match-card__timer {
    background: rgba(0, 229, 255, 0.1);
    color: var(--accent-primary);
    border: 1px solid rgba(0, 229, 255, 0.2);
}

.match-card__status[data-status="live"] .match-card__timer {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.3);
    animation: pulse-live 2s ease-in-out infinite;
}

.match-card__status[data-status="finished"] .match-card__timer {
    background: rgba(156, 163, 175, 0.1);
    color: var(--text-gray);
    border: 1px solid rgba(156, 163, 175, 0.2);
}

@keyframes pulse-live {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}

/* Tournament Info */
.match-card__tournament {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.match-card__tournament-logo {
    width: 24px;
    height: 24px;
    object-fit: contain;
    filter: brightness(0.9);
}

.match-card__tournament-name {
    font-size: 0.875rem;
    color: var(--text-gray);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Teams */
.match-card__teams {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 0;
}

.match-card__team {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.match-card__team-logo {
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
    padding: 0.5rem;
}

.match-card__team-name {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-white);
    flex: 1;
}

/* VS Separator — светящийся круг */
.match-card__vs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 0.25rem 0;
}

.vs-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 229, 255, 0.3), transparent);
}

.vs-circle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: var(--accent-primary);
    background: rgba(0, 229, 255, 0.08);
    border: 1px solid rgba(0, 229, 255, 0.25);
    box-shadow: 0 0 15px rgba(0, 229, 255, 0.15),
                inset 0 0 8px rgba(0, 229, 255, 0.05);
    flex-shrink: 0;
    transition: all 0.4s ease;
}

.match-card:hover .vs-circle {
    box-shadow: 0 0 20px rgba(0, 229, 255, 0.3),
                inset 0 0 12px rgba(0, 229, 255, 0.1);
    border-color: rgba(0, 229, 255, 0.5);
    color: #fff;
    background: rgba(0, 229, 255, 0.15);
}

.match-card__score {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--accent-primary);
    letter-spacing: 0.05em;
}

/* Match Info */
.match-card__info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.match-card__date {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--text-gray);
}

.match-card__date svg {
    color: var(--accent-primary);
}

.match-card__format {
    padding: 0.25rem 0.75rem;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-gray-light);
    letter-spacing: 0.05em;
}

/* Button */
.match-card__btn {
    width: 100%;
    margin-top: auto;
}

/* Responsive */
@media (max-width: 1280px) {
    .matches-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .upcoming-matches {
        padding: 50px 0 30px;
    }

    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
        margin-bottom: 2rem;
    }

    .section-title {
        font-size: 1.5rem !important;
        line-height: 1.2 !important;
        white-space: nowrap;
    }

    .matches-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .match-card {
        padding: 1rem !important;
        gap: 0.75rem !important;
    }

    .match-card__status {
        margin-bottom: -0.25rem;
    }

    .match-card__timer {
        padding: 0.375rem 0.75rem !important;
        font-size: 0.75rem !important;
    }

    .match-card__tournament {
        padding-bottom: 0.75rem !important;
        gap: 0.5rem !important;
    }

    .match-card__tournament-logo {
        width: 20px !important;
        height: 20px !important;
    }

    .match-card__tournament-name {
        font-size: 0.75rem !important;
    }

    .match-card__teams {
        padding: 0.75rem 0 !important;
        gap: 0.75rem !important;
    }

    .match-card__team {
        gap: 0.75rem !important;
    }

    .match-card__team-logo {
        width: 36px !important;
        height: 36px !important;
        padding: 0.375rem !important;
    }

    .match-card__team-name {
        font-size: 0.875rem !important;
    }

     .match-card__vs {
        padding: 0.125rem 0 !important;
        gap: 0.5rem !important;
    }

    .vs-circle {
        width: 30px;
        height: 30px;
        font-size: 0.625rem;
    }

    .match-card__info {
        padding: 0.75rem 0 !important;
        gap: 0.5rem;
        flex-wrap: wrap;
    }

    .match-card__date {
        font-size: 0.75rem !important;
        gap: 0.375rem !important;
    }

    .match-card__date svg {
        width: 14px !important;
        height: 14px !important;
    }

    .match-card__format {
        padding: 0.25rem 0.625rem !important;
        font-size: 0.6875rem !important;
    }

    .match-card__btn {
        padding: 0.75rem 1.25rem !important;
        font-size: 0.8125rem !important;
        margin-top: 0.5rem !important;
    }
}

@media (max-width: 360px) {
    .section-title {
        font-size: 1.375rem !important;
    }

    .match-card {
        padding: 0.875rem !important;
    }

    .match-card__team-logo {
        width: 32px !important;
        height: 32px !important;
    }
}

/* LIVE Dot — пульсирующая точка */
.live-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #ef4444;
    border-radius: 50%;
    margin-right: 6px;
    position: relative;
    vertical-align: middle;
}

.live-dot::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    background: #ef4444;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: live-ping 1.5s ease-out infinite;
}

@keyframes live-ping {
    0% {
        width: 8px;
        height: 8px;
        opacity: 1;
    }
    100% {
        width: 24px;
        height: 24px;
        opacity: 0;
    }
}

/* ============= ARTICLES SECTION ============= */
.articles {
    padding: 80px 0;
    background: var(--bg-primary);
}

.section-header__left {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.section-header__icon {
    color: var(--accent-primary);
}

/* Filters */
.articles-filters {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 2.5rem;
    flex-wrap: wrap;
}

.articles-filter {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    letter-spacing: 0.05em;
}

.articles-filter svg {
    width: 16px;
    height: 16px;
    transition: transform 0.3s ease;
}

.articles-filter:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(0, 229, 255, 0.3);
    color: var(--accent-primary);
    transform: translateY(-2px);
}

.articles-filter.active {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--bg-primary);
}

.articles-filter.active svg {
    transform: rotate(360deg);
}

/* Articles Grid */
.articles-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

/* Featured Article (Large) */
.article-card--featured {
    grid-column: 1 / -1;
    grid-row: span 2;
}

/* Article Card */
.article-card {
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.6) 0%, rgba(30, 41, 59, 0.4) 100%);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    backdrop-filter: blur(10px);
}

.article-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(0, 229, 255, 0.05) 0%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.article-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0, 229, 255, 0.3);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.article-card:hover::before {
    opacity: 1;
}

/* Featured Card Specific */
.article-card--featured {
    display: flex;
    flex-direction: row;
    min-height: 500px;
}

.article-card--featured .article-card__image {
    flex: 1;
    min-height: 500px;
}

.article-card--featured .article-card__content {
    flex: 1;
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.article-card--featured .article-card__title {
    font-size: 2rem;
    line-height: 1.3;
}

.article-card--featured .article-card__description {
    font-size: 1rem;
    line-height: 1.7;
    margin: 1.5rem 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Small Card Specific */
.article-card--small {
    display: flex;
    flex-direction: row;
    height: 340px;
    position: relative;
}

.article-card--small .article-card__image {
    width: 300px;
    height: 100%;
    flex-shrink: 0;
}

.article-card--small .article-card__content {
    padding: 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
}

.article-card--small .article-card__title {
    font-size: 1.125rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.article-card--small .article-card__description {
    font-size: 0.875rem;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}

.article-card--small .article-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
}

/* Article Card Elements */
.article-card__image {
    position: relative;
    overflow: hidden;
    background: var(--bg-secondary);
}

.article-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.article-card:hover .article-card__image img {
    transform: scale(1.08);
}

.article-card__category {
    position: absolute;
    top: 1rem;
    left: 1rem;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    backdrop-filter: blur(10px);
    z-index: 2;
}

.article-card__category--news {
    background: rgba(239, 68, 68, 0.9);
    color: white;
}

.article-card__category--guides {
    background: rgba(139, 92, 246, 0.9);
    color: white;
}

.article-card__category--tournaments {
    background: rgba(245, 158, 11, 0.9);
    color: white;
}

.article-card__content {
    position: relative;
    z-index: 1;
}

.article-card__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-white);
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.article-card__description {
    color: var(--text-gray-light);
    line-height: 1.6;
    margin-bottom: 1rem;
}

.article-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.article-card__stats {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.article-card__time,
.article-card__views {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.875rem;
    color: var(--text-gray);
}

.article-card__time svg,
.article-card__views svg {
    color: var(--accent-primary);
}

.article-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--accent-primary);
    transition: gap 0.3s ease;
}

.article-card__link:hover {
    gap: 0.75rem;
}

/* Small card link */
.article-card__link-small {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--accent-primary);
    transition: gap 0.3s ease;
    white-space: nowrap;
    position: relative;
    z-index: 15;
}

.article-card__link-small:hover {
    gap: 0.625rem;
}

.article-card__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
}

/* Responsive */
@media (max-width: 1024px) {
    .articles-grid {
        grid-template-columns: 1fr;
    }

    .article-card--featured {
        flex-direction: column;
        min-height: auto;
    }

    .article-card--featured .article-card__image {
        height: 300px;
        min-height: auto;
    }

    .article-card--featured .article-card__title {
        font-size: 1.75rem;
    }
}

@media (max-width: 768px) {
    .articles {
        padding: 60px 0;
    }

    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .articles-filters {
        width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 0.5rem;
    }

    .articles-filter {
        white-space: nowrap;
    }

    .article-card--featured .article-card__content {
        padding: 1.5rem;
    }

    .article-card--featured .article-card__title {
        font-size: 1.5rem;
    }

    .article-card--featured .article-card__description {
        font-size: 1rem;
    }

    .article-card--small {
        flex-direction: column;
        height: auto;
    }

    .article-card--small .article-card__image {
        width: 100%;
        height: 200px;
    }

    .article-card__meta {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ============= ABOUT US SECTION ============= */
.about-us {
    padding: 100px 0;
    background: linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
    position: relative;
    overflow: hidden;
}

.about-us::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(0, 229, 255, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

.about-us__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
    position: relative;
    z-index: 1;
}

.about-us__content {
    max-width: 600px;
}

.about-us__title {
    font-size: 3rem;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--text-white);
    margin-bottom: 1rem;
    letter-spacing: 0.02em;
}

.about-us__subtitle {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--accent-primary);
    margin-bottom: 2rem;
}

.about-us__text {
    font-size: 1.0625rem;
    line-height: 1.8;
    color: var(--text-gray-light);
    margin-bottom: 2.5rem;
}

.about-us__text strong {
    font-weight: 700;
    color: var(--text-white);
}

.about-us__text--final {
    margin-bottom: 0;
    margin-top: 2.5rem;
}

/* Features */
.about-us__features {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin: 3rem 0;
}

.about-us__feature {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    padding: 1.5rem;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    transition: all 0.4s ease;
}

.about-us__feature:hover {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(0, 229, 255, 0.3);
    transform: translateX(8px);
}

.about-us__feature-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(0, 229, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent-primary);
    transition: all 0.4s ease;
}

.about-us__feature:hover .about-us__feature-icon {
    background: var(--accent-primary);
    color: var(--bg-primary);
    transform: rotate(5deg) scale(1.1);
}

.about-us__feature-content {
    flex: 1;
}

.about-us__feature-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text-white);
    margin-bottom: 0.5rem;
}

.about-us__feature-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--text-gray);
}

/* Image */
.about-us__image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
}

.about-us__image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(0, 229, 255, 0.15) 0%, transparent 100%);
    z-index: 1;
    pointer-events: none;
}

.about-us__image img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.6s ease;
}

.about-us__image:hover img {
    transform: scale(1.05);
}

/* Responsive */
@media (max-width: 1024px) {
    .about-us__grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .about-us__image {
        max-width: 600px;
        margin: 0 auto;
    }

    .about-us__content {
        max-width: 100%;
    }

    .about-us__title {
        font-size: 2.5rem;
    }
}

@media (max-width: 768px) {
    .about-us {
        padding: 60px 0;
    }

    .about-us__title {
        font-size: 2rem;
    }

    .about-us__subtitle {
        font-size: 1.125rem;
    }

    .about-us__text {
        font-size: 1rem;
    }

    .about-us__feature {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }

    .about-us__feature-icon {
        margin: 0 auto;
    }
}

/* ============= MOBILE MENU ============= */
.mobile-menu {
    display: none;
}

@media (max-width: 768px) {
    .mobile-menu {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: rgba(29, 35, 42, 0.95);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        padding: 0.75rem 0;
        z-index: 1000;
        justify-content: space-around;
        align-items: center;
        box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.3);
    }

    .mobile-menu__item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.375rem;
        padding: 0.5rem 1rem;
        color: var(--text-gray);
        text-decoration: none;
        transition: all 0.3s ease;
        border-radius: 8px;
    }

    .mobile-menu__item svg {
        width: 24px;
        height: 24px;
        flex-shrink: 0;
        transition: all 0.3s ease;
    }

    .mobile-menu__item span {
        font-size: 0.6875rem;
        font-weight: 600;
        white-space: nowrap;
    }

    .mobile-menu__item:active,
    .mobile-menu__item.active {
        color: var(--accent-primary);
        background: rgba(0, 229, 255, 0.1);
    }

    body {
        padding-bottom: 80px;
    }
}

/* ============= AUTH MODALS ============= */
.auth-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    align-items: center;
    justify-content: center;
    animation: fadeIn 0.3s ease;
}

.auth-modal.active {
    display: flex;
}

.auth-modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.auth-modal__content {
    position: relative;
    z-index: 1;
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.95) 0%, rgba(20, 30, 45, 0.95) 100%);
    border: 1px solid rgba(0, 229, 255, 0.3);
    border-radius: 24px;
    padding: 3rem 2.5rem;
    width: 90%;
    max-width: 440px;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5);
    animation: slideUp 0.4s ease;
}

.auth-modal__close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    background: none;
    border: none;
    color: var(--text-gray);
    cursor: pointer;
    padding: 0.5rem;
    transition: all 0.3s ease;
    border-radius: 8px;
}

.auth-modal__close:hover {
    color: var(--accent-primary);
    background: rgba(0, 229, 255, 0.1);
    transform: rotate(90deg);
}

.auth-modal__title {
    font-size: 1.75rem;
    font-weight: 900;
    text-align: center;
    color: var(--text-white);
    margin-bottom: 2rem;
    letter-spacing: 0.05em;
}

/* Auth Form */
.auth-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.auth-form__input {
    width: 100%;
    padding: 1rem 1.25rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    font-size: 0.9375rem;
    color: var(--text-white);
    transition: all 0.3s ease;
}

.auth-form__input::placeholder {
    color: var(--text-gray);
}

.auth-form__input:focus {
    outline: none;
    border-color: var(--accent-primary);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.1);
}

.auth-form__button {
    width: 100%;
    padding: 1rem;
    background: var(--accent-primary);
    border: none;
    border-radius: 12px;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--bg-primary);
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 0.5rem;
    letter-spacing: 0.05em;
}

.auth-form__button:hover {
    background: #00d4e6;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 229, 255, 0.4);
}

.auth-form__button:active {
    transform: translateY(0);
}

.auth-form__footer {
    text-align: center;
    font-size: 0.875rem;
    color: var(--text-gray);
    margin-top: 1rem;
}

.auth-form__link {
    color: var(--accent-primary);
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.auth-form__link:hover {
    text-decoration: underline;
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Prevent body scroll when modal is open */
body.modal-open {
    overflow: hidden;
}

/* Responsive */
@media (max-width: 768px) {
    .auth-modal__content {
        padding: 2rem 1.5rem;
        width: 95%;
    }

    .auth-modal__title {
        font-size: 1.5rem;
    }
}

/* ========================================
   СТРАНИЦА СТАТЬИ
   ======================================== */

.article-page {
    min-height: 100vh;
    background: linear-gradient(180deg, #0a0e1a 0%, #1a1f2e 100%);
    padding: 140px 20px 60px;
}

.article-container {
    /* Было 800px, потом 960px — на широком мониторе всё равно читалось узко.
       Заголовок и обложка теперь занимают 1200px, сам текст ограничен
       отдельно — см. .article-content */
    max-width: 1200px;
    margin: 0 auto;
}

/* Категория плашка */
.article-category {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 24px;
    background: rgba(255, 107, 53, 0.1);
    color: #FF6B35;
    border: 1px solid rgba(255, 107, 53, 0.3);
    letter-spacing: 0.5px;
}

.article-category.news {
    background: rgba(255, 59, 48, 0.1);
    color: #FF3B30;
    border-color: rgba(255, 59, 48, 0.3);
}

.article-category.guides {
    background: rgba(52, 199, 89, 0.1);
    color: #34C759;
    border-color: rgba(52, 199, 89, 0.3);
}

.article-category.tournaments {
    background: rgba(255, 159, 10, 0.1);
    color: #FF9F0A;
    border-color: rgba(255, 159, 10, 0.3);
}

/* Заголовок статьи */
.article-title {
    font-size: 42px;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 32px 0;
    line-height: 1.3;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

/* Изображение статьи */
.article-image {
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 40px;
    box-shadow: 0 20px 60px rgba(255, 107, 53, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.article-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Контент статьи */
/* Ширина и кегль подобраны замером на живой странице.
   Считается не в пикселях, а в символах на строку: комфортно 45-75,
   до 85 web ещё держит.
      18px на 800px = 84 символа — было изначально, мелко и длинно;
      18px на 700px = 73 символа — читалось хорошо, но выглядело узко;
      20px на 840px = 79 символов;
      21px на 920px = 83 символа — текущий вариант, заметно шире.
   Кегль растёт вместе с шириной: чем крупнее шрифт, тем больше пикселей
   можно отдать строке, не увеличивая число символов в ней. */
.article-content {
    color: rgba(255, 255, 255, 0.9);
    font-size: 21px;
    line-height: 1.75;
    margin-bottom: 48px;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

.article-content h1,
.article-content h2,
.article-content h3 {
    color: #ffffff;
    font-weight: 700;
    margin-top: 40px;
    margin-bottom: 20px;
}

.article-content h1 {
    font-size: 36px;
}

.article-content h2 {
    font-size: 32px;
}

.article-content h3 {
    font-size: 24px;
    color: #FF6B35;
}

.article-content p {
    margin-bottom: 20px;
}

.article-content b,
.article-content strong {
    color: #FF6B35;
    font-weight: 700;
}

.article-content ul,
.article-content ol {
    margin: 20px 0;
    padding-left: 30px;
}

.article-content li {
    margin-bottom: 12px;
}

.article-content a {
    color: #FF6B35;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 107, 53, 0.3);
    transition: all 0.3s ease;
}

.article-content a:hover {
    color: #ffffff;
    border-bottom-color: #FF6B35;
}

.article-content blockquote {
    margin: 30px 0;
    padding: 20px 24px;
    background: rgba(255, 107, 53, 0.05);
    border-left: 4px solid #FF6B35;
    border-radius: 8px;
    font-style: italic;
    color: rgba(255, 255, 255, 0.8);
}

.article-content code {
    background: rgba(255, 255, 255, 0.1);
    padding: 2px 8px;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
    font-size: 16px;
    color: #FF6B35;
}

.article-content pre {
    background: rgba(0, 0, 0, 0.3);
    padding: 20px;
    border-radius: 8px;
    overflow-x: auto;
    margin: 20px 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.article-content pre code {
    background: none;
    padding: 0;
}

/* ============= ТАБЛИЦЫ В СТАТЬЕ ============= */
/* Раньше таблица приезжала строками markdown и читалась как каша. Теперь это
   настоящая <table>, но без стилей колонки слипались. */
.article-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 30px 0;
    font-size: 16px;
    /* На узких экранах таблица прокручивается внутри себя,
       а не разъезжает всю страницу */
    display: block;
    overflow-x: auto;
}

.article-content thead {
    background: rgba(255, 107, 53, 0.12);
}

.article-content th {
    padding: 14px 16px;
    text-align: left;
    font-weight: 700;
    color: #ffffff;
    border-bottom: 2px solid rgba(255, 107, 53, 0.45);
    white-space: nowrap;
}

.article-content td {
    padding: 12px 16px;
    vertical-align: top;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.8);
}

/* Чередование строк: глаз не теряет строку на широкой таблице */
.article-content tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.025);
}

.article-content tbody tr:hover {
    background: rgba(255, 107, 53, 0.06);
}

/* Ячейки не должны красить текст в оранжевый через .article-content strong */
.article-content th strong,
.article-content td strong {
    color: inherit;
}

/* ============= БЛОКИ ОТ ФАБРИКИ КОНТЕНТА ============= */
/* Классы sp-* приходят в теле статьи из n8n. В стилях их не было совсем,
   поэтому подпись автора слипалась в «...КрыловСпорториумсОпубликовано». */

/* Подпись автора и даты (идёт в конце статьи) */
.sp-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    align-items: center;
    margin: 40px 0 16px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
}

.sp-article-meta time {
    white-space: nowrap;
}

.sp-article-meta .sp-article-modified {
    opacity: 0.8;
}

/* Блок перехода в личный кабинет */
.sp-article-cta {
    display: block;
    margin: 32px 0;
    padding: 24px;
    background: linear-gradient(135deg, rgba(255, 107, 53, 0.1), rgba(255, 107, 53, 0.03));
    border: 1px solid rgba(255, 107, 53, 0.3);
    border-radius: 12px;
}

.sp-article-cta strong {
    display: block;
    margin-bottom: 8px;
    font-size: 18px;
    color: #ffffff;
}

.sp-article-cta p {
    margin: 0 0 16px;
    color: rgba(255, 255, 255, 0.8);
}

.sp-article-cta a {
    display: inline-block;
    padding: 12px 24px;
    background: #FF6B35;
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
    border: none;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.sp-article-cta a:hover {
    background: #ff8354;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(255, 107, 53, 0.3);
}

/* Контекстная ссылка внутри текста */
.sp-inline-link {
    margin: 20px 0;
    padding-left: 14px;
    border-left: 3px solid rgba(255, 107, 53, 0.5);
    font-size: 16px;
    color: rgba(255, 255, 255, 0.6);
}

/* Блоки «Читайте также» и «Продолжить изучение» */
.sp-also-read,
.sp-related {
    display: block;
    margin: 32px 0;
    padding: 20px 24px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 12px;
}

.sp-also-read strong,
.sp-related strong {
    display: block;
    margin-bottom: 12px;
    color: #ffffff;
}

.sp-also-read ul {
    margin: 0;
    padding-left: 18px;
}

.sp-also-read li {
    margin-bottom: 8px;
}

/* Ссылки в «Продолжить изучение» идут подряд без обёртки — разводим их */
.sp-related a {
    display: inline-block;
    margin-right: 20px;
    margin-bottom: 6px;
}

/* Дисклеймер и возрастная пометка */
.sp-responsible,
.sp-age-limit {
    margin-top: 16px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
}

.sp-age-limit {
    display: inline-block;
    padding: 3px 9px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
}

/* Читателю полезно видеть, что ссылка уводит с сайта */
.article-content a[target="_blank"]::after {
    content: "↗";
    margin-left: 3px;
    font-size: 0.85em;
    opacity: 0.7;
}

/* Футер статьи: кнопка и мета рядом */
.article-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 32px;
    margin-top: 48px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Мета информация (справа) */
.article-meta {
    display: flex;
    gap: 24px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 14px;
    font-weight: 500;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Кнопка назад (слева) */
.btn-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    background: rgba(255, 107, 53, 0.1);
    color: #FF6B35;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 700;
    border: 1px solid rgba(255, 107, 53, 0.3);
    transition: all 0.3s ease;
}

.btn-back:hover {
    background: #FF6B35;
    color: #ffffff;
    transform: translateX(-5px);
    box-shadow: 0 10px 30px rgba(255, 107, 53, 0.3);
}

/* Статья не найдена */
.article-not-found {
    text-align: center;
    padding: 100px 20px;
    max-width: 600px;
    margin: 0 auto;
}

.article-not-found h1 {
    color: #ffffff;
    font-size: 48px;
    margin-bottom: 16px;
}

.article-not-found p {
    color: rgba(255, 255, 255, 0.6);
    font-size: 18px;
    margin-bottom: 32px;
}

/* Адаптивность */
@media (max-width: 768px) {
    .article-page {
        padding: 100px 16px 40px;
    }
    
    .article-title {
        font-size: 28px;
    }
    
    .article-content {
        font-size: 16px;
    }
    
    .article-content h2 {
        font-size: 24px;
    }
    
    .article-content h3 {
        font-size: 20px;
    }

    /* На телефоне строки короткие, поэтому межстрочный интервал
       можно чуть поджать — иначе текст рассыпается */
    .article-content {
        line-height: 1.7;
        max-width: 100%;
    }

    /* Таблица на телефоне. Замер на экране 375px: с нерушимыми заголовками
       (white-space: nowrap) она вылезала за экран на 159px и третья колонка
       просто обрезалась. Разрешаем заголовкам переноситься и ужимаем
       отступы — таблица укладывается почти целиком. */
    .article-content table {
        font-size: 14px;
    }

    .article-content th,
    .article-content td {
        padding: 9px 10px;
        white-space: normal;
    }

    /* Внизу статьи оставался пустой провал 48px до линии футера */
    .article-content {
        margin-bottom: 24px;
    }

    .sp-article-cta {
        padding: 18px;
    }

    .sp-also-read,
    .sp-related {
        padding: 16px 18px;
    }

    .article-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .article-meta {
        flex-direction: column;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .article-title {
        font-size: 24px;
    }

    /* Было 15px — для чтения с телефона мелко.
       16px это нижняя граница комфортного чтения. */
    .article-content {
        font-size: 16px;
    }

    /* Заголовки разделов не должны спорить с заголовком статьи */
    .article-content h2 {
        font-size: 22px;
    }

    .article-content h3 {
        font-size: 19px;
    }

    /* На самых узких экранах таблицу ужимаем ещё: при 13px и отступе 6px
       она перестаёт вылезать за край (замер: было 502px при экране 343px,
       стало 352px) */
    .article-content table {
        font-size: 13px;
    }

    .article-content th,
    .article-content td {
        padding: 8px 6px;
    }
}

/* ========================================
   ФУТЕР
   ======================================== */

.footer {
    background: linear-gradient(180deg, #0a0e1a 0%, #050812 100%);
    border-top: 1px solid rgba(0, 229, 255, 0.1);
    padding: 60px 0 30px;
    position: relative;
}

.footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, #FF6B35 50%, transparent);
}

.footer__top {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 60px;
    margin-bottom: 50px;
}

.footer__column {
    display: flex;
    flex-direction: column;
}

.footer__title {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 24px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    padding-bottom: 12px;
}

.footer__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 2px;
    background: #FF6B35;
}

.footer__text {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 24px;
}

/* Социальные сети */
.footer__social {
    display: flex;
    gap: 12px;
}

.footer__social-link {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 107, 53, 0.1);
    border: 1px solid rgba(255, 107, 53, 0.2);
    border-radius: 8px;
    color: #FF6B35;
    transition: all 0.3s ease;
}

.footer__social-link:hover {
    background: #00E5FF;
    color: #0a0e1a;
    transform: translateY(-3px);
    box-shadow: 0 5px 20px rgba(0, 229, 255, 0.3);
}

/* Ссылки */
.footer__links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer__links li {
    margin-bottom: 12px;
}

.footer__links a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    display: inline-block;
}

.footer__links a:hover {
    color: #FF6B35;
    transform: translateX(5px);
}

/* Контакты */
.footer__contacts {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
}

.footer__contacts li {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    margin-bottom: 16px;
}

.footer__contacts svg {
    flex-shrink: 0;
    color: #FF6B35;
}

.footer__payment-icons img {
    height: auto;
    width: 60px;
    max-height: 32px;
    opacity: 0.8;
    transition: opacity 0.3s ease;
    object-fit: contain;
}

.footer__payment-icons {
    display: flex;
    gap: 16px;
    align-items: center;
}

.footer__payment-icons img {
    height: 32px;
    width: auto;
    opacity: 0.8;
    transition: opacity 0.3s ease;
    object-fit: contain;
}

.footer__payment-icons img:hover {
    opacity: 1;
}

.footer__payment-icons img:nth-child(1) {
    height: 18px;
}

.footer__payment-icons img:nth-child(2) {
    height: 100px;
}

.footer__payment-icons img:nth-child(3) {
    height: 100px;
}

/* Юридическая информация (раскрывающийся блок) */
.footer__legal-info {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.footer__legal-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: rgba(0, 229, 255, 0.05);
    border: 1px solid rgba(0, 229, 255, 0.1);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.footer__legal-toggle:hover {
    background: rgba(0, 229, 255, 0.1);
    border-color: rgba(0, 229, 255, 0.2);
    color: #00E5FF;
}

.footer__legal-toggle svg {
    transition: transform 0.3s ease;
}

.footer__legal-toggle.active svg {
    transform: rotate(180deg);
}

.footer__legal-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
    padding: 0 20px;
}

.footer__legal-content.active {
    max-height: 2000px;
    padding: 20px;
}

.footer__legal-content p {
    color: rgba(255, 255, 255, 0.5);
    font-size: 12px;
    line-height: 1.6;
    margin-bottom: 12px;
}

/* Адаптивность футера для мобильных */
@media (max-width: 768px) {
    .footer__top {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .footer__column {
        width: 100%;
    }
    
    .footer__links {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px 16px;
    }
    
    .footer__links li {
        margin-bottom: 0;
    }
}

/* ============================================
   НИЖНИЙ БАР (MOBILE MENU)
   ============================================ */

.mobile-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(29, 35, 42, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid rgba(0, 229, 255, 0.1);
    display: none;
    justify-content: space-around;
    align-items: center;
    padding: 6px 4px;
    z-index: 1000;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
}

/* Показываем только на мобилках */
@media (max-width: 768px) {
    .mobile-menu {
        display: flex;
    }
    
    .header__burger,
    .header__mobile-menu {
        display: none !important;
    }
}

/* Кнопки - АДАПТИВНЫЕ */
.mobile-menu__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 4px 6px;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.6);
    transition: all 0.3s ease;
    border-radius: 8px;
    position: relative;
    flex: 1;
    max-width: 70px;
}

.mobile-menu__item svg {
    width: 22px;
    height: 22px;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.mobile-menu__item span {
    font-size: 9px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* Активная кнопка */
.mobile-menu__item.active,
.mobile-menu__item:active {
    color: #00E5FF;
    background: rgba(0, 229, 255, 0.1);
}

.mobile-menu__item:hover {
    color: #00E5FF;
}

/* Заблокированные кнопки */
.mobile-menu__item--locked {
    opacity: 0.6;
}

.mobile-menu__lock {
    position: absolute;
    top: 4px;
    right: 6px;
    font-size: 8px;
    opacity: 0.8;
}

/* Для ОЧЕНЬ маленьких экранов */
@media (max-width: 360px) {
    .mobile-menu__item {
        padding: 4px 4px;
        max-width: 60px;
    }
    
    .mobile-menu__item svg {
        width: 20px;
        height: 20px;
    }
    
    .mobile-menu__item span {
        font-size: 8px;
    }
}

/* ===== МОБИЛЬНЫЙ HEADER С НИКНЕЙМОМ ===== */
@media (max-width: 768px) {
    .header__buttons {
        display: flex !important;
    }
    
    .header__user-info {
        display: flex !important;
        gap: 0 !important;
    }
    
    .header__user-simple {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
    }
    
    .header__buttons > .btn-secondary,
    .header__buttons > .btn-primary {
        display: none !important;
    }
    
    .header__user-info > .btn {
        display: none !important;
    }
}

/* ============= TRUST (блок доверия) ============= */
.trust {
    position: relative;
    padding: 64px 0;
    background: var(--bg-dark-primary);
    overflow: hidden;
}

.trust::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 20%, rgba(255, 107, 53, 0.10) 0%, transparent 45%),
        radial-gradient(circle at 85% 80%, rgba(0, 229, 255, 0.08) 0%, transparent 45%);
}

.trust__inner {
    position: relative;
    z-index: 1;
}

.trust__stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}

.stat-card {
    position: relative;
    padding: 1.75rem 1.25rem;
    text-align: center;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 18px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.stat-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255, 107, 53, 0.35);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}

.stat-card--accent {
    border-color: rgba(255, 107, 53, 0.3);
    background: linear-gradient(160deg, rgba(255, 107, 53, 0.12), rgba(255, 255, 255, 0.02));
}

.stat-card__icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 0.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(255, 107, 53, 0.12);
    color: var(--accent-primary);
}

.stat-card--accent .stat-card__icon {
    color: var(--accent-hover);
}

.stat-card__num {
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    background: linear-gradient(135deg, #fff 0%, var(--accent-hover) 120%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.stat-card--accent .stat-card__num {
    background: linear-gradient(135deg, var(--accent-hover), var(--accent-secondary));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.stat-card__label {
    margin-top: 0.5rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-gray);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.trust__teams {
    margin-top: 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.trust__teams-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-gray);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.trust__teams-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.6rem;
}

.team-pill {
    padding: 0.5rem 1.1rem;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: var(--text-gray-light);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 100px;
    transition: all 0.3s ease;
}

.team-pill:hover {
    color: #fff;
    border-color: rgba(255, 107, 53, 0.4);
    background: rgba(255, 107, 53, 0.08);
}

.trust__disclaimer {
    margin: 2rem auto 0;
    text-align: center;
    font-size: 0.72rem;
    line-height: 1.5;
    color: var(--text-gray-dark);
    max-width: 640px;
}

@media (max-width: 1024px) {
    .trust__stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .trust {
        padding: 44px 0;
    }
    .stat-card {
        padding: 1.35rem 1rem;
        border-radius: 14px;
    }
    .stat-card__icon {
        width: 44px;
        height: 44px;
        margin-bottom: 0.65rem;
    }
    .stat-card__num {
        font-size: 1.9rem;
    }
    .stat-card__label {
        font-size: 0.72rem;
    }
}

@media (max-width: 360px) {
    .trust__stats {
        gap: 0.75rem;
    }
    .stat-card__num {
        font-size: 1.7rem;
    }
}

/* ============= FOMO (срочность) ============= */
.fomo {
    padding: 56px 0;
    background: var(--bg-dark-primary);
}

.fomo__card {
    position: relative;
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
    padding: 2.5rem 2rem;
    border-radius: 24px;
    background: linear-gradient(160deg, rgba(255, 107, 53, 0.14), rgba(29, 35, 42, 0.6));
    border: 1px solid rgba(255, 107, 53, 0.3);
    box-shadow: 0 0 50px rgba(255, 107, 53, 0.15);
    overflow: hidden;
}

.fomo__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--accent-primary), transparent);
}

.fomo__online {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
    color: var(--text-gray-light);
    margin-bottom: 1.25rem;
}

.fomo__online strong {
    color: #fff;
}

.fomo__online-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--success);
    animation: badge-pulse 1.8s ease-out infinite;
}

.fomo__title {
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 1.25rem;
}

.fomo__timer {
    font-size: 3rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.02em;
    font-variant-numeric: tabular-nums;
    color: var(--accent-hover);
    text-shadow: 0 0 24px rgba(255, 107, 53, 0.4);
    margin-bottom: 1rem;
}

.fomo__seats {
    font-size: 0.95rem;
    color: var(--text-gray-light);
    margin-bottom: 1.75rem;
}

.fomo__seats strong {
    color: var(--accent-primary);
    font-weight: 800;
}

.fomo__btn {
    font-size: 1rem !important;
    padding: 1rem 2rem !important;
    animation: fomo-btn-pulse 2.2s ease-in-out infinite;
}

@keyframes fomo-btn-pulse {
    0%, 100% { transform: translateY(0); box-shadow: var(--shadow-accent); }
    50%      { transform: translateY(-2px); box-shadow: var(--shadow-accent-strong); }
}

@media (max-width: 768px) {
    .fomo {
        padding: 40px 0;
    }
    .fomo__card {
        padding: 2rem 1.25rem;
        border-radius: 18px;
    }
    .fomo__title {
        font-size: 1.2rem;
    }
    .fomo__timer {
        font-size: 2.4rem;
    }
}

/* ============= ПОЯВЛЕНИЕ СЕКЦИЙ ПРИ ПРОКРУТКЕ ============= */
[data-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s ease, transform 0.7s ease;
    will-change: opacity, transform;
}

[data-reveal].is-revealed {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    [data-reveal] {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .hero-banner__badge-dot,
    .fomo__online-dot,
    .fomo__btn {
        animation: none;
    }
}
/* ===== Тизер прогноза + команды по центру + заглушка лого ===== */
.match-card__predict { margin-top: 0.25rem; }
.match-card__predict-head { margin-bottom: 0.5rem; }
.match-card__predict-label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--text-gray-light);
}
.match-card__predict-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--success);
    animation: badge-pulse 1.8s ease-out infinite;
}

.match-card__predict-bar {
    position: relative;
    height: 34px;
    border-radius: 10px;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(255, 107, 53, 0.18), rgba(0, 229, 255, 0.18));
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.match-card__predict-fill {
    position: absolute;
    top: 0; bottom: 0; left: 0;
    width: 50%;
    background: linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));
    filter: blur(6px);
    opacity: 0.8;
    animation: predict-wobble 3.2s ease-in-out infinite alternate;
}
@keyframes predict-wobble {
    from { width: 36%; }
    to   { width: 66%; }
}
.match-card__predict-lock {
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0.8rem;
    border-radius: 100px;
    background: rgba(29, 35, 42, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff;
    white-space: nowrap;
}
.match-card__predict-lock svg { width: 12px; height: 12px; }

/* Команды по центру */
.match-card__team { justify-content: center; }
.match-card__team-name { flex: 0 0 auto; text-align: center; }

/* Заглушка логотипа (первая буква) */
.match-card__team-logo--ph {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 1.1rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
}

@media (max-width: 768px) {
    .match-card__predict-bar { height: 30px; }
    .match-card__predict-lock { font-size: 0.64rem; }
    .match-card__predict-label { font-size: 0.68rem; }
}

@media (prefers-reduced-motion: reduce) {
    .match-card__predict-fill { animation: none; width: 50%; }
}
/* Логотипы команд — крупнее */
.match-card__team-logo {
    width: 68px;
    height: 68px;
    padding: 0.3rem;
}
.match-card__team-logo--ph { font-size: 1.5rem; }

@media (max-width: 768px) {
    .match-card__team-logo {
        width: 96px !important;
        height: 96px !important;
        padding: 0.35rem !important;
    }
    .match-card__team-logo--ph { font-size: 2rem !important; }
}
@media (max-width: 360px) {
    .match-card__team-logo {
        width: 80px !important;
        height: 80px !important;
    }
}

#push_btn { display: none !important; }

/* ==== SP-CONF: виджет «Уверенные прогнозы» ==== */
:root{
  --sp-surface:#171D25; --sp-elevated:#1D242E; --sp-line:rgba(255,255,255,.07);
  --sp-ink:#EDF1F6; --sp-ink-2:#8B94A3; --sp-ink-3:#5A6472;
  --sp-orange:#FF6B35; --sp-orange-soft:rgba(255,107,53,.12);
  --sp-win:#34C97F; --sp-win-soft:rgba(52,201,127,.12);
  --sp-miss:#E5397A; --sp-miss-soft:rgba(229,57,122,.12);
  --sp-track:#242C37;
  --sp-f-display:'Unbounded',sans-serif; --sp-f-body:'Golos Text',sans-serif; --sp-f-mono:'JetBrains Mono',monospace;
}
.accuracy-section{padding:26px 0 8px}
.sp-conf, .sp-conf *{box-sizing:border-box;margin:0;padding:0}
.sp-conf{position:relative;overflow:hidden;border:1px solid var(--sp-line);border-radius:20px;
  background:linear-gradient(180deg,var(--sp-elevated),var(--sp-surface) 55%);padding:clamp(20px,3.2vw,34px);
  color:var(--sp-ink);font-family:var(--sp-f-body)}
.sp-conf::before{content:'';position:absolute;inset:0 0 auto 0;height:2px;
  background:linear-gradient(90deg,transparent,var(--sp-orange) 30%,#FFB03A 55%,transparent 85%)}
.sp-conf::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.35;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.016) 0 1px,transparent 1px 9px)}
.sp-conf > *{position:relative;z-index:1}
.sp-conf__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.sp-conf__title{font-family:var(--sp-f-display);font-weight:700;font-size:clamp(13px,1.6vw,16px);letter-spacing:.14em;text-transform:uppercase}
.sp-conf__title em{color:var(--sp-orange);font-style:normal}
.sp-conf__pulse{display:inline-flex;align-items:center;gap:8px;font-family:var(--sp-f-mono);font-size:11.5px;color:var(--sp-ink-2);
  background:var(--sp-elevated);border:1px solid var(--sp-line);padding:6px 12px;border-radius:99px}
.sp-conf__dot{width:7px;height:7px;border-radius:50%;background:var(--sp-win);animation:sp-pulse 2.2s ease-out infinite}
@keyframes sp-pulse{0%{box-shadow:0 0 0 0 rgba(52,201,127,.5)}70%{box-shadow:0 0 0 7px rgba(52,201,127,0)}100%{box-shadow:0 0 0 0 rgba(52,201,127,0)}}
.sp-conf__grid{display:flex;gap:clamp(20px,3.4vw,44px);align-items:center;flex-wrap:wrap}
.sp-conf__ring{position:relative;flex:0 0 auto;width:clamp(170px,20vw,220px);aspect-ratio:1}
.sp-conf__ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.sp-conf__ring [data-track]{stroke:var(--sp-track)}
.sp-conf__ring [data-arc]{stroke:url(#sp-conf-grad);stroke-linecap:round;transition:stroke-dashoffset 1.5s cubic-bezier(.22,.8,.24,1)}
.sp-conf__core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.sp-conf__pct{display:inline-flex;align-items:flex-start;justify-content:center;font-family:var(--sp-f-display);font-weight:900;
  font-size:clamp(28px,4vw,42px);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sp-conf__pct small{font-size:.36em;font-weight:700;color:var(--sp-orange);margin-left:.12em;transform:translateY(.1em)}
.sp-conf__core-sub{margin-top:7px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sp-ink-2)}
.sp-conf__lead{flex:1 1 320px;min-width:0}
.sp-conf__slogan{font-family:var(--sp-f-display);font-weight:700;font-size:clamp(17px,2.2vw,23px);line-height:1.35;letter-spacing:.01em}
.sp-conf__slogan em{font-style:normal;color:var(--sp-orange)}
.sp-conf__explain{margin-top:12px;font-size:14px;line-height:1.65;color:var(--sp-ink-2);max-width:52ch}
.sp-conf__explain b{color:var(--sp-ink);font-weight:600}
.sp-conf__chips{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.sp-chip{display:inline-flex;align-items:baseline;gap:7px;background:var(--sp-elevated);border:1px solid var(--sp-line);
  border-radius:12px;padding:10px 14px}
.sp-chip b{font-family:var(--sp-f-mono);font-weight:600;font-size:20px;line-height:1;color:var(--sp-ink)}
.sp-chip span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--sp-ink-2)}
.sp-chip--win b{color:var(--sp-win)} .sp-chip--miss b{color:var(--sp-miss)}
.sp-conf__strip{margin-top:24px}
.sp-conf__strip-label{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sp-ink-3);margin-bottom:8px}
.sp-conf__legend{display:inline-flex;gap:12px;font-family:var(--sp-f-mono);text-transform:none;letter-spacing:0;font-size:12px}
.sp-conf__legend .w{color:var(--sp-win)} .sp-conf__legend .m{color:var(--sp-miss)}
.sp-conf__strip-row{display:flex;gap:2px}
.sp-seg{flex:1;height:20px;border-radius:3px;background:var(--sp-track);position:relative;cursor:default;
  transform-origin:bottom;animation:sp-seg-in .35s backwards}
.sp-seg--win{background:linear-gradient(180deg,#3ED88B,#22A968)}
.sp-seg--miss{background:linear-gradient(180deg,#EE4E8B,#C22762)}
.sp-seg:hover{filter:brightness(1.3)}
@keyframes sp-seg-in{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}
.sp-seg [data-tip]{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;
  background:#0C0F14;border:1px solid var(--sp-line);color:var(--sp-ink);font-size:12px;padding:7px 10px;border-radius:8px;
  opacity:0;pointer-events:none;transition:opacity .15s;z-index:5}
.sp-seg:hover [data-tip]{opacity:1}
.sp-conf__strip-row .sp-seg:nth-child(-n+4) [data-tip]{left:0;transform:none}
.sp-conf__strip-row .sp-seg:nth-last-child(-n+4) [data-tip]{left:auto;right:0;transform:none}
.sp-conf__feed{margin-top:20px;border-top:1px solid var(--sp-line)}
.sp-row{display:grid;grid-template-columns:64px 1fr auto auto;gap:12px;align-items:center;
  padding:11px 2px;border-bottom:1px solid var(--sp-line);animation:sp-row-in .5s backwards}
@keyframes sp-row-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sp-row:hover{background:rgba(255,255,255,.02)}
.sp-row__date{font-family:var(--sp-f-mono);font-size:11.5px;color:var(--sp-ink-3)}
.sp-row__match{min-width:0}
.sp-row__teams{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-row__tour{font-size:11.5px;color:var(--sp-ink-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-row__pick{font-family:var(--sp-f-mono);font-size:12px;color:var(--sp-ink-2);text-align:right;white-space:nowrap}
.sp-row__pick b{color:var(--sp-ink);font-weight:600}
.sp-row__pick .c{color:var(--sp-orange)}
.sp-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--sp-f-mono);font-size:11.5px;font-weight:600;
  padding:5px 10px;border-radius:8px;min-width:34px;justify-content:center}
.sp-badge--win{background:var(--sp-win-soft);color:var(--sp-win)}
.sp-badge--miss{background:var(--sp-miss-soft);color:var(--sp-miss)}
.sp-conf__full{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-top:18px;padding:13px 16px;background:var(--sp-elevated);border:1px dashed rgba(255,255,255,.13);border-radius:12px}
.sp-conf__full-text{font-size:13px;color:var(--sp-ink-2)}
.sp-conf__full-text b{font-family:var(--sp-f-mono);color:var(--sp-ink);font-weight:600}
.sp-conf__full a{font-family:var(--sp-f-display);font-weight:700;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--sp-orange);text-decoration:none;border-bottom:1px solid rgba(255,107,53,.35);padding-bottom:2px;white-space:nowrap}
.sp-conf__full a:hover{border-color:var(--sp-orange)}
.sp-conf__manifest{margin-top:14px;font-size:11.5px;color:var(--sp-ink-3);line-height:1.6}
.sp-conf__manifest b{color:var(--sp-ink-2);font-weight:500}
@media (max-width:520px){
  .sp-row{grid-template-columns:1fr auto}
  .sp-row__date,.sp-row__pick{display:none}
  .sp-conf__ring{width:150px;margin:0 auto}
  .sp-conf__pct{font-size:27px}
  .sp-conf__grid{gap:18px}
  .sp-conf__slogan{text-align:center}
  .sp-conf__explain{max-width:none}
  .sp-conf__chips{justify-content:center}
  .sp-conf__strip-row{gap:1px}
  .sp-seg{height:15px;border-radius:1.5px}
}
@media (prefers-reduced-motion:reduce){
  .sp-seg,.sp-row{animation:none}
  .sp-conf__ring [data-arc]{transition:none}
  .sp-conf__dot{animation:none}
}


/* ==== MBAR: нижний мобильный бар ==== */
.mbar{display:none}
@media (max-width:768px){
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
  .mbar{position:fixed;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:1000;
    display:flex;align-items:flex-end;justify-content:space-around;gap:2px;
    background:rgba(23,29,37,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:8px 6px 9px}
  .mbar__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;
    color:#8B94A3;text-decoration:none;font-size:10.5px;font-weight:600;letter-spacing:.02em;
    -webkit-tap-highlight-color:transparent;transition:color .2s}
  .mbar__item svg{width:22px;height:22px}
  .mbar__item:active,.mbar__item--active{color:var(--accent-primary, #FF6B35)}
  .mbar__item--fab{margin-top:-26px}
  .mbar__fab{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;
    background:linear-gradient(135deg,#FF6B35,#FF8F3D);color:#fff;
    box-shadow:0 6px 18px rgba(255,107,53,.45), 0 0 0 5px rgba(23,29,37,.92);margin-bottom:2px}
  .mbar__fab svg{width:24px;height:24px}
  .mbar__item--fab span:last-child{color:#EDF1F6}
}

/* предохранитель: если JS не сработал, секции проявляются сами */
[data-reveal]{animation:sp-reveal-fallback 0s 2.5s forwards}
[data-reveal].is-revealed{animation:none}
@keyframes sp-reveal-fallback{to{opacity:1;transform:none}}

/* ==== MOBILE-COMPACT: карточка матча на мобилке (финальные правки) ==== */
@media (max-width: 768px) {
  /* команды строго по левому краю: [лого][имя] одной строкой */
  .match-card__teams { padding: .5rem 0 !important; gap: .5rem !important; }
  .match-card__team {
    display: flex !important; flex-direction: row !important;
    justify-content: flex-start !important; align-items: center !important;
    gap: .65rem !important; text-align: left !important;
  }
  .match-card__team-logo,
  .match-card__team-logo--ph {
    width: 42px !important; height: 42px !important;
    padding: .3rem !important; flex: 0 0 42px !important;
    font-size: 17px; display: inline-flex; align-items: center; justify-content: center;
  }
  .match-card__team-name { font-size: .95rem !important; font-weight: 600; }

  /* компактный VS и разделители */
  .match-card__vs { padding: 0 !important; gap: .5rem !important; }
  .vs-circle { width: 26px !important; height: 26px !important; font-size: .65rem !important; }

  /* сама карточка плотнее */
  .match-card { padding: .875rem !important; gap: .5rem !important; }
  .match-card__tournament { gap: .4rem; }
  .match-card__tournament svg { width: 18px; height: 18px; }
  .match-card__tournament-name { font-size: .8rem; }
  .match-card__predict { margin-top: 0 !important; }
  .match-card__predict-head { margin-bottom: .3rem !important; }
  .match-card__predict-bar { height: 34px !important; }
  .match-card__info { padding: .5rem 0 !important; }
  .match-card__date { font-size: .75rem !important; }
  .match-card__date svg { width: 14px; height: 14px; }
  .match-card__format { font-size: .7rem !important; padding: .2rem .5rem !important; }
  .match-card__btn { padding: .65rem 1rem !important; font-size: .8rem !important; margin-top: .25rem !important; }
}

/* ==== UI-PASS-1: слайдер, фильтры статей, «Наш подход», микродвижение ==== */

/* -- 1. Число в заголовках слайдера: не разрывается и подсвечено -- */
.hero-num { white-space: nowrap; color: var(--accent-primary, #FF6B35); }

/* -- 2. Фильтры статей на мобилке: лента-чипсы без видимого скроллбара -- */
@media (max-width: 768px) {
  .articles .section-header { margin-bottom: 1rem; }
  .articles-filters {
    display: flex; flex-wrap: nowrap; overflow-x: auto;
    gap: 8px; padding: 2px 16px 6px; margin: 0 -16px;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }
  .articles-filters::-webkit-scrollbar { display: none; }
  .articles-filter {
    flex: 0 0 auto; scroll-snap-align: start;
    padding: .5rem .95rem !important; font-size: .8rem !important;
    border-radius: 99px !important; white-space: nowrap;
  }
  .articles-filter svg { width: 14px; height: 14px; }
}

/* -- 3. НАШ ПОДХОД: стеклянные карточки -- */
.approach { padding: 64px 0 56px; position: relative; }
.approach::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(700px 340px at 15% 0%, rgba(255,107,53,.07), transparent 65%);
}
.approach .container { position: relative; }
.approach__head { max-width: 640px; margin-bottom: 34px; }
.approach__eyebrow {
  display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: var(--accent-primary, #FF6B35);
  border: 1px solid rgba(255,107,53,.35); border-radius: 99px; padding: 6px 14px; margin-bottom: 16px;
}
.approach__title { font-size: clamp(26px, 3.4vw, 40px); line-height: 1.15; letter-spacing: -.01em; color: #EDF1F6; }
.approach__title em { font-style: normal; color: var(--accent-primary, #FF6B35); }
.approach__lead { margin-top: 14px; font-size: 15.5px; line-height: 1.65; color: #8B94A3; }
.approach__lead strong { color: #EDF1F6; }

.approach__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.approach-card {
  position: relative; border-radius: 20px; padding: 24px 22px;
  background: linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.02) 55%);
  border: 1px solid rgba(255,255,255,.09);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  transition: transform .35s cubic-bezier(.22,.8,.24,1), border-color .35s, box-shadow .35s;
}
.approach-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255,107,53,.35);
  box-shadow: 0 18px 44px rgba(0,0,0,.35), 0 0 0 1px rgba(255,107,53,.12) inset;
}
.approach-card__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 14px; margin-bottom: 16px;
  color: var(--accent-primary, #FF6B35);
  background: rgba(255,107,53,.1); border: 1px solid rgba(255,107,53,.25);
}
.approach-card__title { font-size: 17px; font-weight: 700; color: #EDF1F6; margin-bottom: 8px; }
.approach-card__text { font-size: 13.5px; line-height: 1.6; color: #8B94A3; }
.approach-card__tag {
  display: inline-block; margin-top: 14px; font-size: 10.5px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; color: #5A6472;
  border: 1px dashed rgba(255,255,255,.14); border-radius: 8px; padding: 4px 9px;
}
.approach-card--result {
  background: linear-gradient(160deg, rgba(255,107,53,.16), rgba(255,255,255,.02) 60%);
  border-color: rgba(255,107,53,.35);
}
.approach-card__num {
  font-family: 'Unbounded', sans-serif; font-weight: 900; line-height: 1;
  font-size: 44px; color: var(--accent-primary, #FF6B35); margin-bottom: 12px;
}
.approach-card__num small { font-size: .45em; font-weight: 700; }
.approach-card__link {
  display: inline-block; margin-top: 14px; font-size: 12px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--accent-primary, #FF6B35);
  text-decoration: none; border-bottom: 1px solid rgba(255,107,53,.35); padding-bottom: 2px;
}
.approach-card__link:hover { border-color: var(--accent-primary, #FF6B35); }

.approach__photo { margin: 26px 0 0; position: relative; border-radius: 20px; overflow: hidden; }
.approach__photo img { display: block; width: 100%; max-height: 420px; object-fit: cover; object-position: center 30%; }
.approach__photo::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(13,17,23,.82));
}
.approach__caption {
  position: absolute; left: 16px; bottom: 14px; z-index: 1;
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12.5px; font-weight: 600; color: #EDF1F6;
  background: rgba(13,17,23,.55); border: 1px solid rgba(255,255,255,.12);
  border-radius: 99px; padding: 8px 14px;
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.approach__caption-dot { width: 7px; height: 7px; border-radius: 50%; background: #34C97F; }

/* каскад появления карточек */
.approach__grid .approach-card:nth-child(1) { transition-delay: .05s; }
.approach__grid .approach-card:nth-child(2) { transition-delay: .15s; }
.approach__grid .approach-card:nth-child(3) { transition-delay: .25s; }

@media (max-width: 900px) { .approach__grid { grid-template-columns: 1fr; } }
@media (max-width: 768px) {
  .approach { padding: 40px 0 36px; }
  .approach__head { margin-bottom: 22px; }
  .approach-card { padding: 20px 18px; }
  .approach__photo img { max-height: 300px; }
}

/* -- 4. Микродвижение: карточки отвечают на касание/наведение -- */
.match-card, .article-card {
  transition: transform .35s cubic-bezier(.22,.8,.24,1), box-shadow .35s, border-color .35s;
}
.match-card:hover, .article-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
}
@media (prefers-reduced-motion: reduce) {
  .approach-card, .match-card, .article-card { transition: none; }
}

/* ==== FILTERS-FIT: все 4 фильтра статей в одну строку на мобилке ==== */
@media (max-width: 768px) {
  .articles-filters { gap: 6px; margin: 0; padding: 2px 0 6px; justify-content: space-between; }
  .articles-filter {
    padding: .45rem .7rem !important;
    font-size: .72rem !important;
    letter-spacing: .02em;
  }
  /* иконки в фильтрах прячем — текст помещается целиком */
  .articles-filter svg { display: none; }
}
@media (max-width: 360px) {
  .articles-filter { padding: .4rem .55rem !important; font-size: .68rem !important; }
}

/* ==== DESKTOP-PASS: слайд, hero-stats, полный виджет на ПК ==== */
/* строка живых цифр в слайде 1 — только на ПК/планшете */
.hero-stats { display: flex; gap: 22px; flex-wrap: wrap; margin: 18px 0 24px; }
.hero-stats span { font-size: 14px; color: rgba(237,241,246,.82); }
.hero-stats b {
  font-family: 'JetBrains Mono', monospace; font-weight: 600;
  color: var(--accent-primary, #FF6B35); margin-right: 4px;
}
@media (max-width: 768px) { .hero-stats { display: none; } }

/* виджет: на ПК полный (с лентой), на мобилке лента и колонка "пик" прячутся */
@media (max-width: 768px) {
  #confident-widget .sp-conf__feed { display: none; }
}

/* Нижний бар — «плавающее облачко»: отступы от краёв и полное скругление.
   От «ныряния» при появлении адресной строки спасает не прижатие к низу,
   а interactive-widget=resizes-content (проставляется скриптом страницы). */
@media (max-width: 768px) {
  .mbar {
    left: 10px; right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 22px;
    padding: 8px 6px 9px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
  }
  body { padding-bottom: calc(86px + env(safe-area-inset-bottom, 0px)); }
}

/* ==== FIX-CONFLICTS: перебиваем старые правила центрирования команд ==== */
/* старые правила (выше по файлу) центрировали имя команды и делали букву-заглушку 2rem —
   при лого 42px это ломало ряд. Здесь фиксируем финальные значения. */
.match-card__team-name { text-align: left !important; }
@media (max-width: 768px) {
  .match-card__team-logo--ph { font-size: 1.05rem !important; }
  .match-card__teams { align-items: stretch; }
}
@media (max-width: 360px) {
  .match-card__team-logo,
  .match-card__team-logo--ph { width: 38px !important; height: 38px !important; flex: 0 0 38px !important; }
  .match-card__team-logo--ph { font-size: .95rem !important; }
  .match-card__team-name { font-size: .88rem !important; }
}

/* ==== NORMALIZE: единая шкала радиусов, шрифты и поверхности ==== */
/* 1. ПОВЕРХНОСТИ виджета сведены на палитру сайта (#1D232A / #2A323C),
      чтобы блок не выглядел «холоднее» остальной страницы. */
:root{
  --sp-surface:#232A33;
  --sp-elevated:#2A323C;
  --sp-line:rgba(255,255,255,.10);
  --sp-track:#333C48;
  /* 2. ШРИФТЫ: Golos Text убран — он дублировал Inter. Осталось три роли:
        Unbounded (акцентные заголовки) + Inter (текст) + JetBrains Mono (цифры). */
  --sp-f-body:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* 3. РАДИУСЫ: шкала из трёх ступеней — 8 (мелкое) / 16 (карточки) / 999 (пилюли).
      Значения 20px, 18px, 14px, 12px сведены к шкале. */
.sp-conf,
.approach-card,
.approach__photo { border-radius: 16px; }

.sp-chip,
.sp-conf__full,
.approach-card__icon,
.sp-badge { border-radius: 8px; }

/* у «облачка» скругление полное — исключение из общей шкалы радиусов */

/* ==== ONLINE-PILL: плашка «сейчас смотрят» в заголовке матчей ==== */
.online-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .10);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: rgba(255, 255, 255, .62);
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.online-pill strong {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  font-size: 14px;
  color: #FFFFFF;
}

.online-pill__dot {
  position: relative;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #34C97F;
  flex: 0 0 7px;
}

/* мягкое «дыхание» — признак живого сайта, без мельтешения */
.online-pill__dot::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: #34C97F;
  animation: online-pulse 2.4s ease-out infinite;
}

@keyframes online-pulse {
  0%   { transform: scale(1);   opacity: .55; }
  70%  { transform: scale(2.6); opacity: 0; }
  100% { transform: scale(2.6); opacity: 0; }
}

/* заголовок секции: плашка уходит вправо от названия */
.upcoming-matches .section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .online-pill { padding: 7px 13px; font-size: 12px; gap: 8px; }
  .online-pill strong { font-size: 13px; }
  .upcoming-matches .section-header { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .online-pill__dot::after { animation: none; }
}

/* ==== HERO-TITLE-FIX: процент внутри строки заголовка ==== */
/* .hero-banner__title — flex-контейнер (вертикальное центрирование в блоке 120px).
   Любой <span> внутри становился отдельным flex-элементом и отлетал вбок.
   .hero-title-inner делает текст ОДНИМ flex-элементом — внутри него строка течёт нормально. */
.hero-title-inner {
  display: block;
  width: 100%;
}

.hero-num {
  white-space: nowrap;
  color: var(--accent-primary, #FF6B35);
}

@media (max-width: 768px) {
  .hero-title-inner { text-align: center; }
}

/* строки заголовка распределяются равномерно — не остаётся «сирот» из одного слова */
.hero-title-inner { text-wrap: balance; }

/* ==== MBAR-ACTIVE: заметная подсветка текущей страницы ==== */
@media (max-width: 768px) {
  .mbar__item--active { position: relative; color: var(--accent-primary, #FF6B35); }
  /* точка-маркер под подписью — видно, где ты находишься */
  .mbar__item--active::after {
    content: ''; position: absolute; bottom: -3px; left: 50%; transform: translateX(-50%);
    width: 4px; height: 4px; border-radius: 50%; background: var(--accent-primary, #FF6B35);
  }
  .mbar__item--active svg { filter: drop-shadow(0 0 6px rgba(255,107,53,.5)); }
  /* у центральной кнопки-круга своя подсветка, точка ей не нужна */
  .mbar__item--fab.mbar__item--active::after { display: none; }
  .mbar__item--fab.mbar__item--active .mbar__fab {
    box-shadow: 0 6px 22px rgba(255,107,53,.6), 0 0 0 5px rgba(23,29,37,.92);
  }
}

/* ==== ALIVE-1: тикер, стекло в шапке, прогресс скролла, лёгкий режим ==== */

/* ===== ЛЁГКИЙ РЕЖИМ =====
   Класс .lite ставится скриптом, если у человека слабый телефон,
   медленный интернет, включён экономный режим или отключены анимации.
   Тяжёлые эффекты выключаются целиком — страница остаётся статичной, но полной. */
.lite * {
  backdrop-filter: none !important;      /* самый дорогой эффект для слабых GPU */
  -webkit-backdrop-filter: none !important;
}
.lite *, .lite *::before, .lite *::after {
  animation: none !important;
  transition: none !important;
}
.lite .mticker__track { transform: none !important; }
.lite .scroll-progress { display: none !important; }
/* прозрачные подложки заменяем плотными — без блюра они выглядели бы «грязно» */
.lite .mbar,
.lite .mobile-menu-lk,
.lite .online-pill,
.lite .sp-conf__pulse { background: #1F262E !important; }

/* ===== ТИКЕР БЛИЖАЙШИХ МАТЧЕЙ ===== */
.mticker {
  position: relative;
  overflow: hidden;
  /* стоит между слайдером и виджетом точности: рамка сверху и снизу,
     чтобы читалась как отдельная живая полоса, а не край секции */
  background: rgba(255, 255, 255, .025);
  border-top: 1px solid rgba(255, 255, 255, .07);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.mticker__track {
  display: flex;
  align-items: center;
  gap: 0;
  width: max-content;
  animation: mticker-run 46s linear infinite;
}
.mticker:hover .mticker__track { animation-play-state: paused; }

@keyframes mticker-run {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.mticker__item {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 18px;
  text-decoration: none;
  white-space: nowrap;
  border-right: 1px solid rgba(255, 255, 255, .06);
}
.mticker__time {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  color: var(--accent-primary, #FF6B35);
}
.mticker__teams { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .88); }
.mticker__tour  { font-size: 11.5px; color: rgba(255, 255, 255, .42); }
/* процент уверенности — то, чего нет ни у кого из конкурентов в бегущей строке */
.mticker__pct {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11.5px; font-weight: 600;
  color: #34C97F;
  background: rgba(52, 201, 127, .12);
  border-radius: 6px; padding: 2px 7px;
}
.mticker__dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #34C97F; flex: 0 0 6px;
}

@media (max-width: 768px) {
  /* На телефоне не крутим бесконечную анимацию — она сажает батарею.
     Вместо этого лента листается пальцем с прищёлкиванием. */
  .mticker { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
             scroll-snap-type: x proximity; }
  .mticker::-webkit-scrollbar { display: none; }
  .mticker__track { animation: none; width: auto; }
  .mticker__item { scroll-snap-align: start; padding: 9px 14px; }
  .mticker__item[aria-hidden="true"] { display: none; }   /* дубль нужен только для marquee */
  .mticker__tour { display: none; }                        /* на узком экране лишнее */
}

/* ===== ПОЛОСКА ПРОГРЕССА ЧТЕНИЯ ===== */
.scroll-progress {
  position: fixed; top: 0; left: 0; z-index: 1200;
  height: 2px; width: 0;
  background: linear-gradient(90deg, #FF6B35, #FFB03A);
  transition: width .08s linear;
  pointer-events: none;
}

/* ===== ШАПКА: стекло при скролле ===== */
.header {
  transition: background-color .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
}
.header.is-stuck {
  background: rgba(23, 29, 37, .82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 4px 24px rgba(0, 0, 0, .35);
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
@media (max-width: 768px) {
  /* на телефоне шапка ещё и ужимается — освобождает вертикаль */
  .header.is-stuck { height: 52px !important; min-height: 52px !important; }
  .header.is-stuck .header__container { height: 52px !important; }
  .header.is-stuck .header__logo { font-size: 16px !important; }
}


/* ==== GRID-FIT: сетка матчей подстраивается под число карточек ==== */
/* Сетка была жёстко на 4 колонки. Матчей у нас обычно 2–3, и на широком экране
   справа зияла пустая половина. Теперь колонок ровно столько, сколько карточек:
   ряд сжимается по содержимому и встаёт по центру — пустота уходит в поля,
   а не в дыру сбоку. Ширину карточки при этом слегка добавляем, чтобы
   короткий ряд не выглядел сиротливо. */
@media (min-width: 1281px) {
  .matches-grid[data-count="1"],
  .matches-grid[data-count="2"],
  .matches-grid[data-count="3"] {
    justify-content: center;
    gap: 2rem;
  }
  .matches-grid[data-count="1"] { grid-template-columns: minmax(0, 380px); }
  .matches-grid[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 360px)); }
  .matches-grid[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 330px)); }
}
/* На средних экранах сетка двухколоночная — центрируем только одиночную карточку */
@media (min-width: 769px) and (max-width: 1280px) {
  .matches-grid[data-count="1"] {
    justify-content: center;
    grid-template-columns: minmax(0, 360px);
  }
}

/* Заголовок секции и счётчик зрителей: при коротком ряде они висели по краям
   широкой полосы. Прижимаем их к той же центральной колонке, что и карточки. */
@media (min-width: 1281px) {
  .upcoming-matches .section-header:has(+ .matches-grid[data-count="1"]),
  .upcoming-matches .section-header:has(+ .matches-grid[data-count="2"]) {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
  }
}


/* ==== LIVE-BADGE: метка идущего матча ==== */
/* Матч уже начался — показываем это так же, как на странице прогнозов. */
.match-card__status[data-status="live"] .match-card__timer {
  color: #FF4D4D;
  border-color: rgba(255, 77, 77, .35);
  background: rgba(255, 77, 77, .10);
  letter-spacing: .06em;
}
.match-card__status[data-status="live"] .match-card__timer::before {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  margin-right: 7px;
  border-radius: 50%;
  background: #FF4D4D;
  vertical-align: middle;
  animation: live-pulse 1.6s ease-in-out infinite;
}
@keyframes live-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
/* в лёгком режиме пульсация не нужна — точка просто горит */
.lite .match-card__status[data-status="live"] .match-card__timer::before { animation: none; }