 :root {
     --bg-dark: #081024;
     --bg-nav: rgba(13, 27, 53, 0.95);
     --accent-red: #c8102e;
     --text-gray: #aab2c0;
     --font-main: 'Montserrat', sans-serif;
 }

 body {
     font-family: var(--font-main);
     background-color: var(--bg-dark);
     color: #ffffff;
     overflow-x: hidden;
 }

 .fs-12 {
     font-size: 12px;
 }

 /* --- TOP BAR --- */
 .top-bar {
     background-color: #ffffff;
     color: #000;
     font-size: 14px;
     font-weight: 500;
 }

 /* --- NAVIGATION --- */
 .navbar-custom {
     background-color: var(--bg-nav);
     border-bottom: 1px solid rgba(255, 255, 255, 0.1);
     backdrop-filter: blur(5px);
     padding: 15px 0;
 }

 .nav-link {
     color: #ffffff !important;
     text-transform: uppercase;
     font-weight: 700;
     font-size: 14px;
     letter-spacing: 0.5px;
     margin: 0 15px;
     /* На десктопе по умолчанию */
     transition: color 0.3s;
 }

 .nav-link:hover {
     color: var(--accent-red) !important;
 }

 /* Гамбургер меню */
 .navbar-toggler {
     border-color: rgba(255, 255, 255, 0.5);
     z-index: 10000 !important;
     /* Ensure it's above the full-screen menu (9999) */
     position: relative;
     /* Ensure z-index works */
 }

 .navbar-toggler-icon {
     background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
 }

 /* Change icon to X when open (optional but recommended) */
 .navbar-toggler:not(.collapsed) .navbar-toggler-icon {
     background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M6 6L24 24M6 24L24 6'/%3e%3c/svg%3e");
 }

 /* Мобильные правки для меню (логотип и бургер) */
 @media (max-width: 991px) {
     .navbar-collapse {
         position: fixed;
         top: 0;
         right: -100%;
         /* Start off-screen right */
         left: auto;
         /* Reset left */
         width: 100%;
         /* Full screen */
         height: 100vh;
         /* Viewport height */
         background-color: #081024 !important;
         /* Force solid dark color */
         transition: right 0.3s ease-in-out;
         padding: 20px;
         display: flex;
         flex-direction: column;
         z-index: 9999;
         /* Ensure it's on top */
         overflow-y: auto;
         /* Allow menu internal scroll if needed */
     }

     .navbar-collapse.show {
         right: 0;
         /* Slide in */
     }

     .nav-item {
         border-bottom: 1px solid rgba(255, 255, 255, 0.1);
     }

     .nav-item:last-child {
         border-bottom: none;
     }

     .nav-link {
         margin: 0;
         padding: 15px 0;
     }

     .navbar-nav {
         width: 100%;
     }

     .navbar-toggler {
         border: none;
         padding-right: 0;
         z-index: 1051;
     }

     .navbar-toggler:focus {
         box-shadow: none;
     }

     .mobile-menu-link {
         color: white;
         text-decoration: none;
         margin-top: 20px;
         display: block;
     }
 }

 /* --- HERO SECTION --- */
 /* --- HERO SECTION (Обновленная) --- */
 .hero-section {
     position: relative;
     padding: 0;
     /* Убираем внутренние отступы, чтобы картинка касалась краев */
     background: transparent;
     /* Фон прозрачный, так как главная роль у картинки */
     overflow: hidden;
     display: block;
     /* Сбрасываем flex, чтобы блоки шли друг за другом */
 }

 /* Контейнер для картинки на всю ширину */
 .hero-image-wrapper {
     width: 100%;
     position: relative;
     line-height: 0;
     /* Убираем отступы под картинкой */
 }

 .hero-banner-img {
     width: 100%;
     /* Растягиваем на всю ширину */
     height: auto;
     /* Высота авто */
     display: block;
     object-fit: cover;
     /* Заполняет пространство */
 }

 /* Контейнер для текста */
 .hero-content-wrapper {
     position: relative;
     z-index: 2;
     /* Текст поверх картинки */
     text-align: center;

     /* ГЛАВНАЯ МАГИЯ: Тянем блок с текстом вверх на картинку */
     /* Значение в vw (viewport width) позволяет отступу меняться при ресайзе */
     margin-top: -15vw;
     padding-bottom: 60px;
     /* Отступ снизу до следующей секции */
 }

 .hero-title {
     font-weight: bold;
     text-transform: uppercase;
     line-height: 1;
     color: #ffffff;
     margin-bottom: 20px;
     /* Адаптивный шрифт */
     font-size: clamp(28px, 5vw, 50px);
     text-shadow: 0 4px 20px rgba(0, 0, 0, 0.8);
     /* Тень обязательна, чтобы читалось на фоне картинки */
 }

 .hero-meta {
     font-size: clamp(14px, 1.5vw, 20px);
     font-weight: 500;
     color: #dbe4f0;
     text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
 }

 .hero-meta i {
     color: var(--accent-red);
 }

 /* Корректировка для мобильных, чтобы текст не улетел слишком высоко или низко */
 @media (max-width: 768px) {
     .hero-content-wrapper {
         margin-top: -20vw;
         /* На мобилке наезжаем сильнее */
     }
 }

 /* --- SCHEDULE SECTION --- */
 .btn-results {
     border: 2px solid var(--accent-red);
     border-radius: 50px;
     padding: 10px 30px;
     background: transparent;
     color: white;
     font-weight: 700;
     text-transform: uppercase;
     font-size: 14px;
     transition: all 0.3s;
     display: inline-block;
     text-decoration: none;
 }

 .btn-results:hover {
     background: var(--accent-red);
     color: white;
     /* Фикс цвета текста при ховере */
 }

 .swiper-nav-btn {
     width: 44px;
     height: 44px;
     border: 1px solid var(--accent-red);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: 0.3s;
     color: white;
 }

 .swiper-nav-btn:hover {
     background: var(--accent-red);
 }

 .match-card {
     padding: 0 20px;
     color: #fff;
     height: 100%;
     display: flex;
     flex-direction: column;
     justify-content: center;
 }

 @media (min-width: 992px) {
     .match-slide:not(:last-child) .match-card {
         border-right: 1px solid rgba(255, 255, 255, 0.1);
     }
 }

 @media (max-width: 991px) {
     .match-slide {
         border-bottom: 1px solid rgba(255, 255, 255, 0.1);
         padding-bottom: 20px;
         padding-top: 20px;
     }

     .match-slide:last-child {
         border-bottom: none;
     }
 }

 .team-score {
     font-weight: 700;
 }

 /* --- QUOTE SECTION --- */


 /* --- QUOTE SECTION FIXED --- */
 .quote-section {

     /* Увеличенные отступы сверху и снизу */
     padding-top: 100px;
     padding-bottom: 100px;
 }

 .director-img {
     width: 130px;
     height: 130px;
     object-fit: cover;
     border: 3px solid rgba(255, 255, 255, 0.1);
 }

 .director-name {
     font-size: 14px;
     letter-spacing: 1px;
     margin-top: 15px;
 }

 .director-role {
     font-size: 11px;
     color: #7d8597;
     line-height: 1.3;
 }

 /* Стиль для ВСЕГО текста цитаты */
 .quote-text-block {
     font-family: 'Montserrat', sans-serif;
     font-style: italic;
     text-transform: uppercase;
     color: #ffffff;
     line-height: 1.4;
     /* Чуть уменьшил, так как шрифт крупный */
 }

 /* Ваши настройки размера шрифта (36px) */
 .quote-part-1 {
     font-weight: 500;
     font-size: 36px;
     margin-bottom: 30px;
 }

 .quote-part-2 {
     font-weight: 400;
     font-size: 36px;
 }

 /* Адаптив для мобильных (чтобы 36px не рвало экран телефона) */
 @media (max-width: 768px) {

     .quote-part-1,
     .quote-part-2 {
         font-size: 20px;
         /* На мобильном шрифт меньше */
         text-align: center;
         /* Центруем текст на мобиле */
     }

     .quote-section {
         padding-top: 60px;
         padding-bottom: 60px;
     }
 }

 /* --- PARTICIPANTS SECTION --- */
 .participants-section {
     position: relative;
     background: url('template/img/mbg.png');
     background-size: cover;
     overflow: hidden;
 }

 .category-badge {
     background-color: var(--accent-red);
     color: white;
     padding: 8px 25px;
     border-radius: 50px;
     font-weight: 700;
     text-transform: uppercase;
     font-size: 14px;
     display: inline-block;
     margin-bottom: 20px;
 }

 .team-card {
     cursor: pointer;
     background: white;
     border-radius: 10px;
     padding: 10px 15px;
     display: flex;
     align-items: center;
     gap: 15px;
     margin-bottom: 12px;
     transition: transform 0.2s;
     text-decoration: none;
 }

 .team-card:hover {
     transform: translateX(5px);
 }

 .team-logo {
     width: 50px;
     height: 50px;
     object-fit: contain;
 }

 .team-name {
     color: #000;
     font-weight: 700;
     text-transform: uppercase;
     line-height: 1.1;
     font-size: 15px;
 }

 .team-city {
     color: #666;
     font-size: 12px;
     font-weight: 500;
 }

 /* --- PARTNERS SECTION --- */
 .partners-section {
     background-color: #fff;
     padding-bottom: 80px;
 }

 .promo-banner-container {
     position: relative;

     overflow: hidden;
     margin-bottom: 60px;
 }

 .promo-overlay-btn {
     position: absolute;
     bottom: 20%;
     left: 50%;
     transform: translateX(-50%);
     background: var(--bg-dark);
     border: 1px solid var(--accent-red);
     padding: 10px 30px;
     border-radius: 50px;
     color: white;
     text-transform: uppercase;
     font-size: 12px;
     font-weight: 700;
     letter-spacing: 1px;
 }

 .partner-card {
     border: 1px solid var(--accent-red);
     border-radius: 20px;
     height: 100%;
     min-height: 160px;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     text-align: center;
     padding: 20px;
     transition: 0.3s;
     background: white;
     text-decoration: none;
 }

 .partner-card:hover {
     box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
 }

 .partner-logo {
     max-width: 120px;
     max-height: 60px;
     margin-bottom: 15px;
 }

 .partner-desc {
     font-size: 11px;
     color: #555;
     line-height: 1.3;
 }

 .partner-card.become-partner {
     border: 1px solid #1a3a6e;
 }

 .plus-icon {
     font-size: 24px;
     background: #1a3a6e;
     color: white;
     width: 40px;
     height: 40px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     margin-bottom: 10px;
 }

 /* --- STATISTICS SECTION --- */
 .stats-section {
     background-color: #fff;
 }

 /* Обертка для таблицы */
 .stats-container {
     border: 1px solid rgba(0, 0, 0, 0.1);
     border-radius: 10px;
     overflow: hidden;
     /* Обрезает углы таблицы */
 }

 /* Кнопки фильтров */
 .btn-filter-red {
     border: 2px solid var(--accent-red);
     color: var(--bg-dark);
     background: white;
     padding: 8px 25px;
     border-radius: 50px;
     font-weight: 700;
     text-transform: uppercase;
     font-size: 14px;
     transition: all 0.3s;
     display: inline-block;
     text-decoration: none;
 }

 .btn-filter-red:hover,
 .btn-filter-red.active {
     background: var(--accent-red);
     color: white;
 }

 .btn-filter-dark {
     border: 2px solid var(--bg-dark);
     color: var(--bg-dark);
     background: white;
     padding: 8px 25px;
     border-radius: 50px;
     font-weight: 700;
     text-transform: uppercase;
     font-size: 14px;
     transition: all 0.3s;
     display: inline-block;
     text-decoration: none;
 }

 .btn-filter-dark:hover,
 .btn-filter-dark.active {
     background: var(--bg-dark);
     color: white;
 }

 /* Навигация таблицы */
 .stats-table-nav {
     background-color: var(--bg-dark);
     padding: 15px 20px;
     display: flex;
     align-items: center;
     gap: 20px;
 }

 .stats-nav-link {
     color: white;
     text-transform: uppercase;
     font-weight: 700;
     font-size: 14px;
     text-decoration: none;
     position: relative;
     padding-right: 20px;
 }

 .stats-nav-link:not(:last-child)::after {
     content: '|';
     position: absolute;
     right: 0;
     color: rgba(255, 255, 255, 0.3);
 }

 .stats-nav-link.active,
 .stats-nav-link:hover {
     color: var(--accent-red);
 }

 /* Таблица */
 .custom-table {
     width: 100%;
     border-collapse: separate;
     border-spacing: 0;
     min-width: 1000px;
 }

 .custom-table thead th {
     background-color: var(--bg-dark);
     color: white;
     padding: 15px 10px;
     font-size: 14px;
     font-weight: 700;
     text-align: center;
     border: none;
 }

 .custom-table thead th:nth-child(2),
 .custom-table tbody td:nth-child(2) {
     text-align: left;
 }

 .custom-table tbody td {
     padding: 15px 10px;
     border-bottom: 1px solid #dee2e6;
     vertical-align: middle;
     text-align: center;
     font-weight: 500;
     color: var(--bg-dark);
 }

 .custom-table tbody tr:last-child td {
     border-bottom: none;
 }

 .team-cell-content {
     display: flex;
     align-items: center;
     gap: 15px;
     font-weight: 700;
 }

 .table-logo {
     width: 40px;
     height: auto;
 }

 .stat-highlight {
     color: #000;
     font-weight: 800;
 }

 .btn-players-stats {
     background-color: var(--accent-red);
     color: white;
     border: none;
     border-radius: 50px;
     padding: 10px 30px;
     font-weight: 700;
     text-transform: uppercase;
     font-size: 14px;
     text-decoration: none;
     display: inline-block;
 }

 .btn-players-stats:hover {
     background-color: #a00c24;
     color: white;
 }

 @media (max-width: 991px) {
     .stats-controls-row {
         flex-direction: column;
         align-items: flex-start;
         gap: 15px;
     }

     .btn-players-stats {
         width: 100%;
         text-align: center;
     }
 }

 /* --- FOOTER SECTION --- */
 /* --- FOOTER SECTION FIXED --- */
 /* --- FOOTER SECTION (Итоговый вариант по макету) --- */
 .site-footer {
     background-color: var(--bg-dark);
     border-top: 1px solid rgba(255, 255, 255, 0.1);
     color: #ffffff;
 }

 /* Картинка кубка в футере */
 .footer-cup-img {
     max-width: 320px;
     /* Размер как на макете */
     width: 100%;
     height: auto;
     filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.1));
 }

 /* Навигация */
 .footer-nav-list {
     margin: 0;
     padding: 0;
 }

 .footer-nav-link {
     display: block;
     color: #ffffff;
     text-decoration: none;
     text-transform: uppercase;
     font-weight: 700;
     font-size: 14px;
     padding: 8px 0;
     letter-spacing: 0.5px;
     transition: color 0.3s ease;
 }

 .footer-nav-link:hover {
     color: var(--accent-red);
 }

 /* Иконка VK */
 .footer-social-vk img {
     width: 44px;
     height: auto;
     transition: opacity 0.3s;
 }

 .footer-social-vk:hover img {
     opacity: 0.8;
 }

 /* Разделитель */
 .footer-divider {
     border-color: rgba(255, 255, 255, 0.1);
     opacity: 1;
     margin: 30px 0;
 }

 /* Нижняя часть (Credits) */
 .credits-row {
     font-size: 13px;
     color: #ffffff;
 }

 .credits-title {
     font-size: 12px;
 }

 .developer-item {
     display: flex;
     align-items: center;
     gap: 10px;
     text-decoration: none;
     color: inherit;
 }

 .developer-item:hover {
     color: inherit;
 }

 .developer-item i {
     font-size: 16px;
 }

 .policy-link {
     color: #ffffff;
     text-decoration: none;
     opacity: 0.7;
     font-size: 13px;
     transition: opacity 0.3s;
 }

 .policy-link:hover {
     opacity: 1;
     text-decoration: underline;
 }

 /* Адаптивность под мобильный макет (Изображение 3) */
 @media (max-width: 991px) {
     .footer-cup-img {
         max-width: 100%;
         margin-bottom: 20px;
     }

     .footer-nav-link {
         font-size: 16px;
         /* На мобилке чуть крупнее для удобства */
         padding: 12px 0;
     }

     .credits-row {
         gap: 20px;
     }

     .developer-item {
         justify-content: center;
         text-align: left;
     }
 }





 /* Увеличенный отступ (в 2 раза больше, чем py-5) */
 .py-10 {
     padding-top: 6rem !important;
     /* ~96px */
     padding-bottom: 6rem !important;
     /* ~96px */
 }

 /* Адаптив: на мобильных можно оставлять обычный py-5, 
   а большой отступ включать только на компьютерах */
 @media (max-width: 991px) {
     .py-10 {
         padding-top: 3rem !important;
         padding-bottom: 3rem !important;
     }
 }




 .align-items-startc {
     align-items: flex-start !important;
 }

 @media (max-width: 991px) {
     .align-items-startc {
         align-items: center !important;
     }
 }


 /* Заголовок стандартных страниц (контакты итп ) */

 .page_title {
     color: #0A1532;
     font-family: 'Montserrat';
     font-size: 40px;
     font-weight: 700;
     text-transform: uppercase;
     margin-bottom: 40px;
 }

 @media (max-width: 991px) {
     .page_title {
         font-size: 26px;
         margin-bottom: 10px;
     }
 }

 /* Секция контента стандартных страниц (контакты итп ) */
 .contents {
     padding-top: 60px;
     padding-bottom: 60px;
 }

 @media (max-width: 991px) {
     .contents {
         padding-top: 20px;
         padding-bottom: 20px;
     }
 }
 
 
 
 
 
 
 
 
 
 
    /*РАСПИСАНИЕ  */
       
        .aurora-wrapper {
            max-width: 900px;
            margin: 0 auto;
        }

        /* Стиль заголовка аккордеона */
        .aurora-acc-header {
            border: 1px solid #c8102e; /* Красный бордер 1пкс */
            border-radius: 20px;       /* Скругление 20пкс */
            padding: 20px;
            margin-bottom: 15px;
            cursor: pointer;
            text-align: center;        /* Заголовок по центру */
            text-transform: uppercase;
            font-weight: bold;
            letter-spacing: 1px;
            background: rgba(200, 16, 46, 0.03); /* Почти прозрачный фон */
            transition: all 0.3s ease;
            user-select: none;
        }

        .aurora-acc-header:hover {
            background: rgba(200, 16, 46, 0.1);
        }

        /* Стиль активного (открытого) заголовка */
        .aurora-acc-header.active {
            background-color: #c8102e; /* Заливка красным */
            color: #ffffff;
        }

        /* Контентная часть */
        .aurora-acc-body {
            display: none; /* Скрыто по умолчанию */
            padding: 5px 0 25px 0;
        }

        /* Таблица */
        .aurora-table-container {
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 20px;
            overflow: hidden;
            background: transparent; /* ФОН ПРОЗРАЧНЫЙ */
        }

        .aurora-table {
            width: 100%;
            border-collapse: collapse;
            background: transparent;
        }

        /* Шапка таблицы по центру */
        .aurora-table th {
            background: rgba(200, 16, 46, 0.15);
            padding: 15px;
            text-align: center; /* ЦЕНТРИРОВАНИЕ */
            text-transform: uppercase;
            font-size: 13px;
            border-bottom: 1px solid #c8102e;
            color: #ffffff;
        }

        /* Ячейки таблицы по центру */
        .aurora-table td {
            padding: 12px 10px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            text-align: center; /* ЦЕНТРИРОВАНИЕ */
            font-size: 14px;
            color: #ffffff;
            vertical-align: middle;
        }

        .aurora-table tr:last-child td {
            border-bottom: none;
        }

        /* Выделение времени */
        .aurora-time-cell {
            color: #c8102e;
            font-weight: bold;
        }
        .active-row .aurora-time-cell {
            color: #fff;
        }

        /* Специальные строки для финала и наград */
        .row-final { background: rgba(200, 16, 46, 0.1); font-weight: bold; }
        .row-awards { background: #c8102e; font-weight: bold; }

        /* Адаптив для мобильных */
        @media (max-width: 600px) {
            .aurora-acc-header { padding: 15px; font-size: 13px; }
            .aurora-table td, .aurora-table th { padding: 8px 5px; font-size: 11px; }
        }