/* =====================================================================
   Фиолетовая тема блоков — как в шаблоне never (слой "Screenshot-like")
   и на скриншоте black-squad.net.
   Подключается последним в head.tpl. Чтобы отключить — уберите строку
   с never-purple.css из head.tpl.
   ===================================================================== */

:root {
    --np-panel: #220829;          /* фон блока */
    --np-panel-2: #2c0d35;
    --np-page: #17051f;
    --np-inner: #541a4f;          /* плашки заголовков, внутренние карточки */
    --np-inner-2: #612159;
    --np-field: #2a0b33;          /* поля ввода */
    --np-border: rgba(236, 41, 223, 0.72);
    --np-border-soft: rgba(236, 41, 223, 0.38);
    --np-border-faint: rgba(236, 41, 223, 0.18);
    --np-glow: rgba(236, 41, 223, 0.42);
    --np-accent: #ec29df;
    --np-accent-2: #7b2cff;
    --np-text: #ffffff;
    --np-muted: #d9b8dc;
    --np-cyan: #7fe7ff;

    --np-block-bg: linear-gradient(180deg, rgba(44, 13, 53, 0.96), rgba(23, 5, 31, 0.98)), var(--np-panel);
    --np-head-bg: linear-gradient(90deg, rgba(84, 26, 79, 0.96), rgba(97, 33, 89, 0.94)), var(--np-inner);
    --np-card-bg: linear-gradient(180deg, rgba(97, 33, 89, 0.55), rgba(60, 20, 66, 0.55)), rgba(34, 8, 41, 0.9);
    --np-btn-bg: linear-gradient(180deg, rgba(97, 33, 89, 0.98), rgba(62, 20, 72, 0.98));
    --np-chip-bg: linear-gradient(135deg, #7b2cff 0%, #ec29df 55%, #ff72a8 100%);
    --np-block-shadow: 0 0 22px var(--np-glow), inset 0 0 24px rgba(236, 41, 223, 0.08);
}

/* Акцентный цвет стандартной темы — в тон (пользовательская тема из окна "Тема" по-прежнему работает) */
[data-theme="standart"] {
    --border-color: #ec29df;
    --color-head: #c45cff;
    --box-shadow: 0 4px 20px rgba(236, 41, 223, 0.35);
}

body {
    background-color: var(--np-page);
}

/* ---------------------------------------------------------------------
   Основные блоки
   --------------------------------------------------------------------- */
.block,
.mini-okno,
.news_block,
.servers-cards__head,
.modal-content,
.user__menu,
.wapper > .footer {
    background: var(--np-block-bg) !important;
    border: 1px solid var(--np-border) !important;
    box-shadow: var(--np-block-shadow) !important;
    color: var(--np-text);
}

.block,
.mini-okno,
.news_block,
.servers-cards__head {
    border-radius: 16px !important;
}

.wapper > .footer {
    border-radius: 20px !important;
}

/* Заголовок блока — плашка как на скриншоте */
.block .block_head {
    background: var(--np-head-bg) !important;
    border: 1px solid var(--np-border-soft) !important;
    border-radius: 14px !important;
    box-shadow: inset 0 0 18px rgba(236, 41, 223, 0.12) !important;
    color: var(--np-text) !important;
    text-align: center;
}

.block .block_head::before {
    display: none !important;
}

.block .block_head::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent) !important;
    height: 3px !important;
}

/* Модуль "Список ножей" пишет заголовок внутри <span>, а primary.css красит такой span
   в серый (это стиль для подписи рядом с заголовком) — у ножей заголовок белый, как у всех блоков */
#knives_list .block .block_head span {
    margin-left: 0;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

/* ---------------------------------------------------------------------
   Внутренние карточки: сообщения чата, пункты меню, награды, события…
   --------------------------------------------------------------------- */
#chat #chat_messages .chat_message,
.dop-mini-modal > div,
.reward,
.news_info,
#events .event,
#forum .row,
.bonus-message,
.order-is-last .block a[href*="profile?id="] {
    background: var(--np-card-bg) !important;
    border: 1px solid var(--np-border-faint) !important;
    border-radius: 12px !important;
    box-shadow: inset 0 0 12px rgba(236, 41, 223, 0.06) !important;
}

/* Чат: каждое сообщение — отдельная карточка */
#chat #chat_messages .chat_message {
    padding: 12px 14px !important;
    margin: 0 6px 10px 0;
    overflow: hidden;
}

#chat #chat_messages .chat_message > a img {
    border-radius: 8px;
    border: 1px solid var(--np-border-soft);
    box-shadow: 0 0 10px rgba(236, 41, 223, 0.25);
}

#chat #chat_messages .chat_message .message .info .date {
    color: var(--np-muted) !important;
    font-weight: 600;
}

