.navbar .navbar-brand {
   margin-top: 0 !important;
}
/* у логотипа есть width/height (против скачков макета), а Argon задаёт только высоту 30px */
.navbar-brand img {
   width: auto;
}
.btn-danger:hover {
   background-color: #ec0c38;
}
/* Фоновые картинки по умолчанию. Файлы nc-bg/nr-bg/nrw-bg и папки 1200-hq/480-mq
   в теме отсутствуют (давали 404 на экранах до 1200px), поэтому ссылки на них убраны.
   Реальный фон блоков задаётся полем ACF через inline-style. */
.bg-nb {
   background-color: #2f2f2f;
   background-image: url(../img/nb-bg.png);
   background-size: cover;
}
.bg-nc,
.bg-nr,
.bg-nrw {
   background-color: #2f2f2f;
   background-size: cover;
}
.bg-servers {
   background-image: url(../img/servers-bg.png);
   background-color: #2f2f2f;
   background-size: cover;
}
.bg-tg {
   background-color: #2f2f2f;
}
body,
html {
   height: 100%;
}
.wrapper {
   display: flex;
   flex-direction: column;
   min-height: 100%;
}
.page {
   flex: 1;
}

.single-content p {
   margin-top: 16px;
   margin-bottom: 16px;
   min-height: 1px;
}
.single-content :last-child {
   margin-bottom: 0;
}
.single-content :first-child {
   margin-top: 0;
}
/* Картинки и вставки в тексте записей не вылезают за экран на телефонах */
.single-content img,
.single-content video,
.single-content iframe,
.single-content embed {
   max-width: 100%;
}
.single-content img {
   height: auto;
}
.single-content figure {
   margin: 1.5rem 0;
}
.single-content .nl-entry-title {
   margin-bottom: 1.5rem;
}
.single-content.nl-title-section {
   padding-bottom: 0;
}

/* Скрытый текст для экранных дикторов (в сборке Argon этого класса нет) */
.sr-only,
.screen-reader-text {
   position: absolute !important;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   white-space: nowrap;
   border: 0;
}
.nl-skip-link {
   position: absolute;
   left: -9999px;
   top: 0;
   z-index: 1000;
   padding: .5rem 1rem;
   background: #fff;
   color: #172b4d;
}
.nl-skip-link:focus {
   left: 1rem;
   top: 1rem;
}

/* Виджеты Telegram задают min-width: 320px — на экранах 320px это давало обрезку справа */
.nl-embeds iframe {
   min-width: 0 !important;
   max-width: 100%;
}

/* Иконка сервера на первом экране: на телефонах col-2 давал ~55px */
@media (max-width: 575.98px) {
   .nl-hero-icon {
      flex: 0 0 25%;
      max-width: 25%;
   }
   /* Дисклеймер в подвале на телефоне занимал ~10 строк крупного шрифта */
   .footer .footer-disclaimer {
      font-size: 1.125rem;
   }
   .footer .nav-footer {
      justify-content: flex-start !important;
   }
}

/* Служебные отступы (в урезанной сборке Argon нет mt-4/h-100) */
.nl-mt {
   margin-top: 1.5rem;
}
.nl-mt-lg {
   margin-top: 3rem;
}
.nl-card-full {
   height: 100%;
}
.nl-card-icon {
   max-width: 64px;
}

/* Форма поиска */
.nl-search-form {
   display: flex;
   gap: .5rem;
   max-width: 480px;
   margin: 0 auto;
}
.nl-search-form .form-control {
   flex: 1 1 auto;
   min-width: 0;
   height: auto;
}
.nl-search-form .btn {
   flex: 0 0 auto;
   margin: 0;
}

/* Пагинация архивов */
.nl-pagination ul {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: .5rem;
   list-style: none;
   padding: 0;
   margin: 1rem 0 0;
}
.nl-pagination .page-numbers {
   display: inline-block;
   min-width: 2.75rem;
   padding: .625rem .75rem;
   border-radius: .25rem;
   background: #fff;
   color: #5e72e4;
   text-align: center;
   line-height: 1.5;
}
.nl-pagination .page-numbers.current {
   background: #5e72e4;
   color: #fff;
}

