/* Только экраны ≤767px — десктоп не затрагивается */

@media (max-width: 767px) {
    /* 1. Партии мастеров: доска сверху, список снизу */
    .master-games-page {
        display: flex;
        flex-direction: column;
    }
    .master-games-page .master-games-board {
        order: 1;
    }
    .master-games-page .master-games-list {
        order: 2;
    }
    .master-games-page .master-games-side {
        order: 3;
        max-height: none;
    }
    .master-games-page #gamesContainer {
        height: min(48vh, 380px);
        max-height: min(48vh, 380px);
    }

    /* 2. Панель под доской: стрелки / линии / движок — в несколько рядов */
    .board-engine-toolbar {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.5rem !important;
        padding: 0.65rem !important;
    }
    .board-engine-toolbar__nav,
    .board-engine-toolbar__tools {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 0.35rem;
        width: 100%;
    }
    .board-engine-toolbar .btn-nav {
        width: 2.5rem;
        height: 2.5rem;
        min-width: 2.5rem;
        min-height: 2.5rem;
    }
    .board-engine-toolbar select {
        flex: 1 1 auto;
        min-width: 5.5rem;
        max-width: 100%;
        font-size: 11px;
        padding: 0.4rem 0.5rem;
    }
    .board-engine-toolbar .board-engine-toolbar__flip,
    .board-engine-toolbar .board-engine-toolbar__engine {
        flex: 1 1 calc(50% - 0.25rem);
        min-width: 0;
        text-align: center;
        padding: 0.45rem 0.35rem;
        font-size: 10px;
        line-height: 1.2;
    }

    #theory-board-nav {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }
    #theory-board-nav > div:first-child {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.35rem;
    }
    #theory-board-nav button {
        min-width: 2.5rem;
        min-height: 2.5rem;
    }
    #theory-exit-variation {
        width: 100%;
        text-align: center;
    }

    /* 3. Кабинет / тренировка: карточки и пункты меню */
    .trainer-page .trainer-section-cards {
        grid-template-columns: 1fr !important;
    }
    .trainer-page .trainer-setup-type label {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.35rem;
    }
    .trainer-page .trainer-setup-type label input[type="radio"] {
        margin-right: 0 !important;
        margin-bottom: 0.15rem;
    }
    .trainer-page #setup-menu .grid {
        gap: 1.25rem !important;
    }
    .coach-panel-page section,
    .coach-panel-page .coach-panel-details > summary {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .coach-panel-page .coach-group-details summary {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    /* 4. Упражнения: задание над доской; убрать сводку Lichess */
    #training-session-root.training-mobile-layout {
        display: flex;
        flex-direction: column;
    }
    #training-session-root.training-mobile-layout > .mb-6:first-of-type {
        order: 0;
    }
    #training-session-root.training-mobile-layout > #ai-plan-banner,
    #training-session-root.training-mobile-layout > #master-opening-tip {
        order: 1;
    }
    #training-session-root.training-mobile-layout > .grid {
        display: flex;
        flex-direction: column;
        order: 2;
    }
    #training-session-root .training-panel-col {
        order: 1;
        width: 100%;
        overflow-y: auto;
    }
    #training-session-root .training-board-col {
        order: 2;
        width: 100%;
    }
    #training-session-root .training-coach-card {
        min-height: 0 !important;
        max-height: none;
    }
    #training-session-root .training-panel-col {
        max-height: none;
        overflow: visible;
    }
    #training-session-root .training-coach-feedback {
        max-height: min(48vh, 420px);
        overflow-y: auto;
    }
    #training-session-root .training-task-banner {
        display: block;
    }
    #training-session-root.is-plan-mode #mode-desc {
        display: none !important;
    }
    #training-session-root .training-board-col > .w-full.max-w-\[590px\]:first-of-type {
        margin-top: 0;
    }
    .engine-thought-slot {
        width: 100%;
    }

    /* Профиль → Подписка: промокод и «Применить» на двух строках */
    #subscription .profile-promo-row {
        flex-direction: column;
        align-items: stretch;
    }
    #subscription .profile-promo-row input#promoInput {
        flex: none;
        width: 100%;
    }
    #subscription .profile-promo-apply-btn {
        width: 100%;
    }

    /* 5. Статистика: таблицы топа — фиксированные колонки, без «плывущей» вёрстки */
    .stats-page {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    .stats-page .stats-lb-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
    }
    .stats-page .stats-lb-table {
        table-layout: fixed;
        width: 100%;
        min-width: 0;
    }
    .stats-page .stats-lb-table th,
    .stats-page .stats-lb-table td {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        vertical-align: middle;
    }
    .stats-page .stats-lb-table .col-rank {
        width: 2.5rem;
        padding-left: 0.5rem;
        padding-right: 0.25rem;
    }
    .stats-page .stats-lb-table .col-player {
        width: auto;
        min-width: 0;
        max-width: 0;
    }
    .stats-page .stats-lb-table .col-rating {
        width: 3.5rem;
        padding-left: 0.25rem;
        padding-right: 0.35rem;
    }
    .stats-page .stats-lb-table .col-delta {
        width: 4.25rem;
        padding-left: 0.25rem;
        padding-right: 0.5rem;
        font-size: 0.65rem;
    }
    .stats-page .stats-lb-table--compact .col-rank {
        width: 2.25rem;
    }
    .stats-page .stats-lb-table--compact .col-rating {
        width: 3.25rem;
    }
    .stats-page .stats-lb-table--compact .col-delta {
        width: 3.75rem;
    }
    .stats-page .stats-lb-tabs {
        flex-wrap: wrap;
        width: 100%;
        max-width: 100%;
    }
    .stats-page .stats-lb-tabs .lb-tab {
        flex: 1 1 auto;
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        padding-left: 0.65rem;
        padding-right: 0.65rem;
    }
}
