/* Шапка — вариант «Компактная» (утверждён владельцем 04.10.2026).
   Собран скриптом из превью mu-plugins/assets/cards-preview/header.css (вариант 1, выделение языка E).
   Классы body: sv-head, sv-hl-dim (ставит functions.php). assets/js/sv-header.js — только --hp-hh для мобильного меню.
   На телефоне логотип строго по центру (сетка 1fr auto 1fr). Подробности — _memory/cards-preview.md. */
.sv-head .sv-header,
.sv-head .sv-site-logo { transition: padding .3s cubic-bezier(.22,.8,.26,1), max-width .3s cubic-bezier(.22,.8,.26,1), background-color .3s ease, box-shadow .3s ease; }
.sv-head .sv-navbar-language .gtranslate_wrapper { display: flex !important; flex-direction: row !important; gap: 2px; padding: 3px; border-radius: 6px; background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.sv-head .sv-navbar-language a.glink { display: flex !important; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 4px; font: 600 12px/1 "Unbounded", system-ui, sans-serif !important; letter-spacing: .04em; color: #9fb3cc !important; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.sv-head .sv-navbar-language a.glink img { width: 16px !important; height: 16px !important; border-radius: 50%; object-fit: cover; }
.sv-head .sv-navbar-language a.glink:hover { color: #fff !important; background: rgba(255,255,255,.08); }
.sv-head .sv-navbar-language a.gt-current-lang { background: #2f86f5; color: #fff !important; }
@media (max-width: 991.98px) {
  .sv-head .sv-navbar .sv-navbar-menu-hamburger { width: 42px !important; height: 42px !important; display: grid !important; place-items: center; border-radius: 6px; background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
  .sv-head .sv-navbar .sv-navbar-menu-hamburger svg { width: 26px; height: 26px; }
  .sv-head .sv-navbar .sv-navbar-menu-hamburger:active { transform: scale(.94); }
}
@media (max-width: 991.98px) {
  .sv-head .sv-header { padding: 11px 14px !important; }
  .sv-head .sv-site-logo { max-width: 150px !important; }
  .sv-head.sv-front-page .sv-site-info, .sv-head:not(.sv-wallpaper-on) .sv-site-info { padding-top: 70px !important; }
}
@media (min-width: 992px) {
}
@media (min-width: 992px) {
  .sv-head .sv-navbar .sv-navbar-menu a::before { display: none; }
  .sv-head .sv-navbar .sv-navbar-menu li:not(:last-child) > a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: -7px; height: 2px; border-radius: 1px; background: #4da3ff; transition: left .25s cubic-bezier(.22,.8,.26,1), right .25s cubic-bezier(.22,.8,.26,1); }
  .sv-head .sv-navbar .sv-navbar-menu li:not(:last-child) > a:hover::after { left: 0; right: 0; }
  .sv-head .sv-navbar .sv-navbar-menu .current-menu-item:not(:last-child) > a::after { left: 0; right: 0; background: rgba(77,163,255,.55); }
  .sv-head .sv-navbar .sv-navbar-menu li:last-child > a { transition: filter .2s ease, transform .2s ease; }
  .sv-head .sv-navbar .sv-navbar-menu li:last-child > a:hover { filter: brightness(1.12); transform: translateY(-1px); }
}
@keyframes hp-glint { 0%, 55% { left: -30%; } 100% { left: 100%; } }
@media (prefers-reduced-motion: reduce) {
  .sv-head .sv-header,
  .sv-head .sv-site-logo { transition: none !important; }
}
@media (min-width: 992px) {
  .sv-head .sv-navbar-language a.glink span { display: none !important; }
  .sv-head .sv-navbar-language a.glink { padding: 6px 7px; }
  .sv-head .sv-navbar-language a.glink img { width: 18px !important; height: 18px !important; }
  .sv-head .sv-navbar .sv-navbar-menu a { white-space: nowrap; }
}
.sv-head .sv-navbar-language a.glink img { clip-path: circle(50%); }
@media (max-width: 991.98px) {
  .sv-head .sv-navbar { display: grid !important; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; }
  .sv-head .sv-navbar > .sv-navbar-language { grid-column: 1; grid-row: 1; justify-self: start; }
  .sv-head .sv-navbar > .sv-navbar-logo { grid-column: 2; grid-row: 1; justify-self: center; }
  .sv-head .sv-navbar > .sv-navbar-menu-hamburger { grid-column: 3; grid-row: 1; justify-self: end; }
  .sv-head .sv-navbar-language a.glink span { display: none !important; }
  .sv-head .sv-navbar-language a.glink { padding: 7px; }
  .sv-head .sv-navbar-language a.glink img { width: 20px !important; height: 20px !important; }
}
@media (max-width: 991.98px) {
  .sv-head .sv-header:has(.sv-navbar.opened) { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  .sv-head .sv-navbar.opened .sv-navbar-logo { position: static !important; transform: none !important; top: auto !important; left: auto !important; }
  .sv-head .sv-navbar.opened .sv-navbar-menu-close { display: none !important; }
  .sv-head .sv-navbar.opened > .sv-navbar-menu-hamburger { display: grid !important; place-items: center; position: relative; z-index: 10002; }
  .sv-head .sv-navbar.opened > .sv-navbar-menu-hamburger svg { opacity: 0; }
  .sv-head .sv-navbar > .sv-navbar-menu-hamburger::before,
  .sv-head .sv-navbar > .sv-navbar-menu-hamburger::after { content: ""; position: absolute; left: 50%; top: 50%; width: 22px; height: 2px; margin: -1px 0 0 -11px; border-radius: 1px; background: #fff; opacity: 0; transform: rotate(0); transition: transform .25s cubic-bezier(.22,.8,.26,1), opacity .15s ease; }
  .sv-head .sv-navbar.opened > .sv-navbar-menu-hamburger::before { opacity: 1; transform: rotate(45deg); }
  .sv-head .sv-navbar.opened > .sv-navbar-menu-hamburger::after { opacity: 1; transform: rotate(-45deg); }
  .sv-head .sv-navbar > .sv-navbar-menu-hamburger svg { transition: opacity .15s ease; }
  .sv-head .sv-navbar.opened .sv-navbar-menu.d-lg-none { inset: var(--hp-hh, 64px) 0 0 0 !important; z-index: 9; animation: hp-menu-in .25s cubic-bezier(.22,.8,.26,1); }
  .sv-head .sv-navbar.opened .sv-navbar-menu.d-lg-none ul { margin-top: 34px !important; }
  @keyframes hp-menu-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
}
.sv-head .sv-navbar-language a.glink img { clip-path: none !important; border-radius: 2px !important; width: 26px !important; height: 18px !important; object-fit: cover; box-shadow: 0 0 0 1px rgba(0,0,0,.25); }
.sv-head .sv-navbar-language .gtranslate_wrapper { border-radius: 5px; padding: 4px; gap: 3px; }
.sv-head .sv-navbar-language a.glink { border-radius: 3px; }
@media (max-width: 991.98px) {
  .sv-head .sv-header { padding: 15px 14px !important; }
  .sv-head .sv-site-logo { max-width: 178px !important; }
  .sv-head.sv-front-page .sv-site-info, .sv-head:not(.sv-wallpaper-on) .sv-site-info { padding-top: 84px !important; }
  .sv-head .sv-navbar-language a.glink { padding: 9px 8px; }
  .sv-head .sv-navbar-language a.glink img { width: 28px !important; height: 19px !important; }
  .sv-head .sv-navbar .sv-navbar-menu-hamburger { width: 46px !important; height: 46px !important; border-radius: 5px; }
  .sv-head .sv-navbar .sv-navbar-menu-hamburger svg { width: 28px; height: 28px; }
}
@media (min-width: 992px) {
  .sv-head .sv-navbar-language a.glink { padding: 7px 8px; }
}
@media (max-width: 991.98px) {
  .sv-head .sv-navbar-language a.glink { padding: 8px 6px; }
  .sv-head .sv-navbar-language a.glink img { width: 27px !important; height: 18px !important; }
  .sv-head .sv-header:has(.sv-navbar.opened) { background: linear-gradient(180deg, #102a44 0%, #0f2338 60%, #0a1524 100%) !important; }
}
@media (max-width: 389.98px) {
  .sv-head .sv-site-logo { max-width: 150px !important; }
}
@media (max-width: 991.98px) {
  .sv-head .sv-navbar-language .gtranslate_wrapper { padding: 3px; gap: 2px; }
  .sv-head .sv-navbar-language a.glink { padding: 10px 5px; }
  .sv-head .sv-navbar-language a.glink img { width: 25px !important; height: 17px !important; }
}
@media (max-width: 991.98px) {
  .sv-head .sv-navbar-language .gtranslate_wrapper { flex-direction: column !important; padding: 3px; gap: 2px; }
  .sv-head .sv-navbar-language a.glink { padding: 4px 5px; }
  .sv-head .sv-navbar-language a.glink img { width: 26px !important; height: 17px !important; }
  .sv-head .sv-site-logo { max-width: 205px !important; }
  .sv-head .sv-header { padding: 12px 14px !important; }
  .sv-head.sv-front-page .sv-site-info, .sv-head:not(.sv-wallpaper-on) .sv-site-info { padding-top: 88px !important; }
}
@media (max-width: 389.98px) {
  .sv-head .sv-site-logo { max-width: 188px !important; }
}
.sv-head .sv-navbar-language a.gt-current-lang { background: rgba(90,160,240,.22) !important; box-shadow: inset 0 0 0 1px rgba(130,185,255,.45); }
.sv-head .sv-navbar-language a.glink:not(.gt-current-lang) img { opacity: .75; }
.sv-head .sv-navbar-language a.glink:not(.gt-current-lang):hover img { opacity: 1; }
.sv-head.sv-hl-dim .sv-navbar-language a.gt-current-lang { background: transparent !important; box-shadow: none; }
.sv-head.sv-hl-dim .sv-navbar-language a.glink:not(.gt-current-lang) img { opacity: .4 !important; filter: grayscale(.6); }
.sv-head.sv-hl-dim .sv-navbar-language a.glink:not(.gt-current-lang):hover img { opacity: .9 !important; filter: none; }

/* 04.10: текущий пункт меню — без жёлтого свечения темы (style.css: text-shadow rgba(255,214,119,.35));
   при прокрутке фон шапки НЕ меняется (резкая смена градиента на полупрозрачный+blur выглядела странно),
   ужимаются только отступы и логотип — одной плавной анимацией */
.sv-head .sv-navbar .sv-navbar-menu .current-menu-item > a { text-shadow: none !important; filter: none !important; }
.sv-head .sv-header, .sv-head .sv-site-logo { transition: padding .25s ease, max-width .25s ease !important; }
/* свёрнутая черта подчёркивания (left=right=50%) давала точку под пунктом — прячем до наведения */
@media (min-width: 992px) {
  .sv-head .sv-navbar .sv-navbar-menu li:not(:last-child) > a::after { opacity: 0; }
  .sv-head .sv-navbar .sv-navbar-menu li:not(:last-child) > a:hover::after,
  .sv-head .sv-navbar .sv-navbar-menu .current-menu-item:not(:last-child) > a::after { opacity: 1; }
}

/* 04.10: шапка больше НЕ ужимается при прокрутке — при возврате вверх между уменьшенной шапкой
   и обоями появлялся тёмный зазор. Все правила .cp-scrolled удалены; header.js оставлен только
   ради --hp-hh (меню открывается под шапкой). */

/* 04.10: шапка на ноутбуках 992–1279px — меню не помещалось («Блог» и языки уезжали за экран) */
@media (min-width: 992px) and (max-width: 1279.98px) {
  .sv-head .sv-site-logo { max-width: 140px !important; }
  .sv-head .sv-navbar .sv-navbar-menu ul { gap: 14px !important; }
  .sv-head .sv-navbar .sv-navbar-menu a { font-size: 13px !important; }
  .sv-head .sv-navbar .sv-navbar-menu li:last-child > a { margin-left: 6px !important; padding: 6px 10px !important; white-space: nowrap; }
  .sv-head .sv-navbar-language a.glink { padding: 5px 5px !important; }
  .sv-head .sv-navbar-language a.glink img { width: 22px !important; height: 15px !important; }
}
/* ровно 992px: в style.css мобильные правила записаны как max-width: 992px (включительно), а Bootstrap
   уже показывает ПК-меню (≥992) — меню вставало fixed в угол, бургер оставался. Чиним на ≥992. */
@media (min-width: 992px) {
  .sv-navbar .sv-navbar-menu-hamburger { display: none !important; }
  .sv-navbar .sv-navbar-menu.d-none { position: static !important; inset: auto !important; background: none !important; }
}
@media (min-width: 992px) and (max-width: 1279.98px) {
  .sv-head .sv-navbar-logo { margin-right: 14px; flex: 0 0 auto; }
  .sv-head .sv-site-logo { max-width: 130px !important; }
  .sv-head .sv-navbar .sv-navbar-menu ul { gap: 12px !important; }
  .sv-head .sv-navbar-language { margin-left: 8px; }
}

/* 04.10: отступ под шапкой (.sv-site-info) меняем ТОЛЬКО на главной и на страницах без обоев.
   На внутренних страницах с обоями тема держит место под баннер (style.css: 250px на телефоне) —
   раньше правило стояло для всех страниц, баннер уезжал под контент и тот прилипал к шапке. */

/* 04.10: баннер/обои внутренних страниц вплотную к шапке. В теме top: 93px — под прежнюю шапку 96px;
   новая шапка ниже (телефон 82–86px, ПК 92px) → оставалась тёмная щель. Высоту шапки даёт header.js (--hp-hh). */
.sv-head.sv-wallpaper-on.sv-wallpaper-top .sv-banner-wallpaper,
.sv-head.sv-wallpaper-on.sv-wallpaper-top .sv-banner-primary { top: calc(var(--hp-hh, 86px) - 2px) !important; }
