/* ================================================================
   Sovushkeen — global UI layer (tokens + header + search palette)
   Loaded on EVERY page so the chrome is identical site-wide.
   Prefix: sov-
   ================================================================ */

/* ----------------------------------------------------------------
   1. Design tokens
   ---------------------------------------------------------------- */

:root {
	/* surfaces */
	--sov-bg:           #f4f6fa;
	--sov-white:        #ffffff;   /* card / surface */
	--sov-surface-2:    #fbfcfe;
	--sov-header-bg:    rgba(255, 255, 255, 0.72);

	/* text */
	--sov-text:         #0d1526;
	--sov-muted:        #5c6b82;

	/* accents */
	--sov-blue:         #2563eb;
	--sov-blue-hover:   #1d4ed8;
	--sov-blue-soft:    rgba(37, 99, 235, 0.10);
	--sov-blue-dark:    #0d1b2a;
	--sov-blue-mid:     #1a3a6b;

	/* lines & depth */
	--sov-border:       rgba(13, 21, 38, 0.09);
	--sov-shadow-xs:    0 1px 2px rgba(13, 21, 38, 0.06), 0 2px 8px rgba(13, 21, 38, 0.05);
	--sov-shadow:       0 2px 16px rgba(13, 21, 38, 0.08);
	--sov-shadow-md:    0 8px 32px rgba(13, 21, 38, 0.10);
	--sov-shadow-lg:    0 24px 64px rgba(13, 21, 38, 0.18);

	/* geometry */
	--sov-radius-sm:    10px;
	--sov-radius:       14px;
	--sov-radius-lg:    22px;
	--sov-wrap:         1200px;
	--sov-gutter:       24px;
	--sov-header-h:     64px;

	/* hero legacy names kept for backwards compat */
	--sov-hero-card-bg: #0a0f1a;
	--sov-hero-accent:  #f2e8d5;
	--sov-hero-badge:   #3b6cf6;
}

html[data-theme="dark"] {
	--sov-bg:           #080b12;
	--sov-white:        #111725;
	--sov-surface-2:    #161d2d;
	--sov-header-bg:    rgba(17, 23, 37, 0.72);

	--sov-text:         #e8edf6;
	--sov-muted:        #93a1b8;

	--sov-blue:         #5b8cff;
	--sov-blue-hover:   #7ba3ff;
	--sov-blue-soft:    rgba(91, 140, 255, 0.14);

	--sov-border:       rgba(255, 255, 255, 0.09);
	--sov-shadow-xs:    0 1px 2px rgba(0, 0, 0, 0.4);
	--sov-shadow:       0 2px 16px rgba(0, 0, 0, 0.45);
	--sov-shadow-md:    0 8px 32px rgba(0, 0, 0, 0.5);
	--sov-shadow-lg:    0 24px 64px rgba(0, 0, 0, 0.6);
}

/* Pages not yet ported to tokens stay light no matter what */
html[data-theme="light"] { color-scheme: light; }
html[data-theme="dark"]  { color-scheme: dark; }


/* ----------------------------------------------------------------
   2. Header shell
   ---------------------------------------------------------------- */

#header-sticky {
	position: sticky;
	top: 0;
	z-index: 600;
	margin: 0;
	padding: 0;
	background: none;
}

/* Keep the sticky shell interactive while the header is translated away. */
#header-sticky.sticky-element-sticky {
	pointer-events: auto;
}

@media (min-width: 721px) {
	#header-sticky:hover #header.sov-hdr.is-scroll-hidden {
		transform: translate3d(0, 0, 0);
		pointer-events: auto;
	}
}

#header.sov-hdr {
	/* neutralise parent-theme header chrome (padding / floating card / shadow) */
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: none !important;
	border-radius: 0 !important;
	border-top: 0;
	border-left: 0;
	border-right: 0;
	background: var(--sov-header-bg);
	-webkit-backdrop-filter: saturate(180%) blur(18px);
	backdrop-filter: saturate(180%) blur(18px);
	border-bottom: 1px solid transparent;
	box-shadow: none;
	transition: transform .24s cubic-bezier(.22, .61, .36, 1), border-color .2s ease, box-shadow .2s ease, background .25s ease;
	will-change: transform;
}

