/* =============================================
   AlaMine Responsive CSS
   Подключается ПОСЛЕ всех стилей.
   НЕ трогает desktop (xl: 1200px+).
   ============================================= */

/* --- Базовые правила --- */
html, body {
    overflow-x: hidden;
}

/* Контентные изображения — ограничить шириной контейнера */
.wrapper img,
.wrapper_donat img {
    max-width: 100%;
    height: auto;
}

/* Десктопный стиль для .news-poster-col (перенос из inline) */
.news-poster-col {
    max-width: 300px;
    z-index: -1;
    display: flex;
    flex-direction: column;
}

/* Десктопные стили для доната dropdown (перенос из inline) */
.dropdown-donate {
    display: inline-flex;
    margin-right: -10px !important;
    height: 70px;
}
.dropdown-content-donate {
    transition: 0.5s;
    margin: 70px -3rem;
    background-size: 100% 100% !important;
    background: url(https://i.ibb.co/BBvmT5D/Group-248.png) no-repeat;
    border-radius: 10px;
}

/* Десктопный стиль для .nav-menu */
.nav-menu {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    position: relative;
    z-index: 4;
}

/* z-index: НЕ ставим z-index на .topnav, чтобы он не создавал stacking context.
   Тогда волны (:before/:after, z-index:1 в style.css) остаются на уровне 1,
   dropdown-content (z-index:100) — поверх всего,
   а .padding-navbar (z-index:10) — выше волн, но ниже dropdown. */
.topnav {
    position: relative;
}
/* Волны — декоративные, не должны ловить клики */
.topnav:before,
.topnav:after {
    pointer-events: none;
}
.padding-navbar {
    position: relative;
    z-index: 10;
}
/* Дочерние элементы инфо-панели — поверх волн */
.padding-navbar .block-nav-padding,
.padding-navbar .btn-download-launcher,
.padding-navbar > a,
.padding-navbar > div {
    position: relative;
    z-index: 11;
}
.topnav > a {
    z-index: 4;
    position: relative;
}
.topnav .dropdown-container {
    z-index: 10;
    position: relative;
}
.topnav .dropdown-content { z-index: 100; }

/* --- Burger (скрыт по умолчанию) --- */
.navbar-burger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    z-index: 100;
    position: absolute;
    right: 15px;
    top: 40px;
}
.navbar-burger span {
    display: block;
    width: 28px;
    height: 3px;
    background: #2D2D2D;
    border-radius: 2px;
    transition: 0.3s;
}
/* Анимация крестика */
.navbar-burger.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 6px); }
.navbar-burger.active span:nth-child(2) { opacity: 0; }
.navbar-burger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -6px); }

/* =========================================================
   BREAKPOINT: < 1200px — BURGER АКТИВЕН
   Пунктов навбара слишком много для одной строки < 1200px
   ========================================================= */