#chat #chat_messages .chat_message .with_code {
    color: #f3e8f6;
}

/* Полосы прокрутки чата и наград; горизонтальная прокрутка у чата не нужна */
#chat_messages {
    overflow-x: hidden !important;
}

#chat_messages,
#activity-rewards {
    scrollbar-width: thin;
    scrollbar-color: var(--np-accent) rgba(34, 8, 41, 0.9);
}

#chat_messages::-webkit-scrollbar-thumb,
#activity-rewards::-webkit-scrollbar-thumb {
    background: var(--np-accent);
    border-radius: 6px;
}

#chat_messages::-webkit-scrollbar-track,
#activity-rewards::-webkit-scrollbar-track {
    background: rgba(34, 8, 41, 0.9);
}

/* Пункты бокового меню (у обёртки свой тёмный фон — убираем, чтобы был виден фиолетовый блок) */
.dop-mini-modal {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.dop-mini-modal > div {
    margin-bottom: 8px;
    transition: border-color .2s, box-shadow .2s;
}

.dop-mini-modal > div:hover {
    border-color: var(--np-border) !important;
    box-shadow: 0 0 14px rgba(236, 41, 223, 0.3) !important;
}

.dop-mini-modal > div a {
    color: var(--np-text) !important;
}

/* Топ пользователей / донатеров (у них стили прописаны прямо в html) */
.order-is-last .block a[href*="profile?id="] p span {
    background: rgba(236, 41, 223, 0.14) !important;
}

/* Награды за посещения */
.reward.active .received {
    background: rgba(123, 44, 255, 0.28) !important;
}

/* События */
#events .event {
    margin-bottom: 8px;
}

/* Форум */
#forum h2 {
    background: var(--np-head-bg) !important;
    border-left-color: var(--np-accent) !important;
    color: var(--np-text) !important;
}

#forum .row {
    margin: 0 0 10px 0 !important;
}

#forum a {
    color: var(--np-cyan);
}

/* ---------------------------------------------------------------------
   Поля ввода
   --------------------------------------------------------------------- */
.form-control,
#message_input,
.wapper input[type="text"],
.wapper input[type="email"],
.wapper input[type="password"],
.wapper input[type="number"],
.wapper select,
.wapper textarea {
    background: var(--np-field) !important;
    border: 1px solid var(--np-border-soft) !important;
    border-radius: 10px !important;
    color: var(--np-text) !important;
}

.form-control:focus,
#message_input:focus,
.wapper input:focus,
.wapper select:focus,
.wapper textarea:focus {
    border-color: var(--np-accent) !important;
    box-shadow: 0 0 16px rgba(236, 41, 223, 0.42) !important;
    outline: none;
}

.form-control::placeholder,
#message_input::placeholder {
    color: rgba(217, 184, 220, 0.6);
}

/* ---------------------------------------------------------------------
   Кнопки
   --------------------------------------------------------------------- */
.btn-default,
.btn-primary,
.btn-outline-primary,
#send_button,
.news-button-bottom,
.news-button-vk,
.email-section {
    background: var(--np-btn-bg) !important;
    border: 1px solid var(--np-border-soft) !important;
    border-radius: 10px !important;
    color: var(--np-text) !important;
    box-shadow: none !important;
    transition: border-color .2s, box-shadow .2s;
}

.btn-default:hover,
.btn-primary:hover,
.btn-outline-primary:hover,
#send_button:hover,
.news-button-bottom:hover,
.news-button-vk:hover,
.email-section:hover {
    border-color: var(--np-accent) !important;
    box-shadow: 0 0 14px rgba(236, 41, 223, 0.45) !important;
    color: var(--np-text) !important;
}

#send_button {
    font-weight: 700;
    width: auto !important;
    min-width: 110px;
    padding: 6px 16px !important;
}

/* Голубой блик на кнопке "Правила" в новостях — в тон темы */
.news-button-vk::before {
    background: linear-gradient(120deg, transparent, rgba(236, 41, 223, 0.25), transparent) !important;
}

.email-section a,
.email-section i {
    color: var(--np-text) !important;
}

/* Иконки-"фишки" */
.servers-cards__icon,
.dop-mini-modal > div i,
#site_stats .stat i,
.server-category-card__manage {
    background: var(--np-chip-bg) !important;
    border-color: rgba(236, 41, 223, 0.76) !important;
    color: #fff !important;
    box-shadow: 0 0 14px rgba(236, 41, 223, 0.4) !important;
}

/* ---------------------------------------------------------------------
   Шапка
   --------------------------------------------------------------------- */
.navbar {
    background: rgba(13, 16, 24, 0.96) !important;
    border-bottom: 1px solid rgba(236, 41, 223, 0.28) !important;
    box-shadow: 0 0 18px rgba(236, 41, 223, 0.12) !important;
}