#header.sov-hdr.is-scroll-hidden {
	transform: translate3d(0, -100%, 0);
}

#header.sov-hdr.is-stuck {
	border-bottom-color: var(--sov-border);
	box-shadow: 0 6px 24px rgba(13, 21, 38, .06);
}

#header.sov-hdr > .group {
	max-width: var(--sov-wrap);
	margin: 0 auto;
	padding: 0 var(--sov-gutter);
	min-height: var(--sov-header-h);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	box-sizing: border-box;
}

.sov-hdr-left {
	display: flex;
	align-items: center;
	gap: 26px;
	min-width: 0;
}

/* brand: знак-сова + словесная марка (template-parts/brand.php) */
#header.sov-hdr .sov-brand {
	display: flex;
	align-items: center;
	/* 9px внутри марки, знак отбит чуть шире за счёт своего margin */
	gap: 9px;
	/* не сжимается: иначе при нехватке места в шапке текст марки
	   обрезается эллипсисом раньше пунктов меню (см. .sov-brand__name) */
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
	line-height: 1;
	color: var(--sov-text);
	text-decoration: none;
}

#header.sov-hdr .sov-brand__mark {
	display: block;
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	color: var(--sov-blue);
}

#header.sov-hdr .sov-brand__mark svg {
	display: block;
	width: 100%;
	height: 100%;
}

#header.sov-hdr .sov-brand__name {
	font-family: "Golos Text", var(--font-main), sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.15;
	white-space: nowrap;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

#header.sov-hdr .sov-brand__sep {
	flex: 0 0 auto;
	width: 1px;
	height: 14px;
	background: var(--sov-border);
}

#header.sov-hdr .sov-brand__kicker {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1;
	white-space: nowrap;
	color: var(--sov-muted);
}

#header.sov-hdr .sov-brand:hover .sov-brand__name { color: var(--sov-blue); }
#header.sov-hdr .sov-brand:hover .sov-brand__kicker { color: var(--sov-blue); opacity: .75; }
#header.sov-hdr .sov-brand__name,
#header.sov-hdr .sov-brand__kicker { transition: color .16s ease, opacity .16s ease; }

/* в тёмной теме основной синий слишком светлый под белой совой */
html[data-theme="dark"] #header.sov-hdr .sov-brand__mark { color: #3b76f0; }

/* brand (parent theme markup: #logo / .site-title) */
#header.sov-hdr #logo,
#header.sov-hdr .site-title {
	float: none;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	align-items: center;
	line-height: 1;
	flex: 0 1 auto;
	min-width: 0;
}

/* the legacy inline "logo tune" block sizes the brand for the old header */
#header.sov-hdr .site-title a,
#header.sov-hdr h1.site-title a {
	min-height: 32px !important;
	height: 32px !important;
	gap: 10px;
}

#header.sov-hdr .site-title {
	height: 32px !important;
}

#header.sov-hdr .site-title a::after,
#header.sov-hdr h1.site-title a::after {
	color: var(--sov-text) !important;
	font-size: 16.5px !important;
	font-weight: 700 !important;
	letter-spacing: -.015em;
	line-height: 1.15 !important;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#header.sov-hdr #logo a,
#header.sov-hdr .site-title a {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16.5px;
	font-weight: 700;
	letter-spacing: -.015em;
	color: var(--sov-text);
	white-space: nowrap;
	text-decoration: none;
	min-width: 0;
	overflow: hidden;
}

#header.sov-hdr #logo img,
#header.sov-hdr .site-title a > img {
	flex: 0 0 auto;
}

#header.sov-hdr #logo img,
#header.sov-hdr .site-title img,
#header.sov-hdr .site-title noscript img {
	width: 32px !important;
	height: 32px !important;
	object-fit: cover;
	border-radius: 9px !important;
}


/* ----------------------------------------------------------------
   3. Primary navigation
   ---------------------------------------------------------------- */

#header.sov-hdr #wrap-nav-header {
	float: none;
	margin: 0;
	border: 0;
	background: none;
	min-width: 0;
	width: auto;
	max-width: none;
}