/* 404 */
.nl-404 .display-1 {
   font-weight: 600;
   line-height: 1;
}
.nl-404-servers {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: .75rem;
   list-style: none;
   padding: 0;
   margin: 1rem 0 0;
}
.nl-404-servers .btn {
   margin: 0;
}

/* картинки шагов установки теперь с width/height — сохраняем пропорции */
.card-img-top {
   height: auto;
}

/* Текст редактора на главной: компактные отступы (раньше одна строка занимала ~155px) */
.single-content--front {
   padding-top: 2rem;
   padding-bottom: 2rem;
}

/* Формы и длинные адреса в тексте страниц не вылезают за экран телефона (страница Contact Us) */
.single-content {
   overflow-wrap: break-word;
   word-wrap: break-word;
}
.single-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.single-content select,
.single-content textarea {
   max-width: 100%;
   box-sizing: border-box;
}
.single-content textarea {
   display: block;
   width: 100%;
}

/*
 * Дополнительные иконки Font Awesome 5.15 для полей «иконка» в админке
 * (основной fontawesome-all.min.css урезан до используемых иконок, а шрифты содержат все).
 * Соцсети: <i class="fab fa-facebook-f"></i>, fa-x-twitter, fa-youtube, fa-instagram, fa-tiktok…
 */
.fa-facebook-f:before { content: "\f39e"; }
.fa-facebook:before { content: "\f09a"; }
.fa-twitter:before { content: "\f099"; }
.fa-youtube:before { content: "\f167"; }
.fa-instagram:before { content: "\f16d"; }
.fa-tiktok:before { content: "\e07b"; }
.fa-reddit:before { content: "\f1a1"; }
.fa-whatsapp:before { content: "\f232"; }
.fa-twitch:before { content: "\f1e8"; }
.fa-apple:before { content: "\f179"; }
.fa-android:before { content: "\f17b"; }
/* Логотипа X нет в Font Awesome 5 — выводим символ «𝕏» обычным шрифтом. */
.fa-x-twitter:before { content: "\1D54F"; font-family: "Segoe UI Symbol", "Apple Symbols", "Noto Sans Math", "DejaVu Sans", sans-serif; font-weight: 700; }
.fa-user-shield:before { content: "\f505"; }
.fa-terminal:before { content: "\f120"; }
.fa-shield-alt:before { content: "\f3ed"; }
.fa-hammer:before { content: "\f6e3"; }
.fa-bolt:before { content: "\f0e7"; }
.fa-star:before { content: "\f005"; }
.fa-rocket:before { content: "\f135"; }
.fa-mobile-alt:before { content: "\f3cd"; }
.fa-comments:before { content: "\f086"; }
.fa-envelope:before { content: "\f0e0"; }
.fa-globe:before { content: "\f0ac"; }

