/* =====================================================================
   Шапка сайта в стиле black-squad.net
   Разметка: tpl/home/top.tpl (логотип, "Поддержка", "Меню сайта", кнопки справа)
   Настройки: config.tpl -> logo_name, header_logo_img, support_hours
   ===================================================================== */

:root {
    --hb-bg: #180d1e;
    --hb-btn: #1e1226;
    --hb-btn-2: #211728;
    --hb-line: rgba(156, 39, 176, 0.38);
    --hb-accent: #c13ef0;
    --hb-purple: #9c27b0;
    --hb-muted: #9d8fa8;
}

/* ---------- Полоса шапки ---------- */
.navbar {
    height: 70px !important;
    padding: 0 22px !important;
    background: var(--hb-bg) !important;
    border-bottom: 1px solid var(--hb-line) !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.45), 0 1px 14px rgba(193, 62, 240, 0.12) !important;
}

.navbar_menu_left {
    gap: 18px;
    min-width: 0;
}

/* старый SVG-логотип больше не используется */
.navbar .header-logo {
    display: none !important;
}

/* ---------- Логотип: картинка + название ---------- */
.bsq-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    text-decoration: none !important;
}

.bsq-brand__img {
    width: 50px;
    height: 50px;
    border-radius: 13px;
    object-fit: cover;
    border: 1px solid rgba(193, 62, 240, 0.55);
    box-shadow: 0 0 14px rgba(156, 39, 176, 0.5);
}

/* ---------- Название с переливанием ---------- */
.bsq-brand__logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

/* шрифт задаём на самом svg: текст внутри <use> наследует его (селекторы туда не проникают) */
.bsq-logo {
    display: block;
    overflow: visible;
    font-family: "Montserrat", "Roboto", Arial, sans-serif;
    font-size: 21px;
    font-weight: 800;
    letter-spacing: .3px;
    filter: drop-shadow(0 0 5px rgba(193, 62, 240, 0.75)) drop-shadow(0 0 14px rgba(156, 39, 176, 0.5));
}

.bsq-logo symbol {
    overflow: visible;
}

/* буквы: фиолетовый с бегущим белым бликом (градиент двигается в самом SVG) */
.bsq-logo__fill {
    fill: url(#bsqLogoShine);
    stroke: rgba(236, 41, 223, 0.35);
    stroke-width: .6;
}

/* бегущая неоновая обводка по контуру букв */
.bsq-logo__run {
    fill: none;
    stroke-width: 1.3;
    stroke-linejoin: round;
    stroke-dasharray: 60 240;
    animation: bsqLogoRun 6s linear infinite;
}

.bsq-logo__run--1 {
    stroke: #ec29df;
}

.bsq-logo__run--2 {
    stroke: #ffffff;
    stroke-width: 1;
    animation-delay: -3s;
}

@keyframes bsqLogoRun {
    to { stroke-dashoffset: -300; }
}

.bsq-brand:hover .bsq-logo {
    filter: drop-shadow(0 0 7px rgba(214, 120, 255, 0.95)) drop-shadow(0 0 18px rgba(156, 39, 176, 0.7));
}

/* ---------- Сердечко ---------- */
.bsq-heart {
    margin-left: -4px;
    font-size: 21px;
    line-height: 1;
    background: linear-gradient(135deg, #ff7ad9 0%, #c25ae6 55%, #8c5cff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 6px rgba(193, 62, 240, 0.85));
    animation: bsqHeartBeat 1.4s ease-in-out infinite;
    transform-origin: center;
}

@keyframes bsqHeartBeat {
    0%, 100% { transform: scale(1); }
    15%      { transform: scale(1.22); }
    30%      { transform: scale(1); }
    45%      { transform: scale(1.14); }
    60%      { transform: scale(1); }
}

/* кому мешает анимация (настройка системы) — без движения */
@media (prefers-reduced-motion: reduce) {
    .bsq-logo__run,
    .bsq-heart {
        animation: none;
    }
}

/* ---------- Поддержка ---------- */
.bsq-support {
    display: flex;
    align-items: center;
    gap: 11px;
    flex-shrink: 0;
    padding: 4px 12px 4px 4px;
    border-radius: 13px;
    color: #fff !important;
    text-decoration: none !important;
    transition: background .2s;
}

.bsq-support:hover {
    background: rgba(156, 39, 176, 0.12);
}

.bsq-support__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #281432;
    border: 1px solid rgba(61, 220, 151, 0.35);
    color: #3ddc97;
    font-size: 22px;
}

.bsq-support__text {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.bsq-support__text b {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
}

.bsq-support__text small {
    font-size: 11.5px;
    color: var(--hb-muted);
}

/* ---------- "Меню сайта" по центру ---------- */
.desktop_menu_button {
    gap: 10px !important;
    padding: 10px 18px !important;
    border-radius: 12px !important;
    background: var(--hb-btn) !important;
    border: 1.5px solid var(--hb-accent) !important;
    box-shadow: 0 0 14px rgba(193, 62, 240, 0.35), inset 0 0 10px rgba(193, 62, 240, 0.12) !important;
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
}

.desktop_menu_button:hover,
.desktop_menu_button[aria-expanded="true"] {
    background: #2a1433 !important;
    box-shadow: 0 0 22px rgba(193, 62, 240, 0.55), inset 0 0 12px rgba(193, 62, 240, 0.18) !important;
}

.desktop_menu_button i {
    font-size: 20px;
    color: #fff !important;
}

.desktop_menu_button .bsq-chev {
    font-size: 18px;
    transition: transform .2s;
}

.desktop_menu_button[aria-expanded="true"] .bsq-chev {
    transform: rotate(180deg);
}

/* ---------- Кнопки справа ---------- */
.navbar_usermenu {
    gap: 10px;
}

.navbar_usermenu > .vaucher-icon,
.navbar_usermenu > .bsq-wallet,
.navbar_usermenu > .bsq-icon-btn,
.navbar_usermenu > .user__avatar {
    margin-left: 0 !important;
}

.bsq-icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border-radius: 13px;
    background: var(--hb-btn-2);
    border: 1px solid var(--hb-line);
    color: var(--hb-accent) !important;
    font-size: 22px;
    cursor: pointer;
    transition: border-color .2s, box-shadow .2s, background .2s;
}

.bsq-icon-btn:hover {
    transform: none !important;
    background: #2a1433;
    border-color: var(--hb-accent);
    box-shadow: 0 0 14px rgba(193, 62, 240, 0.4);
}

.bsq-wallet {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    height: 46px;
    padding: 0 18px 0 14px;
    border-radius: 13px;
    background: var(--hb-btn);
    border: 1px solid var(--hb-line);
    color: #fff !important;
    font-size: 16px;
    font-weight: 800;
    white-space: nowrap;
    text-decoration: none !important;
    transition: border-color .2s, box-shadow .2s, background .2s;
}

.bsq-wallet:hover {
    background: #2a1433;
    border-color: var(--hb-accent);
    box-shadow: 0 0 14px rgba(193, 62, 240, 0.4);
}

.bsq-wallet i {
    font-size: 22px;
    color: #ead6f7;
}

.bsq-wallet #balance {
    color: #fff;
}