#header.sov-hdr #nav-header,
#header.sov-hdr #nav-header ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#header.sov-hdr #nav-header {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 2px;
}

#header.sov-hdr #nav-header > li {
	position: relative;
	float: none;
	border: 0;
}

#header.sov-hdr #nav-header > li > a,
#header.sov-hdr #nav-header > li > .menu-item-wrapper > a {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 8px 12px;
	border-radius: 10px;
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--sov-muted);
	white-space: nowrap;
	text-decoration: none;
	transition: color .15s ease, background .15s ease;
}

#header.sov-hdr #nav-header > li > .menu-item-wrapper {
	display: flex;
	align-items: center;
}

/* the parent theme's submenu toggle button is only needed in the drawer */
#header.sov-hdr #nav-header > li > .menu-item-wrapper > button {
	display: none;
}

#header.sov-hdr #nav-header > li:hover > a,
#header.sov-hdr #nav-header > li:hover > .menu-item-wrapper > a,
#header.sov-hdr #nav-header > li:focus-within > a,
#header.sov-hdr #nav-header > li:focus-within > .menu-item-wrapper > a,
#header.sov-hdr #nav-header > li.current-menu-item > a,
#header.sov-hdr #nav-header > li.current-menu-item > .menu-item-wrapper > a,
#header.sov-hdr #nav-header > li.current-menu-parent > a,
#header.sov-hdr #nav-header > li.current-menu-parent > .menu-item-wrapper > a {
	color: var(--sov-text);
	background: var(--sov-blue-soft);
}

/* chevron for parents */
#header.sov-hdr #nav-header > li.menu-item-has-children > a::after,
#header.sov-hdr #nav-header > li.menu-item-has-children > .menu-item-wrapper > a::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-left: 2px;
	border-right: 1.7px solid currentColor;
	border-bottom: 1.7px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	opacity: .6;
	transition: transform .18s ease;
}

#header.sov-hdr #nav-header > li.menu-item-has-children:hover > a::after,
#header.sov-hdr #nav-header > li.menu-item-has-children:hover > .menu-item-wrapper > a::after {
	transform: translateY(1px) rotate(-135deg);
}

/* secondary links (socials, duplicate hub link) belong in the drawer/footer */
#header.sov-hdr #nav-header > li:has(a[href*="vk.com"]),
#header.sov-hdr #nav-header > li:has(a[href*="youtube.com"]),
#header.sov-hdr #nav-header > li:has(a[href*="t.me"]):not(.menu-item-telegram-cta),
#header.sov-hdr #nav-header > li.sov-dup-link {
	display: none;
}

/* dropdown */
#header.sov-hdr #nav-header .sub-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
	transform: translate(-50%, 6px);
	min-width: 234px;
	padding: 8px !important;
	background: var(--sov-white) !important;
	border: 1px solid var(--sov-border);
	border-radius: 16px;
	box-shadow: var(--sov-shadow-md);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	/* grace period before closing so a slightly slow/shaky cursor still makes it in */
	transition: opacity .16s ease .35s, transform .16s ease .35s, visibility .16s linear .35s, pointer-events .16s linear .35s;
	z-index: 20;
}

/* the menu itself renders instantly (no delay) so it never looks empty while
   still visible during the closing grace period; only the container's own
   show/hide is delayed above */
#header.sov-hdr #nav-header .sub-menu li,
#header.sov-hdr #nav-header .sub-menu a {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

/* legacy caret pseudo-element from the old dropdown */
#header.sov-hdr #nav-header .sub-menu:before,
#header.sov-hdr #nav-header .sub-menu:after { display: none !important; }

/* invisible hover bridge: keeps the dropdown open while the cursor crosses
   the 10px gap between the nav item and the .sub-menu box above */
#header.sov-hdr #nav-header > li.menu-item-has-children:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 20px;
}

#header.sov-hdr #nav-header > li:hover > .sub-menu,
#header.sov-hdr #nav-header > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0);
	transition-delay: 0s;
}

