/* Shared chrome for every page. Top bar right side (2026-11-10, owner/Slowaris: "сыро"): theme + language in one capsule (.nb-util),
   «Войти» as a text button with an icon, «Регистрация» as the primary blue button. Loaded after dark.css on every page. */
body nav.navbar .container-fluid .collapse .navbar-end { gap: 8px; }
body nav.navbar .navbar-end .nb-util {
  display: flex; align-items: center; gap: 2px; height: 40px; padding: 3px;
  border: 1px solid #E6E9F0; border-radius: 12px; background: #FFFFFF;
}
body nav.navbar .navbar-end .nb-util .nb-theme-btn {
  width: 32px; height: 32px; border-radius: 9px; background: transparent; color: #4B5675; transition: background .2s, color .2s;
}
body nav.navbar .navbar-end .nb-util .nb-theme-btn:hover { background: #F1F4F9; color: #0C0E25; }
body nav.navbar .navbar-end .nb-util .lang-switcher {
  width: 32px; height: 32px; border-radius: 9px; justify-content: center; transition: background .2s;
}
body nav.navbar .navbar-end .nb-util .lang-switcher:hover { background: #F1F4F9; }
body nav.navbar .container-fluid .collapse .navbar-end .nb-util .lang-switcher .flag {
  width: 22px; height: 22px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px rgba(12, 14, 37, .12);
}
body nav.navbar .container-fluid .collapse .navbar-end .lang-switcher.open .flag:not(.active) { box-shadow: 0 4px 12px rgba(12, 14, 37, .18); }

body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-login,
body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-register {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 40px; padding: 0 16px;
  border-radius: 12px; font-size: 15px; font-weight: 600; line-height: 1; white-space: nowrap;
  transition: background .2s, color .2s, transform .2s, box-shadow .2s;
}
body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-login { background: transparent; color: #0C0E25; border: 1px solid #E6E9F0; }
body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-login:hover { background: #F1F4F9; }
body nav.navbar .navbar-end .btn-login svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-register {
  background: #0065FF; color: #FFFFFF; box-shadow: 0 6px 16px rgba(0, 101, 255, .3);
}
body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-register:hover { background: #0057DB; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0, 101, 255, .38); }

html[data-theme="dark"] body nav.navbar .navbar-end .nb-util { background: var(--d-surface); border-color: var(--d-line); }
html[data-theme="dark"] body nav.navbar .navbar-end .nb-util .nb-theme-btn { background: transparent; color: #FFD66B; }
html[data-theme="dark"] body nav.navbar .navbar-end .nb-util .nb-theme-btn:hover,
html[data-theme="dark"] body nav.navbar .navbar-end .nb-util .lang-switcher:hover { background: var(--d-surface-2); }
html[data-theme="dark"] body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-login { background: transparent; color: var(--d-ink); border-color: var(--d-line); }
html[data-theme="dark"] body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-login:hover { background: var(--d-surface-2); }
html[data-theme="dark"] body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-register { background: #0065FF; color: #FFFFFF; }

@media (max-width: 991px) {
  body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-login,
  body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-register { width: 100%; height: 44px; padding: 0 16px; }
}
/* 1200-1439px: the absolutely centered menu would run into the wider right group; center it in the free space instead */
@media (min-width: 1200px) and (max-width: 1439px) {
  body .navbar .navbar-nav.me-auto { position: static; transform: none; margin: 0 auto !important; }
  body nav.navbar .container-fluid .collapse .navbar-nav { gap: 14px; }
}
@media (min-width: 992px) and (max-width: 1279px) {
  body nav.navbar .container-fluid .collapse .navbar-nav { gap: 6px; }
  body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-login,
  body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-register { padding: 0 12px; font-size: 14px; }
}
@media (min-width: 992px) and (max-width: 1179px) {
  body nav.navbar .container-fluid .collapse .navbar-end .btn.btn-login { width: 40px; padding: 0; }
  body nav.navbar .navbar-end .btn-login span { display: none; }
  body nav.navbar .container-fluid .collapse .navbar-nav { gap: 0; }
  body nav.navbar .container-fluid .collapse .navbar-nav .nav-link { font-size: 14px; }
  body nav.navbar .navbar-brand { margin-right: 24px !important; }
}
@media (min-width: 992px) and (max-width: 1059px) {
  body nav.navbar > .container-fluid { padding-left: 20px !important; padding-right: 20px !important; }
  body nav.navbar .container-fluid .collapse .navbar-nav .nav-link { padding-left: 6px; padding-right: 6px; }
}

/* Footer payment methods row on every page (2026-11-10, landing/tools/blocks2.py): only methods enabled in billing. */
body nav.footer .nb-fpay { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 26px 0 4px; }
body nav.footer .nb-fpay-title { margin-right: 6px; color: #8A90A6; font: 500 14px/1 "Inter", system-ui, sans-serif; }
body nav.footer .nb-fpay-chip {
  display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 12px; border-radius: 10px;
  border: 1px solid #E6E9F0; background: #FFFFFF; color: #0C0E25; font: 600 13px/1 "Inter", system-ui, sans-serif; white-space: nowrap;
}
body nav.footer .nb-fpay-chip svg { width: 18px; height: 18px; flex: none; fill: none; stroke: #0065FF; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
body nav.footer .nb-fpay-chip svg.nb-fill { stroke: none; }
body nav.footer .nb-fpay-chip.nb-usdt svg { fill: #26A17B; }
body nav.footer .nb-fpay-chip.nb-btc svg { fill: #F7931A; }
body nav.footer .nb-fpay-chip.nb-more { border-style: dashed; background: transparent; color: #8A90A6; font-weight: 500; }
html[data-theme="dark"] body nav.footer .nb-fpay-chip { background: var(--d-surface); border-color: var(--d-line); color: var(--d-ink); }
html[data-theme="dark"] body nav.footer .nb-fpay-chip.nb-more { background: transparent; color: var(--d-muted); }
@media (max-width: 575px) { body nav.footer .nb-fpay-title { flex-basis: 100%; margin-bottom: 4px; } }

/* Country filter above the VPS tariff cards (home + VPS page), behaviour site/js/nb-country.js. */
body .main .nb-country {
  display: flex; width: max-content; max-width: calc(100% - 32px); margin: 0 auto 10px; padding: 5px; gap: 4px;
  border-radius: 14px; background: #F7F9FB; border: 1px solid #ECEEF3; font-family: "Inter", system-ui, sans-serif;
}
body .main .nb-country button {
  display: inline-flex; align-items: center; gap: 8px; border: 0; background: transparent; color: #555666; white-space: nowrap;
  font: 600 15px/1 "Inter", system-ui, sans-serif; padding: 9px 14px; border-radius: 10px; transition: background .2s, color .2s;
}
body .main .nb-country button img { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px rgba(12, 14, 37, .1); }
body .main .nb-country button:hover { color: #0C0E25; }
body .main .nb-country button.on { background: #FFFFFF; color: #0C0E25; box-shadow: 0 2px 10px rgba(12, 14, 37, .1), inset 0 0 0 1.5px #0065FF; }
body .main .nb-country-dc { margin: 0 auto 34px; padding: 0 16px; text-align: center; color: #8A90A6; font: 400 14px/1.45 "Inter", system-ui, sans-serif; }
body .main .nb-country-dc span { display: none; }
body .main .nb-country-dc span.on { display: inline; }
html:not(.nb-js) body .main .nb-country, html:not(.nb-js) body .main .nb-country-dc { display: none; }
/* rows / chips that do not apply to the chosen country */
body .main .price-list[data-country="nl"] .nb-only-ru, body .main .price-list[data-country="de"] .nb-only-ru,
body .main .price-list[data-country="ru"] .nb-only-eu { display: none; }
body .main .price-list[data-country="nl"] .nb-loc:not([data-c="nl"]), body .main .price-list[data-country="de"] .nb-loc:not([data-c="de"]),
body .main .price-list[data-country="ru"] .nb-loc:not([data-c="ru"]) { opacity: .28; filter: grayscale(1); }
body .main .nb-loc { transition: opacity .25s, filter .25s; }
html[data-theme="dark"] body .main .nb-country { background: var(--d-surface); border-color: var(--d-line); }
html[data-theme="dark"] body .main .nb-country button { color: var(--d-text); }
html[data-theme="dark"] body .main .nb-country button:hover { color: var(--d-ink); }
html[data-theme="dark"] body .main .nb-country button.on { background: var(--d-surface-2); color: var(--d-ink); box-shadow: inset 0 0 0 1.5px #0065FF; }
html[data-theme="dark"] body .main .nb-country-dc { color: var(--d-muted); }
@media (max-width: 575px) {
  body .main .nb-country { display: grid; grid-template-columns: 1fr 1fr; width: auto; margin-left: 16px; margin-right: 16px; max-width: none; }
  body .main .nb-country button { justify-content: center; font-size: 14px; }
}
body .main .banner + .nb-country { margin-top: 44px; }