/* аватар со стрелкой */
.user__avatar {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 3px 4px 3px 3px;
    border-radius: 14px;
    transition: background .2s;
}

.user__avatar:hover {
    background: rgba(156, 39, 176, 0.12);
}

.user__avatar img {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    object-fit: cover;
    border: 1px solid rgba(193, 62, 240, 0.55) !important;
    box-shadow: 0 0 10px rgba(156, 39, 176, 0.35) !important;
}

.user__avatar:hover img {
    transform: none !important;
}

.user__avatar > i {
    font-size: 20px;
    color: #7f8cff;
    transition: transform .2s;
}

.navbar_usermenu:has(.user__menu.active) .user__avatar > i {
    transform: rotate(180deg);
}

/* выпадающее меню профиля — в тон */
.user__menu {
    margin-top: 6px;
    background: var(--hb-bg) !important;
    border: 1px solid var(--hb-line) !important;
    border-radius: 14px !important;
}

/* ---------- Выбор языка ---------- */
.bsq-lang {
    position: relative;
    flex-shrink: 0;
}

.bsq-lang__btn {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 46px;
    padding: 0 12px;
    border-radius: 13px;
    background: var(--hb-btn);
    border: 1px solid var(--hb-line);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    transition: border-color .2s, box-shadow .2s, background .2s;
}

.bsq-lang__btn:focus {
    outline: none;
}

.bsq-lang__btn:hover,
.bsq-lang.is-open .bsq-lang__btn {
    background: #2a1433;
    border-color: var(--hb-accent);
    box-shadow: 0 0 14px rgba(193, 62, 240, 0.4);
}

.bsq-lang__globe {
    font-size: 18px;
    color: #8fb6ff;
}

.bsq-lang__flag {
    width: 26px;
    height: 18px;
    border-radius: 3px;
    object-fit: cover;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15);
}

.bsq-lang__chev {
    font-size: 18px;
    transition: transform .2s;
}

.bsq-lang.is-open .bsq-lang__chev {
    transform: rotate(180deg);
}

.bsq-lang__menu {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 10600;
    width: 262px;
    max-height: 360px;
    overflow-y: auto;
    padding: 6px;
    border-radius: 14px;
    background: #1a0f20;
    border: 1px solid var(--hb-line);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.6), 0 0 18px rgba(193, 62, 240, 0.18);
    scrollbar-width: thin;
    scrollbar-color: var(--hb-accent) transparent;
}

.bsq-lang__menu::-webkit-scrollbar { width: 5px; }
.bsq-lang__menu::-webkit-scrollbar-thumb { background: var(--hb-accent); border-radius: 4px; }

