/* ===================================================================
   МОБИЛЬНАЯ АДАПТАЦИЯ — применяется только на маленьких экранах.
   Ничего из десктопного вида не трогает напрямую (только через @media).
   =================================================================== */

@media (max-width: 768px) {

    /* ===== ШАПКА (2 строки: контролы сверху, инфо снизу) ===== */
    .top-nav-line {
        flex-wrap: wrap !important;
        height: auto !important;
        min-height: unset !important;
        padding: 7px 10px 8px !important;
        row-gap: 4px !important;
    }

    #map {
        height: calc(100vh - 94px) !important;
        margin-top: 94px !important;
    }

    .btn-group {
        gap: 6px !important;
        margin-right: 8px !important;
        order: 1;
    }

    .square-btn {
        width: 32px !important;
        height: 32px !important;
        border-radius: 8px !important;
        border-width: 1.5px !important;
    }

    .square-btn svg {
        width: 16px !important;
        height: 16px !important;
    }

    a.clickable-logo {
        order: 2;
    }

    .app-icon {
        width: 32px !important;
        height: 32px !important;
        margin-right: 8px !important;
        border-width: 1.5px !important;
    }

    .brand-name {
        order: 3;
        font-size: 13.5px !important;
        gap: 5px !important;
        letter-spacing: 0 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 38vw;
        flex: 0 1 auto;
    }

    .server-label {
        display: none !important;
    }

    .status-dot {
        width: 7px !important;
        height: 7px !important;
        margin-left: 2px !important;
        flex: 0 0 auto;
    }

    .actions-right {
        order: 4;
        gap: 6px !important;
        margin-left: auto !important;
    }

    /* Вторая строка: онлайн / время / дата — по центру, компактно */
    .info-right {
        order: 10;
        flex: 0 0 100% !important;
        margin: 0 !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px !important;
        font-size: 11px !important;
    }

    .info-right .divider {
        height: 12px !important;
    }

    .country-absolute {
        order: 11;
        position: static !important;
        transform: none !important;
        left: auto !important;
        top: auto !important;
        flex: 0 0 100% !important;
        text-align: center !important;
        margin-top: 2px !important;
        font-size: 12px !important;
        letter-spacing: 0.8px !important;
    }

    .dropdown-menu {
        top: 94px !important;
        left: 8px !important;
        width: 180px !important;
    }

    /* ===== ЛИФЛЕТ: ЗУМ-КОНТРОЛЫ ===== */
    .leaflet-control-zoom a {
        width: 34px !important;
        height: 34px !important;
        line-height: 34px !important;
        font-size: 18px !important;
    }

    .leaflet-control-zoom {
        margin: 0 0 0 8px !important;
    }

    .leaflet-top.leaflet-left {
        bottom: 12px !important;
    }

    /* ===== ВИДЖЕТЫ (плеер / диспетчер) ===== */
    .train-widget,
    .dispatcher-widget {
        width: 200px !important;
        padding: 13px !important;
        top: 100px !important;
        right: -260px !important;
        max-height: calc(100vh - 124px) !important;
        overflow-y: auto !important;
    }

    .train-widget.player-active,
    .dispatcher-widget.dispatcher-active {
        right: 6px !important;
    }

    .train-widget::after,
    .dispatcher-widget::after {
        left: -26px !important;
        width: 26px !important;
        height: 64px !important;
        font-size: 9px !important;
        letter-spacing: 1px !important;
    }

    .train-widget::before,
    .dispatcher-widget::before {
        font-size: 44px !important;
    }

    .dp-gerb {
        width: 38px !important;
        height: 38px !important;
        top: 10px !important;
        right: 10px !important;
    }

    .dispatcher-widget #dp-name {
        padding-right: 46px !important;
    }

    #wp-loco {
        font-size: 12px !important;
    }
}

/* Совсем маленькие телефоны */
@media (max-width: 360px) {
    .brand-name {
        font-size: 12.5px !important;
        max-width: 130px;
    }

    .train-widget,
    .dispatcher-widget {
        width: 188px !important;
        padding: 12px !important;
    }

    .train-widget.player-active,
    .dispatcher-widget.dispatcher-active {
        right: 4px !important;
    }
}