#header.sov-hdr #nav-header .sub-menu li {
	float: none;
	border: 0;
}

#header.sov-hdr #nav-header .sub-menu a {
	display: block;
	padding: 9px 11px;
	border-radius: 10px;
	font-size: 14px;
	color: var(--sov-muted);
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}

#header.sov-hdr #nav-header .sub-menu a:hover {
	background: var(--sov-blue-soft);
	color: var(--sov-text);
}

#header.sov-hdr #nav-header .sub-menu .menu-item-wrapper > button { display: none; }

/* third level: keep it flat, no flyouts */
#header.sov-hdr #nav-header .sub-menu .sub-menu {
	position: static;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	min-width: 0;
	padding: 0 0 0 12px;
	border: 0;
	box-shadow: none;
	background: none;
}


/* ----------------------------------------------------------------
   4. Header actions (search / theme / burger / CTA)
   ---------------------------------------------------------------- */

.sov-acts {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: none;
}

.sov-search-btn {
	display: flex;
	align-items: center;
	gap: 9px;
	height: 38px;
	min-width: 186px;
	padding: 0 16px 0 13px;
	border: 1px solid var(--sov-border);
	border-radius: 11px;
	background: var(--sov-white);
	color: var(--sov-muted);
	font: inherit;
	font-size: 14px;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease, color .15s ease;
}

.sov-search-btn:hover {
	color: var(--sov-text);
	border-color: color-mix(in srgb, var(--sov-blue) 45%, var(--sov-border));
	box-shadow: 0 0 0 4px var(--sov-blue-soft);
}

.sov-search-btn svg { width: 16px; height: 16px; flex: none; }
.sov-search-btn .sov-lbl { flex: 1; text-align: left; white-space: nowrap; }

.sov-icon-btn {
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 1px solid var(--sov-border);
	border-radius: 11px;
	background: var(--sov-white);
	color: var(--sov-muted);
	cursor: pointer;
	transition: color .15s ease, border-color .15s ease;
}

.sov-icon-btn:hover {
	color: var(--sov-text);
	border-color: color-mix(in srgb, var(--sov-blue) 45%, var(--sov-border));
}

.sov-icon-btn svg { width: 17px; height: 17px; }

html[data-theme="dark"] .sov-i-moon { display: none; }
html:not([data-theme="dark"]) .sov-i-sun { display: none; }

.sov-burger { display: none; }

.sov-link-btn { position: relative; color: var(--sov-blue); }
.sov-link-btn:hover { color: var(--sov-blue-hover); border-color: color-mix(in srgb, var(--sov-blue) 45%, var(--sov-border)); }

.sov-link-btn::after {
	content: attr(data-tip);
	position: absolute;
	top: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%) translateY(-4px);
	white-space: nowrap;
	font-size: 12px;
	font-weight: 500;
	color: var(--sov-bg);
	background: var(--sov-text);
	padding: 5px 9px;
	border-radius: 7px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .12s ease, transform .12s ease;
	z-index: 20;
}

