/* ===== БАЗА ===== */

html, body {
    height: 100%;
}

body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Контейнер делаем чуть шире, но не на весь экран */
main.container {
    max-width: 95%;
}

/* ===== НАВБАР / ЛОГОТИП ===== */

.school-logo {
    height: 40px;
    width: auto;
}

@media (max-width: 576px) {
    .school-logo {
        height: 28px;
    }
}

/* ===== ТАБЫ (Школьные отделения) ===== */

/* Одинаковый отступ между кнопками вкладок и содержимым */
.tab-content {
    margin-top: 1.25rem;
}

/* Убираем лишние внутренние отступы у панелей вкладок,
   чтобы отступ задавался только через .tab-content */
.tab-pane {
    padding-top: 0 !important;
}

/* Убираем возможный верхний margin у карточки внутри вкладки,
   чтобы отступ был строго один и тот же */
.tab-pane > .card {
    margin-top: 0 !important;
}

/* ===== ТАБЛИЦА РЕЙТИНГА ===== */

/* Липкая шапка таблицы */
.rating-table thead th {
    vertical-align: middle;
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: #f8f9fa;
}

/* Минимальная ширина колонок мероприятий на больших экранах */
.rating-table .event-col {
    min-width: 120px;
}

/* Обёртка таблицы — не выходим за пределы контейнера, есть отступы слева/справа */
.table-scroll-wrapper {
    width: 100%;
    padding: 0 1rem;          /* небольшие боковые отступы */
    box-sizing: border-box;
    margin: 0 auto;
}

/* Верхний горизонтальный скролл */
.table-scroll-top {
    overflow-x: auto;
    overflow-y: hidden;
    height: 16px;
    margin-bottom: 4px;
}

/* Основной скролл: и горизонтальный, и вертикальный.
   Таблица занимает ~90% высоты экрана. */
.table-scroll-main {
    overflow-x: auto;
    overflow-y: auto;
    max-height: 90vh;
}

/* Фантомный элемент для синхронизации верхнего скролла */
.scroll-spacer {
    height: 1px;
}

/* ===== АДАПТИВНОСТЬ: ПЛАНШЕТЫ (≤ 1200px) ===== */

@media (max-width: 1200px) {
    .rating-table .event-col {
        min-width: 90px;
        font-size: 0.8rem;
    }

    .rating-table td,
    .rating-table th {
        padding: 0.35rem 0.4rem;
        font-size: 0.85rem;
    }
}

/* ===== АДАПТИВНОСТЬ: ТЕЛЕФОНЫ (≤ 768px) ===== */

@media (max-width: 768px) {
    body {
        font-size: 0.9rem;
    }

    h1.h3,
    h2.h5 {
        font-size: 1rem;
    }

    .rating-table td,
    .rating-table th {
        padding: 0.25rem 0.3rem;
        font-size: 0.75rem;
        white-space: nowrap;   /* не ломаем текст на две строки */
    }

    .rating-table .event-col {
        min-width: 70px;
        font-size: 0.7rem;
    }

    /* Чуть уменьшаем вертикальную высоту таблицы,
       чтобы влезали навбар и вкладки */
    .table-scroll-main {
        max-height: 80vh;
    }
}

/* ===== АДАПТИВНОСТЬ: ОЧЕНЬ МАЛЕНЬКИЕ ЭКРАНЫ (≤ 480px) ===== */

@media (max-width: 480px) {
    .rating-table td,
    .rating-table th {
        padding: 0.2rem 0.25rem;
        font-size: 0.7rem;
    }

    .rating-table .event-col {
        min-width: 60px;
        font-size: 0.65rem;
    }
}

/* Информационный баннер по центру страницы */
.info-banner {
    background: #f5f9ff;               /* нежный голубоватый фон */
    border: 1px solid #d5e3ff;         /* мягкая синяя рамка */
    color: #3b5998;                    /* приятный синий текст */
    border-radius: 12px;
    padding: 12px 20px;
    font-size: 0.95rem;

    display: flex;
    justify-content: center;           /* центрируем контент внутри баннера */
    align-items: center;
    gap: 8px;

    max-width: 900px;                  /* фиксированная максимальная ширина */
    width: 100%;
    margin-left: auto;                 /* вот эти две строки */
    margin-right: auto;                /* центрируют сам баннер */
}


.info-icon {
    font-size: 1.1rem;
    opacity: 0.8;
}