@media (max-width: 1199px) {
    .navbar-burger { display: flex; }

    .topnav {
        height: auto;
        flex-wrap: wrap;
        position: relative;
        padding: 10px 15px;
    }
    /* Скрыть волны полностью */
    .topnav:before, .topnav:after { display: none; }

    .topnav .logo { max-width: 160px; }

    .nav-menu {
        display: none;
        width: 100%;
        flex-direction: column;
        order: 3;
        background: white;
        padding: 10px 0;
        border-top: 1px solid #eee;
        z-index: 200;
        position: relative;
    }
    .nav-menu.active { display: flex; }

    .nav-menu > a,
    .nav-menu > .dropdown-container,
    .nav-menu > span,
    .nav-menu > form {
        width: 100%;
        margin: 0 !important;
        padding: 12px 20px;
        text-align: left;
        font-size: 16px;
        border-bottom: 1px solid #f0f0f0;
    }

    /* Dropdown кнопки — полная ширина, текст слева */
    .nav-menu .dropbtn,
    .nav-menu .dropbtn-serv,
    .nav-menu .btn-donate-nav {
        width: 100%;
        text-align: left;
        padding: 0;
        font-size: 16px;
    }

    /* Убрать десктопные стили доната */
    .dropdown-donate {
        display: block;
        height: auto;
        margin-right: 0 !important;
    }
    .dropdown-content-donate {
        margin: 0;
        background: #f8f8f8;
        background-image: none;
        border-radius: 0;
    }

    /* Dropdowns — по клику, не по hover */
    .nav-menu .dropdown-content {
        position: static;
        width: 100%;
        display: none;
        margin: 0;
        box-shadow: none;
        background: #f8f8f8;
        border-radius: 0;
        z-index: 200;
    }
    .nav-menu .dropdown-container.active .dropdown-content {
        display: block;
    }
    /* Отменить hover для touch */
    .nav-menu .dropdown-container:hover .dropdown-content {
        display: none;
    }
    .nav-menu .dropdown-container.active:hover .dropdown-content {
        display: block;
    }

    /* Языки — по центру */
    .nav-menu .language {
        float: none;
        display: flex;
        justify-content: center;
        gap: 15px;
        margin: 10px 0;
        width: 100%;
        border-bottom: none;
    }

    /* === Инфо-панель под навбаром === */
    .padding-navbar {
        height: auto;
        flex-wrap: wrap;
        padding: 15px 10px !important;
        gap: 10px;
        justify-content: center;
        background-size: cover;
        background-position: center;
    }
    .block-nav-padding {
        margin-right: 10px !important;
        margin-top: 8px !important;
    }
    .btn-download-launcher {
        width: 260px;
        height: 65px;
        font-size: 15px;
        line-height: 3.2rem;
        background-size: 100% 100%;
    }

    /* === Основной layout === */
    .wrapper, .wrapper_donat {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* === BREAKPOINT: < 992px === */
@media (max-width: 991px) {
    /* Контент + сайдбар — сужаем пропорции */
    .wrapper > .pt-5.row > .col-lg-7 {
        flex: 0 0 60%;
        max-width: 60%;
    }
    .wrapper > .pt-5.row > .col-lg-4 {
        flex: 0 0 38%;
        max-width: 38%;
    }
}

/* === BREAKPOINT: < 768px === */
@media (max-width: 767px) {
    /* --- Контент + сайдбар в одну колонку --- */
    .wrapper > .pt-5.row > .col-lg-7,
    .wrapper > .pt-5.row > .col-lg-4,
    .wrapper > .pt-5.row > .col-md-8,
    .wrapper > .pt-5.row > .col-md-3 {
        flex: 0 0 100%;
        max-width: 100%;
        margin: 5px 0 !important;
    }

    /* Порядок: сайдбар (логин) сначала, потом контент */
    .wrapper > .pt-5.row {
        flex-direction: column;
    }
    .wrapper > .pt-5.row > .col-lg-4 {
        order: -1;
    }

    /* Блок логина/профиля */
    .block-login-size { margin-bottom: 20px; }
    .block-auth .row.container { flex-wrap: wrap; }
    .head-profile-newplayers { width: 70px; height: 70px; }
    .block-login-name { font-size: 1rem; }
    .btn-cabinet-login { font-size: 14px; padding: 10px 25px; }

    /* Форма авторизации */
    .btn-login-auth { width: 100%; max-width: 300px; }

    /* Кнопка "вверх" — фиксировать внизу справа */
    #btn-top {
        position: fixed;
        right: 15px;
        bottom: 15px;
        z-index: 999;
    }

    /* --- Новости (shortstory) --- */
    .news-block .row { flex-direction: column; }
    .news-poster-col {
        max-width: 100%;
        width: 100%;
    }
    .news-poster {
        height: 200px;
        overflow: hidden;
    }
    .poster-img { object-fit: cover; width: 100%; height: 100%; }
    .news-block-text { padding: 15px 10px; }
    .news-title { font-size: 1.1rem; }
    .news-shortstory-description { height: auto; }
    .btn-shortstory-news { width: 100%; max-width: 200px; height: 45px; font-size: 14px; }

    /* --- Сайдбар --- */
    .page-content { max-width: 100%; }
    .block-moon-right { width: 100%; }
    .pie-wrapper { width: 100px; min-height: auto; }
    .vote-adv .position-absolute { display: none; }
    .vote-adv { padding: 20px 15px; }
    .btn-vote-adv { width: 100%; max-width: 200px; }

    /* --- Слайдер --- */
    .main-slider .slider__item .slider-block-text {
        top: 30px;
        padding: 20px 15px 30px;
    }
    .main-slider .slider-block-text p:nth-of-type(1) { font-size: 14px; }
    .main-slider .slider-block-text p:nth-of-type(2) {
        font-size: 18px;
        line-height: 22px;
        margin-bottom: 20px;
    }
    .main-slider .slider-block-text a {
        font-size: 14px;
        padding: 8px 12px;
    }
    .slider_animation { display: none; }

    /* --- Футер --- */
    footer .p-4 { padding: 15px !important; }
    footer .row { flex-direction: column; text-align: center; }
    footer .col-6, footer .col-md {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 15px;
    }
    .footer-mini-wave { display: none; }
    .btn-footer-download-launcher { width: 100%; max-width: 200px; }
    footer .d-flex { justify-content: center; }
    footer .gray { width: 80px; height: auto; }

    /* --- Страница регистрации --- */
    .page-register .row { flex-direction: column; }
    .page-register .col-lg-3,
    .page-register .col-lg-5,
    .page-register .col-lg-7,
    .page-register .col-lg-9 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .btn-register-continue, .btn-register-main { width: 100%; max-width: 300px; }
    .page-register-title { font-size: 1.5rem; }

    /* --- Восстановление пароля --- */
    .page-lostpassword .row { flex-direction: column; }
    .page-lostpassword .col-lg-6 { flex: 0 0 100%; max-width: 100%; height: auto; }
    .lost-enchant-img img { max-height: 300px; }
    .title-lostpassword { font-size: 1.3rem; }

    /* --- Полная статья --- */
    .fullstory-page, .full-story-page, .full-story { max-width: 100%; }
    .full-story-title { font-size: 1.2rem; }

    /* --- Страница доната --- */
    .wrapper_donat { padding: 0 10px; }
    .wrapper_donat .col-lg-12 { padding: 0; }
    .command-block-privilege .col-lg-4,
    .command-block-privilege .col-md-4 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .btn-privilege-vip, .btn-privilege-premium, .btn-privilege-deluxe {
        width: 100%;
        max-width: 280px;
        height: auto;
        min-height: 80px;
        background-size: contain;
    }
    .hide-block-privilege-name { font-size: 32px; }
    .cabinet-set-text { font-size: 14px; }
    .privilege-block-kits { max-width: 100%; }
    .privilege-block-kits img { max-width: 100%; height: auto; }

    /* --- Таблицы --- */
    .banlist-table, .table-responsive,
    table.table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* === BREAKPOINT: < 576px === */
@media (max-width: 575px) {
    /* Инфо-панель — вертикальная колонка */
    .padding-navbar {
        flex-direction: column;
        align-items: center;
        gap: 5px;
        padding: 10px 5px !important;
    }
    .block-nav-padding {
        margin: 3px 0 !important;
        font-size: 14px;
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .btn-download-launcher {
        width: 220px;
        height: 50px;
        font-size: 13px;
        line-height: 2.5rem;
    }
    .block-nav-text p { font-size: 13px; }

    /* Модальные окна */
    .modal-dialog {
        margin: 10px;
        max-width: calc(100vw - 20px) !important;
    }
    .modal-feedback {
        padding: 30px 20px 40px;
        min-height: auto;
        gap: 30px;
    }
    .feedback__title, .modal-feedback h1 { font-size: 28px; }
    .modal-content button[style*="width"] { width: 100% !important; max-width: 260px; }
}