.sov-link-btn:hover::after,
.sov-link-btn:focus-visible::after {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* CTA — the "Все ссылки" menu item, moved into .sov-acts by JS */
.sov-acts .menu-item-telegram-cta { list-style: none; }
.sov-acts .menu-item-telegram-cta .menu-item-wrapper { display: block; }
.sov-acts .menu-item-telegram-cta button { display: none; }

.sov-acts .menu-item-telegram-cta a,
a.sov-cta-link {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 38px;
	padding: 0 16px;
	border-radius: 11px;
	background: var(--sov-blue);
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -.01em;
	white-space: nowrap;
	text-decoration: none;
	box-shadow: 0 2px 10px color-mix(in srgb, var(--sov-blue) 35%, transparent);
	transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.sov-acts .menu-item-telegram-cta a:hover,
a.sov-cta-link:hover {
	transform: translateY(-1px);
	filter: brightness(1.06);
	box-shadow: 0 6px 18px color-mix(in srgb, var(--sov-blue) 40%, transparent);
}

/* while still inside the nav (no JS), keep it looking like a button */
#header.sov-hdr #nav-header > li.menu-item-telegram-cta a {
	background: var(--sov-blue);
	color: #fff;
	font-weight: 600;
}

#header.sov-hdr #nav-header > li.menu-item-telegram-cta a::after { content: none; }


/* ----------------------------------------------------------------
   5. Search palette
   ---------------------------------------------------------------- */

.sov-cmdk {
	position: fixed;
	inset: 0;
	z-index: 900;
	display: none;
	padding-top: 12vh;
}

.sov-cmdk.is-open { display: block; }

.sov-cmdk-bd {
	position: absolute;
	inset: 0;
	background: rgba(8, 12, 22, .42);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	animation: sov-fade .18s ease;
}

.sov-cmdk-box {
	position: relative;
	width: min(620px, calc(100% - 32px));
	margin: 0 auto;
	background: var(--sov-white);
	border: 1px solid var(--sov-border);
	border-radius: 18px;
	box-shadow: var(--sov-shadow-lg);
	overflow: hidden;
	animation: sov-pop .2s cubic-bezier(.2, .8, .3, 1);
}

@keyframes sov-fade { from { opacity: 0 } }
@keyframes sov-pop  { from { opacity: 0; transform: translateY(-10px) scale(.985) } }

.sov-cmdk-form {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 16px 18px;
	border-bottom: 1px solid var(--sov-border);
}

.sov-cmdk-form svg { width: 18px; height: 18px; color: var(--sov-muted); flex: none; }

.sov-cmdk-form input[type="search"],
.sov-cmdk-form input[type="text"] {
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	background: none;
	box-shadow: none;
	color: var(--sov-text);
	font-size: 16px;
}

.sov-cmdk-form input::placeholder { color: var(--sov-muted); }

.sov-cmdk-sec {
	padding: 10px 14px 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sov-muted);
}

.sov-cmdk-list {
	max-height: 340px;
	overflow: auto;
	padding: 6px;
	margin: 0;
	list-style: none;
}

.sov-cmdk-it {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 12px;
	border-radius: 11px;
	font-size: 14.5px;
	color: var(--sov-text);
	text-decoration: none;
	cursor: pointer;
}

.sov-cmdk-it:hover,
.sov-cmdk-it.is-sel { background: var(--sov-blue-soft); }

.sov-cmdk-it .sov-ico {
	width: 26px;
	height: 26px;
	flex: none;
	display: grid;
	place-items: center;
	border-radius: 8px;
	background: var(--sov-bg);
	font-size: 13px;
}

.sov-cmdk-it .sov-sub {
	margin-left: auto;
	padding-left: 12px;
	font-size: 12px;
	color: var(--sov-muted);
	white-space: nowrap;
}

.sov-cmdk-empty {
	padding: 22px 16px;
	text-align: center;
	color: var(--sov-muted);
	font-size: 14px;
}

.sov-cmdk-ft {
	display: flex;
	gap: 16px;
	padding: 10px 16px;
	border-top: 1px solid var(--sov-border);
	font-size: 12px;
	color: var(--sov-muted);
}

.sov-cmdk-ft span { display: flex; align-items: center; gap: 6px; }

.sov-cmdk kbd {
	font: 600 11px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
	padding: 4px 6px;
	border-radius: 6px;
	background: var(--sov-bg);
	border: 1px solid var(--sov-border);
	color: var(--sov-muted);
}


/* ----------------------------------------------------------------
   6. Mobile drawer
   ---------------------------------------------------------------- */

.sov-drawer {
	position: fixed;
	inset: 0;
	z-index: 800;
	visibility: hidden;
	pointer-events: none;
}

.sov-drawer.is-open { visibility: visible; pointer-events: auto; }

.sov-drawer-bd {
	position: absolute;
	inset: 0;
	background: rgba(8, 12, 22, .42);
	opacity: 0;
	transition: opacity .25s ease;
}

.sov-drawer.is-open .sov-drawer-bd { opacity: 1; }

.sov-drawer-panel {
	position: absolute;
	top: 0;
	right: 0;
	width: min(340px, 86vw);
	height: 100%;
	padding: 18px;
	background: var(--sov-white);
	box-shadow: var(--sov-shadow-lg);
	overflow-y: auto;
	transform: translateX(100%);
	transition: transform .28s cubic-bezier(.3, .8, .3, 1);
	box-sizing: border-box;
}