.bsq-lang.is-open .bsq-lang__menu {
    display: block;
}

.bsq-lang__item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 9px 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #e9e2ee;
    font-size: 14px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: background .15s;
}

.bsq-lang__item:focus {
    outline: none;
}

.bsq-lang__item img {
    flex-shrink: 0;
    width: 28px;
    height: 19px;
    border-radius: 3px;
    object-fit: cover;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.bsq-lang__item:hover {
    background: rgba(156, 39, 176, 0.18);
}

.bsq-lang__item.is-active {
    background: linear-gradient(90deg, rgba(156, 39, 176, 0.55), rgba(97, 33, 89, 0.55));
    color: #fff;
}

/* Служебные элементы Google Переводчика — скрываем (полоса сверху, всплывающие подсказки) */
#google_translate_element,
.skiptranslate iframe,
iframe.goog-te-banner-frame,
.goog-te-banner-frame,
#goog-gt-tt,
.goog-te-balloon-frame,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,
.VIpgJd-ZVi9od-aZ2wEe-OiiCO {
    display: none !important;
}

html[data-site-lang] body {
    top: 0 !important;
}

.goog-text-highlight {
    background: none !important;
    box-shadow: none !important;
}

/* ---------- Ширины экрана ---------- */

/* шапка становится теснее: сначала у языка остаётся только флаг, потом у меню только иконка,
   потом прячется ваучер. С пристыкованным чатом места меньше — те же шаги раньше. */
/* иконки boxicons (.bx) подключаются позже и ставят display:inline-block — поэтому селектор усилен */
@media (max-width: 1250px) {
    .bsq-lang__btn > .bsq-lang__globe,
    .bsq-lang__btn > .bsq-lang__code { display: none; }
}

@media (max-width: 1199.98px) {
    .desktop_menu_button > span { display: none; }
}

@media (min-width: 992px) and (max-width: 1100px) {
    .navbar_usermenu > .vaucher-icon { display: none; }
}

@media (max-width: 1550px) {
    html.chat-docked .bsq-lang__btn > .bsq-lang__globe,
    html.chat-docked .bsq-lang__btn > .bsq-lang__code { display: none; }
}

@media (max-width: 1450px) {
    html.chat-docked .desktop_menu_button > span { display: none; }
}

@media (max-width: 1350px) {
    html.chat-docked .navbar_usermenu > .vaucher-icon { display: none; }
}

/* на компьютере есть кнопка "Меню сайта" — бургер не нужен, логотип виден всегда */
@media (min-width: 992px) {
    .navbar .header_burger {
        display: none !important;
    }
}

/* мало места: у поддержки остаётся только иконка */
@media (max-width: 1320px) {
    .bsq-support__text {
        display: none;
    }

    .bsq-support {
        padding: 4px;
    }
}

/* телефон и планшет */
@media (max-width: 991.98px) {
    .navbar {
        height: 62px !important;
        padding: 0 12px !important;
    }

    .navbar_menu_left {
        gap: 10px;
    }

    /* на телефоне остаются картинка логотипа и сердечко */
    .bsq-support,
    .bsq-brand__logo {
        display: none;
    }

    .bsq-heart {
        font-size: 19px;
    }

    /* язык: только флаг, список — на всю ширину под шапкой */
    .bsq-lang__btn {
        height: 38px;
        padding: 0 8px;
        gap: 4px;
        border-radius: 11px;
    }

    .bsq-lang__btn > .bsq-lang__globe,
    .bsq-lang__btn > .bsq-lang__code,
    .bsq-lang__btn > .bsq-lang__chev {
        display: none;
    }

    .bsq-lang__menu {
        position: fixed;
        top: 66px;
        left: 12px;
        right: 12px;
        width: auto;
        max-height: 60vh;
    }

    .bsq-brand__img {
        width: 40px;
        height: 40px;
        border-radius: 11px;
    }

    .navbar_usermenu {
        gap: 7px;
    }

    .bsq-icon-btn {
        width: 38px;
        height: 38px;
        border-radius: 11px;
        font-size: 19px;
    }

    .bsq-wallet {
        height: 38px;
        padding: 0 11px;
        gap: 7px;
        border-radius: 11px;
        font-size: 13px;
    }

    .bsq-wallet i {
        font-size: 18px;
    }

    .user__avatar img {
        width: 38px !important;
        height: 38px !important;
        border-radius: 11px !important;
    }

    .user__avatar > i {
        display: none;
    }
}

@media (max-width: 480px) {
    .vaucher-icon.bsq-icon-btn,
    .bsq-theme-btn {
        display: none;
    }
}

/* самые узкие телефоны: у кошелька только сумма */
@media (max-width: 380px) {
    .bsq-wallet > i {
        display: none;
    }

    .bsq-wallet {
        padding: 0 10px;
    }
}