.secondary_btn,
.desktop_menu_button {
    background: linear-gradient(180deg, rgba(23, 27, 38, 0.98), rgba(17, 20, 30, 0.98)) !important;
    border: 1px solid rgba(236, 41, 223, 0.22) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.secondary_btn:hover,
.desktop_menu_button:hover {
    background: linear-gradient(180deg, rgba(79, 27, 80, 0.92), rgba(33, 17, 46, 0.98)) !important;
    border-color: rgba(236, 41, 223, 0.62) !important;
    box-shadow: 0 0 12px rgba(236, 41, 223, 0.36), inset 0 0 12px rgba(236, 41, 223, 0.12) !important;
}

/* "Меню сайта" (выпадает из шапки). Раньше все цвета брались из --border-color,
   и при своём цвете темы меню становилось нечитаемым — теперь цвета свои. */
.desktop_burger_overlay {
    background: linear-gradient(180deg, rgba(44, 13, 53, 0.985), rgba(23, 5, 31, 0.985)) !important;
    border-bottom: 1px solid var(--np-border) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.6), 0 0 26px rgba(236, 41, 223, 0.25) !important;
    color: var(--np-text) !important;
}

.desktop_burger_overlay .menu_column h3 {
    color: #f3c6ff !important;
    font-weight: 700;
    border-bottom: 1px solid rgba(236, 41, 223, 0.35) !important;
}

.desktop_burger_overlay .menu_column a {
    color: #ffffff !important;
    border: 1px solid transparent;
}

.desktop_burger_overlay .menu_column a:hover {
    color: #ffb8f6 !important;
    background: var(--np-card-bg) !important;
    border-color: var(--np-border-faint);
}

.desktop_burger_overlay .menu_column i {
    background: var(--np-chip-bg) !important;
    border: 0 !important;
    color: #ffffff !important;
    box-shadow: 0 0 12px rgba(236, 41, 223, 0.35);
}

.desktop_menu_button i,
.desktop_menu_button span {
    color: #ffffff !important;
}

.user__avatar img {
    border-color: var(--np-accent) !important;
    box-shadow: 0 0 12px rgba(236, 41, 223, 0.34);
}

/* Логотип в шапке. Был нарисован только бегущими пунктирными обводками (заливка прозрачная),
   поэтому выглядел как серая размытая полоса. Теперь: сплошные белые буквы + неоновая обводка. */
.site_logo_neo svg {
    overflow: visible;
    filter: drop-shadow(0 0 4px rgba(236, 41, 223, 0.45));
}

.site_logo_neo svg symbol {
    overflow: visible;
}

.site_logo_neo .logotext {
    font-family: "Montserrat", "Roboto", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 700;
    letter-spacing: 0;
    stroke-width: 1.2 !important;
    opacity: .75;
    /* белая text-shadow из mystyles.css размывалась в серый прямоугольник за логотипом */
    text-shadow: none !important;
}

.site_logo_neo use.logotext:first-of-type {
    opacity: 1;
    fill: #ffffff !important;
    stroke: rgba(236, 41, 223, 0.35) !important;
    stroke-width: 1 !important;
    stroke-dasharray: none !important;
    animation: none !important;
}

.site_logo_neo use.logotext:nth-of-type(2),
.site_logo_neo use.logotext:nth-of-type(4) {
    stroke: #ec29df !important;
}

.site_logo_neo use.logotext:nth-of-type(3) {
    stroke: #ffd1fb !important;
}

.header-logo:hover {
    opacity: .85 !important;
}

/* ---------------------------------------------------------------------
   Мониторинг карточками
   --------------------------------------------------------------------- */
.servers-cards {
    --sc-accent: var(--np-accent);
    --sc-border: var(--np-border-soft);
}

.server-category-card {
    border-color: var(--np-border-soft) !important;
}

.server-category-card__bg-container:before {
    background-image: linear-gradient(90deg, rgba(23, 5, 31, 0.95), rgba(23, 5, 31, 0.25)) !important;
}

.server-category-card:hover .server-category-card__bg-container {
    box-shadow: 0 0 0 2px var(--np-accent), 0 0 22px rgba(236, 41, 223, 0.45) !important;
}

/* ---------------------------------------------------------------------
   Модальные окна, таблицы, навигация на других страницах
   --------------------------------------------------------------------- */
.modal-content {
    border-radius: 16px !important;
}

.modal-header {
    border-bottom: 1px solid var(--np-border-faint) !important;
}

.table td,
.table th,
.table thead td {
    border-color: var(--np-border-faint) !important;
}

.table thead td,
.table thead th {
    background: rgba(84, 26, 79, 0.45);
}