/* Кнопка цвета «default» (Argon) — её стили были вырезаны из урезанного argon-design-system.min.css. */
.btn-default { color: #fff; background-color: #172b4d; border-color: #172b4d; box-shadow: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08); }
.btn-default:hover { color: #fff; background-color: #0b1526; border-color: #0b1526; }
.btn-default:focus, .btn-default.focus { color: #fff; box-shadow: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 0 rgba(23, 43, 77, .5); }
.btn-default:not(:disabled):not(.disabled):active { color: #fff; background-color: #0b1526; border-color: #0b1526; }

/* Подвал: меню справа занимает всё свободное место, чтобы длинные пункты (RU) не переносились на вторую строку на ПК. */
@media (min-width: 768px) {
   .footer .justify-content-md-between > .col-md-6:first-child { flex: 0 0 auto; width: auto; max-width: none; }
   .footer .justify-content-md-between > .col-md-6:last-child { flex: 1 1 0; max-width: none; min-width: 0; }
}

/* ---------- Contact Form 7 в стиле сайта (Argon) ---------- */
.wpcf7 { max-width: 640px; margin: 1.5rem 0 2rem; padding: 1.5rem; background: #fff; border-radius: .375rem; box-shadow: 0 15px 35px rgba(50, 50, 93, .1), 0 5px 15px rgba(0, 0, 0, .07); }
.wpcf7 form > br, .wpcf7 form label + br { display: none; }
.wpcf7 label { display: block; margin: 0 0 1rem; font-size: .875rem; font-weight: 600; color: #32325d; }
.wpcf7 label strong { font-weight: 600; }
.wpcf7 label br { display: none; }
.wpcf7-form-control-wrap { display: block; margin-top: .375rem; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="url"], .wpcf7 input[type="tel"], .wpcf7 select, .wpcf7 textarea {
   display: block; width: 100%; padding: .625rem .75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #525f7f;
   background-color: #fff; border: 1px solid #cad1d7; border-radius: .375rem; box-shadow: 0 1px 3px rgba(50, 50, 93, .15), 0 1px 0 rgba(0, 0, 0, .02);
   transition: border-color .15s ease, box-shadow .15s ease; -webkit-appearance: none; appearance: none;
}
.wpcf7 select { padding-right: 2.5rem; text-overflow: ellipsis; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238898aa' d='M6 8 0 0h12z'/%3E%3C/svg%3E") no-repeat right .875rem center; }
.wpcf7 textarea { min-height: 160px; resize: vertical; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 0; border-color: #5e72e4; box-shadow: 0 0 0 .2rem rgba(94, 114, 228, .25); }
.wpcf7 input::placeholder, .wpcf7 textarea::placeholder { color: #adb5bd; }
.wpcf7 p small, .wpcf7 form p { font-size: .8125rem; color: #8898aa; margin: 0 0 1rem; }
.wpcf7 input[type="submit"] {
   display: inline-block; padding: .75rem 2rem; font-size: .875rem; font-weight: 600; letter-spacing: .025em; text-transform: uppercase;
   color: #fff; background-color: #5e72e4; border: 1px solid #5e72e4; border-radius: .375rem; cursor: pointer;
   box-shadow: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08); transition: all .15s ease;
}
.wpcf7 input[type="submit"]:hover, .wpcf7 input[type="submit"]:focus { background-color: #324cdd; border-color: #324cdd; transform: translateY(-1px); box-shadow: 0 7px 14px rgba(50, 50, 93, .1), 0 3px 6px rgba(0, 0, 0, .08); }
.wpcf7 input[type="submit"]:disabled { opacity: .65; cursor: default; transform: none; }
.wpcf7 .wpcf7-spinner { vertical-align: middle; }
.wpcf7 .wpcf7-not-valid { border-color: #f5365c !important; }
.wpcf7 .wpcf7-not-valid-tip { margin-top: .375rem; font-size: .8125rem; font-weight: 400; color: #f5365c; }
.wpcf7 form .wpcf7-response-output { margin: 1rem 0 0; padding: .75rem 1rem; font-size: .875rem; border: 0; border-radius: .375rem; color: #fff; background: #fb6340; }
.wpcf7 form.sent .wpcf7-response-output { background: #2dce89; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { background: #fb6340; }
.wpcf7 form.spam .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output { background: #f5365c; }
.wpcf7 form.init .wpcf7-response-output, .wpcf7 form.resetting .wpcf7-response-output, .wpcf7 form.submitting .wpcf7-response-output { display: none; }
@media (max-width: 575.98px) { .wpcf7 { padding: 1rem; } .wpcf7 input[type="submit"] { width: 100%; } }
/* Поле-ловушка от ботов: вне экрана, но не display:none (некоторые боты это проверяют). */
.nl-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
/* Текст страниц: отступы между разделами, подзаголовки, таблицы. */
.single-content h2 { margin-top: 2.5rem; margin-bottom: 1rem; font-weight: 600; }
.single-content h3 { margin-top: 1.75rem; margin-bottom: .5rem; font-size: 1.25rem; font-weight: 600; }
.single-content h2:first-child, .single-content h3:first-child { margin-top: 0; }
.single-content ul, .single-content ol { margin-bottom: 1rem; padding-left: 1.25rem; font-weight: 300; }
.single-content li { margin-bottom: .5rem; }
.single-content table { width: 100%; margin: 0 0 1.5rem; border-collapse: collapse; font-size: .9375rem; }
.single-content th, .single-content td { padding: .625rem .75rem; border-bottom: 1px solid #e9ecef; text-align: left; vertical-align: top; }
.single-content thead th { border-bottom: 2px solid #dee2e6; color: #32325d; font-weight: 600; white-space: nowrap; }
.single-content tbody tr:nth-child(odd) { background: #f6f9fc; }
@media (max-width: 767.98px) { .single-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; } .single-content td { white-space: nowrap; } }