.sov-drawer.is-open .sov-drawer-panel { transform: none; }

.sov-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}

.sov-drawer-title { font-size: 15px; font-weight: 700; letter-spacing: -.01em; }

.sov-drawer #wrap-nav-mobile,
.sov-drawer .wrap-nav { display: block !important; float: none; border: 0; background: none; }

.sov-drawer ul { margin: 0; padding: 0; list-style: none; }

.sov-drawer li { border: 0; float: none; }

.sov-drawer .menu-item-wrapper { display: block; }

/* submenu toggles are useless here: everything is expanded */
.sov-drawer .menu-item-wrapper > button,
.sov-drawer .menu-toggle { display: none !important; }

/* the parent theme keeps the mobile menu collapsed until .menu-toggle fires */
.sov-drawer .main-navigation,
.sov-drawer .nav-menu,
.sov-drawer .menu-mobilnoe-menyu-container,
.sov-drawer #nav-mobile,
.sov-drawer .sub-menu {
	display: block !important;
	position: static !important;
	width: auto !important;
	max-width: none !important;
	max-height: none !important;
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
	background: none !important;
	box-shadow: none !important;
	padding: 0;
	margin: 0;
}

.sov-drawer .sub-menu { padding-left: 10px; }

.sov-drawer li a {
	display: block;
	padding: 11px 12px;
	border-radius: 11px;
	font-size: 15px;
	color: var(--sov-text);
	text-decoration: none;
}

.sov-drawer li a:hover { background: var(--sov-blue-soft); }

.sov-drawer .sub-menu { padding-left: 10px; }
.sov-drawer .sub-menu a { font-size: 14px; color: var(--sov-muted); }


/* ----------------------------------------------------------------
   7. Shared page furniture
   ---------------------------------------------------------------- */

body { background: var(--sov-bg); }

.sov-wrap {
	max-width: var(--sov-wrap);
	margin: 0 auto;
	padding: 0 var(--sov-gutter);
	box-sizing: border-box;
}

/* social links: header no longer shows them, footer does */
#header.sov-hdr .social-links { display: none !important; }


/* ----------------------------------------------------------------
   8. Responsive
   ---------------------------------------------------------------- */

@media (max-width: 1040px) {
	#header.sov-hdr #wrap-nav-header { display: none; }
	.sov-burger { display: grid; }
}

@media (max-width: 880px) {
	.sov-search-btn {
		min-width: 0;
		width: 38px;
		padding: 0;
		justify-content: center;
	}
	.sov-search-btn .sov-lbl { display: none; }
	#header.sov-hdr > .group { gap: 12px; }
}

/* the header CTA does not fit next to the brand on phones — it stays in the drawer */
@media (max-width: 720px) {
	.sov-acts .menu-item-telegram-cta { display: none !important; }
	#header.sov-hdr > .group { padding: 0 16px; gap: 10px; }
	.sov-acts { gap: 6px; }
}

@media (max-width: 600px) {
	.sov-acts .menu-item-telegram-cta a .sov-cta-lbl,
	a.sov-cta-link .sov-cta-lbl { display: none; }
	.sov-acts .menu-item-telegram-cta a,
	a.sov-cta-link { padding: 0 12px; }
	#header.sov-hdr #logo a,
	#header.sov-hdr .site-title a { font-size: 15px; }
	#header.sov-hdr .site-title a::after,
	#header.sov-hdr h1.site-title a::after { font-size: 15px !important; }
	#header.sov-hdr .sov-brand { gap: 9px; }
	#header.sov-hdr .sov-brand__mark { width: 28px; height: 28px; }
	#header.sov-hdr .sov-brand__name { font-size: 15px; }
	.sov-cmdk { padding-top: 8vh; }
}

@media (prefers-reduced-motion: reduce) {
	.sov-cmdk-box,
	.sov-cmdk-bd { animation: none; }
	.sov-drawer-panel { transition: none; }
}