.vertical-navigation ul li a:hover,
.vertical-navigation ul li.active a,
.vertical-navigation ul li a.active {
    background: var(--np-card-bg) !important;
    border-color: var(--np-border-soft) !important;
}

.pagination > li > a,
.pagination > li > span {
    background: var(--np-field) !important;
    border-color: var(--np-border-soft) !important;
    color: #fff !important;
}

.pagination > .active > a,
.pagination > .active > span {
    background: var(--np-chip-bg) !important;
}

/* ---------------------------------------------------------------------
   Баннеры и кнопки страниц «Кейсы», «Бан-лист», «Мут-лист», «Статистика»
   (были в сине-зелёной гамме — теперь в тон сайту)
   --------------------------------------------------------------------- */
.stats_info_bans {
    background: var(--np-card-bg) !important;
    border: 1px solid var(--np-border-soft);
    box-shadow: inset 0 0 22px rgba(236, 41, 223, 0.06);
}
.stats_info_bans:hover {
    box-shadow: 0 6px 22px var(--np-glow) !important;
}
.text_bans {
    color: #ff8cf2;
    text-shadow: 0 0 18px rgba(236, 41, 223, 0.35);
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    .text_bans {
        background: linear-gradient(90deg, #c89bff 0%, #ff8cf2 50%, #ffb3d1 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        text-shadow: none;
        filter: drop-shadow(0 0 14px rgba(236, 41, 223, 0.35));
    }
}
.info_text_bans { color: var(--np-muted) !important; }
.line_info_stats { background: var(--np-accent) !important; }

.active_btn_bans_muts,
.unban_btn {
    background: var(--np-chip-bg) !important;
    box-shadow: 0 6px 18px rgba(236, 41, 223, 0.30);
    color: #fff !important;
}
.active_btn_bans_muts:hover,
.unban_btn:hover {
    background: var(--np-chip-bg) !important;
    filter: brightness(1.12);
    box-shadow: 0 0 22px rgba(236, 41, 223, 0.45);
}
.btn_bans_muts {
    background: rgba(236, 41, 223, 0.10) !important;
    border: 1px solid var(--np-border-faint);
    color: var(--np-muted) !important;
}
.btn_bans_muts:hover {
    background: var(--np-chip-bg) !important;
    color: #fff !important;
}
.ban_btn_blocked {
    background: var(--np-btn-bg) !important;
    border: 1px solid var(--np-border-soft);
}
.ban_btn_blocked:hover {
    border-color: var(--np-accent);
    box-shadow: 0 0 16px var(--np-glow);
}

/* ---------------------------------------------------------------------
   Сообщения .noty-block (info / success / error / warning) — в тон сайту.
   Полоса слева показывает смысл: розовая — инфо, зелёная — успех,
   красная — ошибка (раньше была синей), оранжевая — предупреждение.
   --------------------------------------------------------------------- */
.noty-block,
.bs-callout {
    background: var(--np-card-bg) !important;
    color: var(--np-text) !important;
    border: 1px solid var(--np-border-soft) !important;
    border-left: 4px solid var(--np-accent) !important;
    border-radius: 14px !important;
    box-shadow: inset 0 0 18px rgba(236, 41, 223, 0.05);
}
.noty-block.info,
.noty-block.info *,
.bs-callout.info,
.bs-callout.info * { color: var(--np-text) !important; }
.noty-block a,
.bs-callout a { color: #ff8cf2 !important; }
.noty-block.success,
.noty-block.bs-callout-success,
.bs-callout.success { border-left-color: #a8ff36 !important; }
.noty-block.error,
.noty-block.bs-callout-danger,
.bs-callout.error { border-color: rgba(255, 90, 110, 0.45) !important; border-left-color: #ff5a6e !important; }
.noty-block.warning,
.noty-block.bs-callout-warning,
.bs-callout.warning { border-left-color: #ffb84d !important; }

/* ---------------------------------------------------------------------
   Напоминание «Привяжите Telegram» на главной (рисует модуль tg_auth,
   tpl/home/index.tpl) — как в шаблоне never: тёмная плашка с голубым
   свечением Telegram, над карточками разделов
   --------------------------------------------------------------------- */
.tga-home-banner.tga-banner {
    margin: 10px 0 14px;
    border-color: rgba(42, 171, 238, 0.55);
    border-radius: 15px;
    background: linear-gradient(135deg, rgba(42, 171, 238, 0.22) 0%, rgba(44, 13, 53, 0.94) 45%, rgba(23, 5, 31, 0.96) 100%);
    box-shadow: 0 0 18px rgba(42, 171, 238, 0.25);
}

.tga-home-banner .tga-banner__icon {
    box-shadow: 0 0 14px rgba(42, 171, 238, 0.7);
}

.tga-home-banner .tga-banner__btn {
    box-shadow: 0 4px 16px rgba(42, 171, 238, 0.35);
}
