/**
 * Vestnik theme — colors from VESTNIK 2.jpg, layout inspired by vestnik-isras.ru
 */
:root {
	/* Brand from VESTNIK 2.jpg */
	--vestnik-blue: #004e8b;
	--vestnik-blue-dark: #003a68;
	--vestnik-blue-hover: #003a68;
	--vestnik-maroon: #8f0c2e;
	/* Accent = logo blue (was red) */
	--vestnik-red: #004e8b;
	--vestnik-red-border: #004e8b;
	--vestnik-cyan: #80cff1;
	--vestnik-cyan-soft: #e8f6fc;
	--vestnik-text: #222222;
	--vestnik-muted: #5a6a7a;
	--vestnik-border: #e0e0e0;
	--vestnik-bg: #ffffff;
	--vestnik-white: #ffffff;
	--vestnik-font: Arial, "Helvetica Neue", Helvetica, sans-serif;
	--vestnik-display: Georgia, "Times New Roman", "PT Serif", serif;
	--vestnik-link: #004e8b;
}

body.pkp_page_index,
body.pkp_page_about,
body.pkp_page_issue,
body.pkp_page_article,
body.pkp_page_search,
body.pkp_page_announcement,
body.pkp_page_information,
body.pkp_page_user,
body {
	font-family: var(--vestnik-font);
	color: var(--vestnik-text);
	background: var(--vestnik-bg);
}

/* —— Top utility bar (login only; language lives in sidebar) —— */
.vestnik-topbar {
	background: var(--vestnik-white);
	color: var(--vestnik-text);
	font-size: 13px;
	min-height: 28px;
	border: 0;
	border-bottom: 1px solid #eee;
}

.vestnik-topbar .container {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 4px;
	padding-bottom: 4px;
}

.vestnik-topbar #navigationUser {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.vestnik-topbar #navigationUser > li {
	float: none;
}

.vestnik-topbar #navigationUser > li > a {
	color: var(--vestnik-link) !important;
	padding: 2px 8px !important;
	background: transparent !important;
}

.vestnik-topbar #navigationUser > li > a:hover {
	color: var(--vestnik-red) !important;
}

/* —— Brand banner: locale-specific logo (full image, content-width spacing) —— */
.vestnik-brand {
	background: #fff;
	border: 0;
	text-align: center;
	padding: 10px 0 8px;
	width: 100%;
	overflow: visible;
}

.vestnik-brand__wrap {
	max-width: 1140px;
	padding-left: 15px;
	padding-right: 15px;
}

.vestnik-brand__link {
	display: block;
	line-height: 0;
	text-decoration: none !important;
	width: 100%;
	outline: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

.vestnik-brand__link:focus,
.vestnik-brand__link:active,
.vestnik-brand__link:focus-visible {
	outline: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

.vestnik-brand__img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	object-fit: contain;
	object-position: center;
	outline: none !important;
	border: 0 !important;
}

@media (max-width: 767px) {
	.vestnik-brand {
		padding: 6px 0 4px;
	}

	.vestnik-brand__wrap {
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* —— Primary nav (white bar, logo-blue borders / dropdown) —— */
.vestnik-nav {
	background: var(--vestnik-white);
	border: 0;
	border-top: 3px solid var(--vestnik-red-border);
	border-bottom: 4px solid var(--vestnik-red-border);
	border-radius: 0;
	margin: 0;
	min-height: 44px;
	box-shadow: none;
}

.vestnik-nav .navbar-toggle {
	border-color: var(--vestnik-red-border);
	margin-top: 6px;
}

.vestnik-nav .navbar-toggle .icon-bar {
	background: var(--vestnik-red);
}

.vestnik-nav .navbar-collapse {
	border: 0;
	box-shadow: none;
	padding-left: 0;
	padding-right: 0;
}

.vestnik-nav #main-navigation {
	float: none;
	display: table;
	margin: 0 auto;
}

.vestnik-nav #main-navigation > li {
	float: left;
}

.vestnik-nav #main-navigation > li > a {
	color: #222 !important;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.01em;
	text-transform: none;
	padding: 12px 18px !important;
	background: transparent !important;
	border: 0;
	display: inline-flex;
	align-items: center;
	gap: 0;
	line-height: 1.25;
}

/* No circle bullets or dropdown carets on primary menu */
.vestnik-nav #main-navigation > li > a::before {
	content: none !important;
	display: none !important;
}

.vestnik-nav #main-navigation > li > a .caret {
	display: none !important;
}

.vestnik-nav #main-navigation > li > a:hover,
.vestnik-nav #main-navigation > li > a:focus,
.vestnik-nav #main-navigation > li.open > a,
.vestnik-nav #main-navigation > li.open > a:hover,
.vestnik-nav #main-navigation > li.open > a:focus,
.vestnik-nav #main-navigation > li.active > a {
	background: var(--vestnik-red) !important;
	color: #fff !important;
}

/* Hover-open dropdowns (desktop) */
@media (min-width: 768px) {
	.vestnik-nav #main-navigation > li:hover > .dropdown-menu,
	.vestnik-nav #main-navigation > li:focus-within > .dropdown-menu {
		display: block;
	}

	.vestnik-nav #main-navigation > li:hover > a,
	.vestnik-nav #main-navigation > li:focus-within > a {
		background: var(--vestnik-red) !important;
		color: #fff !important;
	}
}

.vestnik-nav #main-navigation .dropdown-menu {
	background: var(--vestnik-red);
	border: 0;
	border-radius: 0;
	box-shadow: none;
	min-width: 260px;
	padding: 8px 0 12px;
	margin-top: 0;
}

.vestnik-nav #main-navigation .dropdown-menu > li > a {
	color: #fff !important;
	padding: 10px 22px;
	font-size: 14px;
	font-weight: 700;
	white-space: normal;
	background: transparent !important;
	outline: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

.vestnik-nav #main-navigation .dropdown-menu > li > a:hover,
.vestnik-nav #main-navigation .dropdown-menu > li > a:focus,
.vestnik-nav #main-navigation .dropdown-menu > li > a:active,
.vestnik-nav #main-navigation .dropdown-menu > li > a:focus-visible {
	background: rgba(0, 0, 0, 0.12) !important;
	color: #fff !important;
	outline: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* —— Layout —— */
#headerNavigationContainer.navbar {
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	min-height: 0;
}

/* Breadcrumbs — consistent on all inner pages */
.cmp_breadcrumbs,
nav.cmp_breadcrumbs {
	margin: 0 0 8px;
}

.cmp_breadcrumbs .breadcrumb {
	margin: 0;
	padding: 0;
	background: transparent;
	font-size: 13px;
	line-height: 1.45;
}

.cmp_breadcrumbs .breadcrumb > li + li::before {
	color: #999;
	padding: 0 6px;
	content: "/\00a0";
}

.cmp_breadcrumbs .breadcrumb > li a {
	color: var(--vestnik-link);
}

.cmp_breadcrumbs .breadcrumb > li a:hover {
	color: var(--vestnik-blue-dark);
}

.cmp_breadcrumbs .breadcrumb > .active {
	color: #777;
}

.pkp_structure_content.container {
	max-width: 1140px;
	margin-top: 24px;
	margin-bottom: 40px;
}

.pkp_structure_content.container.vestnik-fullwidth {
	max-width: 720px;
}

.pkp_structure_content.container.vestnik-fullwidth::after {
	content: "";
	display: table;
	clear: both;
}

/* Two-column layout: content left, sidebar right (all pages) */
.pkp_structure_main.col-md-8 {
	width: 66.66666667%;
	float: left;
	padding-right: 28px;
	border-right: 1px solid #ddd;
}

.pkp_structure_main h1,
.pkp_structure_main h2,
.page_index_journal h1,
.page_index_journal h2,
.vestnik-section-title {
	font-family: var(--vestnik-display);
	color: var(--vestnik-red);
	font-weight: 700;
	border-bottom: 0;
	padding-bottom: 0;
	margin-top: 0;
	margin-bottom: 18px;
}

a {
	color: var(--vestnik-link);
}

a:hover {
	color: var(--vestnik-red);
}

/* —— Homepage: current issue —— */
.vestnik-home {
	background: transparent;
}

.vestnik-current {
	background: var(--vestnik-white);
	border: 0;
	border-left: 0;
	padding: 0 0 24px;
	margin-bottom: 28px;
	box-shadow: none;
}

.vestnik-current__label {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--vestnik-red);
	font-weight: 700;
	margin-bottom: 8px;
}

.vestnik-current__title {
	font-family: var(--vestnik-display);
	font-size: 26px;
	line-height: 1.25;
	color: var(--vestnik-red);
	margin: 0 0 12px;
	border: 0;
	padding: 0;
}

.vestnik-current__meta {
	color: var(--vestnik-muted);
	font-size: 15px;
	margin-bottom: 16px;
}

.vestnik-current__meta strong {
	color: var(--vestnik-text);
}

.vestnik-current__cover {
	max-width: 180px;
	margin-bottom: 16px;
}

.vestnik-current__cover img {
	border: 1px solid var(--vestnik-border);
	max-width: 100%;
	height: auto;
}

.vestnik-btn {
	display: inline-block;
	background: var(--vestnik-red);
	color: #fff !important;
	padding: 8px 18px;
	font-weight: 600;
	text-decoration: none !important;
	border-radius: 0;
	border: 0;
	transition: background 0.2s ease;
}

.vestnik-btn:hover {
	background: #003a68;
	color: #fff !important;
}

.vestnik-btn--ghost {
	background: transparent;
	color: var(--vestnik-red) !important;
	border: 1px solid var(--vestnik-red);
	margin-left: 8px;
}

.vestnik-btn--ghost:hover {
	background: #e8f6fc;
	color: var(--vestnik-red) !important;
	border-color: var(--vestnik-red);
}

/* —— About block (full-width, no side dead space) —— */
.vestnik-about {
	background: var(--vestnik-white);
	border: 0;
	padding: 0 0 28px;
	margin-bottom: 8px;
	width: 100%;
	max-width: 100%;
}

.vestnik-about .vestnik-section-title {
	width: 100%;
	margin-bottom: 14px;
}

.vestnik-about__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	list-style: none;
	margin: 0 0 18px;
	padding: 12px 14px;
	background: #fafafa;
	border-left: 3px solid var(--vestnik-red);
	font-size: 13px;
	line-height: 1.4;
	color: #444;
}

.vestnik-about__meta li span {
	display: block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--vestnik-red);
	margin-bottom: 2px;
}

.vestnik-about__body {
	display: block;
	width: 100%;
	max-width: 100%;
	font-size: 15px;
	line-height: 1.7;
	color: #333;
	overflow: hidden; /* contain floated cover image */
}

.vestnik-about__body > *:first-child {
	margin-top: 0;
}

/* CMS content often uses h4 + inline styles — normalize for readability */
.vestnik-about__body h1,
.vestnik-about__body h2,
.vestnik-about__body h3,
.vestnik-about__body h4,
.vestnik-about__body h5,
.vestnik-about__body h6 {
	font-family: var(--vestnik-font) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
	color: #333 !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	border: 0 !important;
}

.vestnik-about__body h4 strong,
.vestnik-about__body strong {
	font-weight: 700;
	color: #222;
}

.vestnik-about__body p {
	margin: 0 0 14px;
	padding: 0 !important;
	text-align: left !important;
	width: auto !important;
	max-width: 100% !important;
}

.vestnik-about__body img {
	float: left;
	display: block;
	width: 180px;
	max-width: 42%;
	height: auto !important;
	margin: 0 20px 14px 0;
	border: 1px solid #e0e0e0;
}

.vestnik-about__body::after {
	content: "";
	display: table;
	clear: both;
}

@media (max-width: 575px) {
	.vestnik-about__body img {
		float: none;
		width: 160px;
		max-width: 100%;
		margin: 0 auto 16px;
	}
}

/* —— Articles / issues —— */
.obj_article_summary,
.obj_issue_summary,
.issue-toc,
.page {
	background: var(--vestnik-white);
}

.galley-link,
a.galley-link {
	background: var(--vestnik-red) !important;
	border-color: var(--vestnik-red) !important;
	color: #fff !important;
}

.galley-link:hover,
a.galley-link:hover {
	background: #003a68 !important;
	border-color: #003a68 !important;
}

/* —— Sidebar (vestnik-isras.ru style) —— */
#sidebar.pkp_structure_sidebar.col-md-4,
.vestnik-sidebar {
	width: 33.33333333%;
	float: left;
	padding-left: 28px;
	padding-top: 4px;
}

.vestnik-side-block {
	margin: 0 0 28px;
	padding: 0 0 20px;
	background: transparent;
	border: 0;
	border-bottom: 2px solid #d4dce6;
	box-shadow: none;
}

.vestnik-side-block:last-child {
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 0;
}

.vestnik-side-block .title,
.vestnik-sidebar h2.title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--vestnik-font);
	font-size: 16px;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	line-height: 1.3;
	letter-spacing: 0.01em;
}

/* Distinct circle marker before sidebar section titles */
.vestnik-side-block .title::before,
.vestnik-sidebar h2.title::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--vestnik-red);
	box-shadow: 0 0 0 3px rgba(0, 78, 139, 0.18);
}

.vestnik-side-text {
	font-size: 13px;
	line-height: 1.55;
	color: #666;
}

.vestnik-side-text p {
	position: relative;
	margin: 0 0 8px;
	padding-left: 14px;
}

.vestnik-side-text p::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--vestnik-blue);
	opacity: 0.75;
}

.vestnik-side-text p.vestnik-side-journal__actions,
.vestnik-side-text p.vestnik-side-submit__actions {
	padding-left: 0;
}

.vestnik-side-text p.vestnik-side-journal__actions::before,
.vestnik-side-text p.vestnik-side-submit__actions::before {
	display: none;
}

.vestnik-side-submit__help {
	position: relative;
	padding-left: 14px;
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.55;
	color: #666;
}

.vestnik-side-submit__help::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--vestnik-blue);
	opacity: 0.75;
}

.vestnik-side-submit__actions {
	margin: 0;
	padding: 0;
}

.vestnik-side-text a {
	color: var(--vestnik-link);
}

.vestnik-side-text a:hover {
	color: var(--vestnik-red);
}

/* —— Contact info (vestnik-isras style) —— */
.vestnik-contact {
	font-size: 14px;
	line-height: 1.55;
	color: #333;
}

.vestnik-contact__item {
	position: relative;
	margin: 0 0 12px;
	padding-left: 14px;
}

.vestnik-contact__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--vestnik-blue);
	opacity: 0.75;
}

.vestnik-contact__label {
	display: inline;
	font-weight: 700;
	color: #222;
	margin-right: 4px;
}

.vestnik-contact__value {
	display: block;
	font-weight: 400;
	color: #333;
	margin-top: 2px;
}

.vestnik-contact__link {
	color: var(--vestnik-link);
	word-break: break-word;
}

.vestnik-contact__link:hover {
	color: var(--vestnik-red);
}

.vestnik-contact__item--btn {
	margin-top: 14px;
	padding-left: 0;
}

.vestnik-contact__item--btn::before {
	display: none;
}

.vestnik-side-journal__cover {
	margin: 0 0 14px;
	text-align: center;
	width: 100%;
}

.vestnik-side-journal__cover-link {
	display: block;
	width: 100%;
	max-width: 100%;
	line-height: 0;
	border: 1px solid #e0e0e0;
	box-shadow: 0 2px 10px rgba(0, 78, 139, 0.1);
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.vestnik-side-journal__cover-link:hover {
	box-shadow: 0 4px 16px rgba(0, 78, 139, 0.2);
	transform: translateY(-1px);
}

.vestnik-side-journal__cover img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
	object-fit: cover;
	object-position: top center;
}

.vestnik-side-journal__actions {
	margin-top: 14px !important;
}

.vestnik-side-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 180px;
	width: 100%;
	max-width: 100%;
	padding: 10px 18px;
	background: var(--vestnik-blue);
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	border: 0 !important;
	border-radius: 3px;
	outline: none !important;
	box-shadow: 0 2px 8px rgba(0, 78, 139, 0.22);
	transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

.vestnik-side-btn:hover,
.vestnik-side-btn:focus,
.vestnik-side-btn:active,
.vestnik-side-btn:focus-visible {
	background: var(--vestnik-blue-dark);
	color: #fff !important;
	text-decoration: none !important;
	transform: translateY(-1px);
	outline: 0 !important;
	border: 0 !important;
	box-shadow: 0 4px 12px rgba(0, 78, 139, 0.3);
	-webkit-tap-highlight-color: transparent;
}

.vestnik-side-btn__icon {
	font-size: 15px;
	line-height: 1;
}

.vestnik-side-btn__text {
	letter-spacing: 0.01em;
}

/* Keep old class name as alias for safety */
.vestnik-feedback-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 180px;
	padding: 10px 18px;
	background: var(--vestnik-blue);
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	border: 0;
	border-radius: 3px;
	box-shadow: 0 2px 8px rgba(0, 78, 139, 0.22);
	transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.vestnik-feedback-btn:hover,
.vestnik-feedback-btn:focus {
	background: var(--vestnik-blue-dark);
	color: #fff !important;
	text-decoration: none !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 78, 139, 0.3);
}

.vestnik-feedback-btn__icon {
	font-size: 15px;
	line-height: 1;
}

.vestnik-feedback-btn__text {
	letter-spacing: 0.01em;
}

.vestnik-contact-page .vestnik-side-btn,
.vestnik-contact-page .vestnik-feedback-btn {
	min-width: 200px;
	width: auto;
	padding: 11px 22px;
}

.vestnik-contact-page .vestnik-contact {
	margin-top: 8px;
	max-width: 40em;
}

.vestnik-contact-page .vestnik-contact__item {
	margin-bottom: 16px;
}

.vestnik-contact-page .vestnik-contact__label {
	font-size: 15px;
}

.vestnik-side-lang__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.vestnik-side-lang__list li {
	position: relative;
	margin: 0 0 8px;
	padding-left: 14px;
	font-size: 14px;
	line-height: 1.4;
}

.vestnik-side-lang__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--vestnik-blue);
	opacity: 0.7;
}

.vestnik-side-lang__list a {
	color: var(--vestnik-link);
	text-decoration: none;
}

.vestnik-side-lang__list a:hover {
	color: var(--vestnik-blue-dark);
	text-decoration: underline;
}

.vestnik-side-lang__list .is-current span {
	color: #222;
	font-weight: 700;
}

.vestnik-side-lang__list .is-current::before {
	opacity: 1;
	box-shadow: 0 0 0 2px rgba(0, 78, 139, 0.2);
}

/* Search: input + red button in one row */
.vestnik-side-search-form {
	display: flex;
	align-items: stretch;
	gap: 0;
	width: 100%;
	margin: 0;
}

.vestnik-side-search-form .form-control {
	flex: 1 1 auto;
	height: 34px;
	border-radius: 0;
	border: 1px solid #ccc;
	border-right: 0;
	box-shadow: none;
	font-size: 13px;
	padding: 6px 10px;
	min-width: 0;
}

.vestnik-side-search-form .form-control:focus {
	border-color: #999;
	box-shadow: none;
	outline: none;
}

.vestnik-side-search-form .btn {
	flex: 0 0 auto;
	height: 34px;
	border-radius: 0;
	background: var(--vestnik-red);
	border: 1px solid var(--vestnik-red);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	padding: 0 14px;
	line-height: 32px;
}

.vestnik-side-search-form .btn:hover,
.vestnik-side-search-form .btn:focus {
	background: #003a68;
	border-color: #003a68;
	color: #fff;
}

.vestnik-side-submit .vestnik-side-text {
	margin: 0;
}

@media (max-width: 991px) {
	#sidebar.pkp_structure_sidebar.col-md-4,
	.vestnik-sidebar {
		width: 100%;
		float: none;
		padding-left: 15px;
		padding-right: 15px;
		border-top: 1px solid #ddd;
		padding-top: 20px;
		margin-top: 10px;
	}
}

/* —— Footer —— */
.footer.vestnik-footer,
footer.footer {
	background: var(--vestnik-white);
	color: var(--vestnik-text);
	padding: 28px 0 22px;
	margin-top: 0;
	border: 0 !important;
	/* Thick, visible separator */
	border-top: 8px solid var(--vestnik-blue) !important;
	box-shadow: none;
	position: relative;
}

.footer.vestnik-footer::before,
footer.footer::before {
	content: "";
	display: block;
	position: absolute;
	top: -8px;
	left: 0;
	right: 0;
	height: 8px;
	background: var(--vestnik-blue);
	pointer-events: none;
}

.footer.vestnik-footer a,
footer.footer a {
	color: var(--vestnik-link);
}

.footer.vestnik-footer a:hover,
footer.footer a:hover {
	color: var(--vestnik-red);
}

.vestnik-footer__cms {
	margin-bottom: 12px;
	font-size: 13px;
}

.vestnik-footer__row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

.vestnik-footer__left {
	flex: 1 1 280px;
	min-width: 0;
}

.vestnik-footer__right {
	flex: 0 1 auto;
	text-align: right;
	margin-left: auto;
}

.vestnik-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 13px;
	line-height: 1.4;
	color: #444;
}

.vestnik-footer__line1 {
	display: block;
	font-size: 14px;
	line-height: 1.35;
	color: var(--vestnik-text);
}

.vestnik-footer__year {
	font-weight: 400;
}

.vestnik-footer__title {
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: none;
}

.vestnik-footer__line2 {
	display: block;
	font-size: 13px;
	line-height: 1.4;
	color: #555;
	max-width: 42em;
}

.vestnik-footer__powered {
	font-size: 13px;
	line-height: 1.4;
	color: #555;
}

.vestnik-footer__powered-label {
	display: block;
	font-size: 12px;
	color: #777;
	margin-bottom: 2px;
}

.vestnik-footer__powered-names {
	display: block;
	font-weight: 600;
	color: var(--vestnik-text);
}

@media (max-width: 767px) {
	.vestnik-footer__row {
		flex-direction: column;
		gap: 16px;
	}

	.vestnik-footer__right {
		text-align: left;
		margin-left: 0;
	}
}

/* —— Buttons / forms —— */
.btn-primary,
.pkp_button {
	background: var(--vestnik-red);
	border-color: var(--vestnik-red);
}

.btn-primary:hover,
.pkp_button:hover {
	background: #003a68;
	border-color: #003a68;
}

@media (max-width: 991px) {
	.pkp_structure_main.col-md-8,
	#sidebar.pkp_structure_sidebar.col-md-4 {
		width: 100%;
		float: none;
		padding-left: 15px;
		padding-right: 15px;
		border-right: 0;
	}

	#sidebar.pkp_structure_sidebar.col-md-4 {
		border-top: 1px solid #ddd;
		padding-top: 20px;
		margin-top: 10px;
	}

	.vestnik-nav #main-navigation {
		display: block;
		margin: 0;
	}
}

/* —— Motion —— */
.vestnik-current,
.vestnik-about {
	animation: vestnikFadeUp 0.55s ease both;
}

.vestnik-about {
	animation-delay: 0.08s;
}

@keyframes vestnikFadeUp {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* —— Auth pages: full-width main, no sidebar clutter —— */
body.pkp_page_login .pkp_structure_main,
body.pkp_page_user.pkp_op_register .pkp_structure_main,
body.pkp_page_login.pkp_op_lostPassword .pkp_structure_main,
body.pkp_page_login .pkp_structure_main.col-md-8,
body.pkp_page_user.pkp_op_register .pkp_structure_main.col-md-8 {
	width: 100% !important;
	max-width: 100%;
	float: none !important;
	border-right: 0 !important;
	padding-right: 15px;
	padding-left: 15px;
}

body.pkp_page_login #sidebar,
body.pkp_page_user.pkp_op_register #sidebar,
body.pkp_page_login.pkp_op_lostPassword #sidebar {
	display: none !important;
}

body.pkp_page_login .pkp_structure_content.container,
body.pkp_page_login.pkp_op_lostPassword .pkp_structure_content.container,
body.pkp_page_user.pkp_op_register .pkp_structure_content.container {
	max-width: 1140px;
}

.page_login .cmp_breadcrumbs,
.page_login .breadcrumbs,
.page_lost_password .cmp_breadcrumbs,
.page_lost_password .breadcrumbs,
.page_register .cmp_breadcrumbs,
.page_register .breadcrumbs {
	max-width: 440px;
	margin: 0 auto 12px;
}

.vestnik-auth {
	padding-bottom: 24px;
}

.vestnik-auth__shell {
	position: relative;
	max-width: 480px;
	margin: 0 auto 48px;
	padding: 28px 18px 36px;
	background:
		linear-gradient(165deg, rgba(232, 246, 252, 0.95) 0%, rgba(255, 255, 255, 0.4) 55%, rgba(255, 255, 255, 0) 100%),
		repeating-linear-gradient(
			-18deg,
			transparent,
			transparent 11px,
			rgba(0, 78, 139, 0.035) 11px,
			rgba(0, 78, 139, 0.035) 12px
		);
	border: 1px solid #d7e8f2;
}

.page_register .vestnik-auth__shell,
.vestnik-register {
	max-width: 680px;
}

.vestnik-login {
	max-width: 440px;
	margin: 0 auto;
	padding: 30px 32px 34px;
	background: #fff;
	border: 1px solid #e2e8ee;
	border-top: 4px solid var(--vestnik-blue);
	box-shadow: 0 10px 28px rgba(0, 58, 104, 0.08);
	animation: vestnikFadeUp 0.5s ease both;
}

.vestnik-login__header {
	margin-bottom: 24px;
	text-align: left;
}

.vestnik-login__brand {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--vestnik-blue);
}

.vestnik-login__brand-mark {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--vestnik-blue);
	box-shadow: 0 0 0 3px rgba(0, 78, 139, 0.16);
}

.vestnik-login__title {
	margin: 0 0 8px;
	font-family: var(--vestnik-display);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.15;
	color: var(--vestnik-blue);
	border: 0;
	padding: 0;
}

.vestnik-login__lead {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--vestnik-muted);
}

.vestnik-login__alert {
	margin-bottom: 16px;
	border-radius: 2px;
}

.vestnik-login__form .form-group {
	margin-bottom: 16px;
}

.vestnik-login__form label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #2a2a2a;
	margin-bottom: 6px;
}

.vestnik-login__label-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 6px;
}

.vestnik-login__label-row label {
	margin-bottom: 0;
}

.vestnik-login__forgot {
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	color: var(--vestnik-link);
}

.vestnik-login__forgot:hover {
	color: var(--vestnik-blue-dark);
	text-decoration: underline;
}

.vestnik-login__form .form-control {
	height: 46px;
	border-radius: 2px;
	border: 1px solid #c8d2db;
	box-shadow: none;
	font-size: 15px;
	padding: 10px 14px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.vestnik-login__form .form-control:hover {
	border-color: #9eb3c4;
}

.vestnik-login__form .form-control:focus {
	border-color: var(--vestnik-blue);
	outline: none;
	box-shadow: 0 0 0 3px rgba(0, 78, 139, 0.14);
}

.vestnik-login__remember {
	margin: 2px 0 22px;
}

.vestnik-login__remember label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-weight: 400;
	font-size: 13px;
	line-height: 1.4;
	color: #445566;
	cursor: pointer;
}

.vestnik-login__remember input[type="checkbox"] {
	margin: 2px 0 0;
	flex-shrink: 0;
}

.vestnik-login__actions {
	display: block;
}

.vestnik-login__submit {
	display: block;
	width: 100%;
	background: var(--vestnik-blue);
	border: 1px solid var(--vestnik-blue);
	color: #fff !important;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.02em;
	border-radius: 2px;
	padding: 12px 18px;
	min-height: 48px;
	transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.vestnik-login__submit:hover,
.vestnik-login__submit:focus {
	background: var(--vestnik-blue-dark);
	border-color: var(--vestnik-blue-dark);
	color: #fff !important;
	transform: translateY(-1px);
	outline: none;
}

.vestnik-login__actions--split {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.vestnik-login__actions--split .vestnik-login__submit,
.vestnik-login__actions--split .vestnik-login__register {
	flex: 1 1 140px;
	width: auto;
	display: inline-block;
	text-align: center;
}

.vestnik-login__register {
	background: #fff;
	border: 1px solid #9eb3c4;
	color: var(--vestnik-blue) !important;
	font-weight: 700;
	font-size: 15px;
	border-radius: 2px;
	padding: 12px 18px;
	min-height: 48px;
	text-align: center;
}

.vestnik-login__register:hover,
.vestnik-login__register:focus {
	border-color: var(--vestnik-blue);
	color: var(--vestnik-blue-dark) !important;
	background: var(--vestnik-cyan-soft);
	outline: none;
}

.page_login .vestnik-login__register {
	display: none;
}

.vestnik-login__switch {
	margin: 18px 0 0;
	padding-top: 16px;
	border-top: 1px solid #eef2f5;
	text-align: center;
	font-size: 13px;
	line-height: 1.5;
	color: #667788;
}

.vestnik-login__switch-text {
	margin-right: 6px;
}

.vestnik-login__switch-link {
	font-weight: 700;
	color: var(--vestnik-link);
}

.vestnik-login__switch-link:hover {
	color: var(--vestnik-blue-dark);
	text-decoration: underline;
}

.vestnik-login__switch-sep {
	margin: 0 8px;
	color: #99a;
}

.vestnik-register {
	max-width: 640px;
	padding: 28px 28px 32px;
}

.vestnik-reg__section {
	border: 0;
	margin: 0 0 22px;
	padding: 0 0 8px;
	border-bottom: 1px solid #eee;
}

.vestnik-reg__section:last-of-type {
	border-bottom: 0;
}

.vestnik-reg__legend {
	display: block;
	width: 100%;
	border: 0;
	margin: 0 0 14px;
	padding: 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--vestnik-red);
	line-height: 1.3;
}

.vestnik-reg__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 0 16px;
}

.vestnik-reg__grid .form-group {
	flex: 1 1 calc(50% - 16px);
	min-width: 220px;
	margin-bottom: 16px;
}

.vestnik-reg__grid .form-group.affiliation,
.vestnik-reg__grid .form-group.country,
.vestnik-reg__grid .form-group.email {
	flex: 1 1 100%;
}

.vestnik-reg__form fieldset.consent,
.vestnik-reg__form fieldset.reviewer {
	margin-top: 8px;
}

.vestnik-reg__form .optin label {
	font-weight: 400;
	font-size: 14px;
	line-height: 1.45;
	color: #444;
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.vestnik-reg__form .optin input[type="checkbox"] {
	margin-top: 3px;
	flex-shrink: 0;
}

.vestnik-reg__form .optin {
	margin-bottom: 12px;
}

.vestnik-reg__form .form-control-required {
	color: var(--vestnik-red);
	margin-left: 2px;
}

/* ORCID plugin box inside register */
.vestnik-register .orcid_container,
.vestnik-register .pkp_helpers_clear,
.vestnik-register [class*="orcid"] {
	margin-bottom: 16px;
}

body.pkp_page_user.pkp_op_register .pkp_structure_content.container.vestnik-fullwidth {
	max-width: 720px;
}

@media (max-width: 767px) {
	.vestnik-register {
		padding: 22px 16px 26px;
	}

	.vestnik-reg__grid .form-group {
		flex: 1 1 100%;
		min-width: 0;
	}
}

@media (max-width: 767px) {
	.vestnik-current,
	.vestnik-about {
		padding: 20px 16px;
	}

	.vestnik-current__title {
		font-size: 22px;
	}

	.vestnik-nav #main-navigation {
		float: none;
	}

	.vestnik-nav .vestnik-search {
		float: none;
		margin: 10px 0 16px;
	}

	.vestnik-nav .vestnik-search .form-control {
		width: 100%;
	}

	.vestnik-btn--ghost {
		margin-left: 0;
		margin-top: 8px;
	}

	.vestnik-login {
		padding: 24px 18px 28px;
	}

	.vestnik-auth__shell {
		padding: 16px 10px 28px;
		margin-bottom: 32px;
	}

	.vestnik-login__title {
		font-size: 26px;
	}
}

/* —— Bootstrap/Simplex primary → logo blue —— */
a { color: var(--vestnik-link); }
a:hover, a:focus { color: var(--vestnik-blue-dark); }

/*
 * Kill black OS/browser focus rings on click (Chrome/Edge/Firefox).
 * Also cover images inside links and Firefox inner focus border.
 */
.vestnik-header a,
.vestnik-header a:focus,
.vestnik-header a:active,
.vestnik-header a:focus-visible,
.vestnik-header a:focus img,
.vestnik-header a:active img,
.vestnik-header a:focus-visible img,
.vestnik-nav a,
.vestnik-nav a:focus,
.vestnik-nav a:active,
.vestnik-nav a:focus-visible,
.vestnik-brand a,
.vestnik-brand a:focus,
.vestnik-brand a:active,
.vestnik-brand a:focus-visible,
.vestnik-brand__img,
.vestnik-brand a:focus .vestnik-brand__img,
.vestnik-brand a:active .vestnik-brand__img,
.vestnik-sidebar a,
.vestnik-sidebar a:focus,
.vestnik-sidebar a:active,
.vestnik-sidebar a:focus-visible,
.vestnik-side-btn,
.vestnik-side-btn:focus,
.vestnik-side-btn:active,
.vestnik-side-btn:focus-visible,
#main-navigation a,
#main-navigation a:focus,
#main-navigation a:active,
#main-navigation a:focus-visible,
#main-navigation .dropdown-menu > li > a,
#main-navigation .dropdown-menu > li > a:focus,
#main-navigation .dropdown-menu > li > a:active,
#main-navigation .dropdown-menu > li > a:focus-visible {
	outline: 0 !important;
	outline-width: 0 !important;
	outline-style: none !important;
	outline-color: transparent !important;
	outline-offset: 0 !important;
	-webkit-tap-highlight-color: transparent !important;
	-webkit-focus-ring-color: transparent !important;
}

.vestnik-brand a,
.vestnik-brand a:focus,
.vestnik-brand a:active,
.vestnik-brand a:focus-visible,
.vestnik-brand__img,
#main-navigation .dropdown-menu > li > a,
#main-navigation .dropdown-menu > li > a:focus,
#main-navigation .dropdown-menu > li > a:active,
#main-navigation .dropdown-menu > li > a:focus-visible,
.vestnik-side-btn,
.vestnik-side-btn:focus,
.vestnik-side-btn:active,
.vestnik-side-btn:focus-visible {
	border: 0 !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
}

button::-moz-focus-inner,
.vestnik-side-btn::-moz-focus-inner,
a::-moz-focus-inner {
	border: 0 !important;
	padding: 0 !important;
	outline: 0 !important;
}

/* Soft blue hover lift only — no black ring */
.vestnik-side-btn {
	box-shadow: 0 2px 8px rgba(0, 78, 139, 0.22) !important;
	border: 0 !important;
}

.vestnik-side-btn:hover {
	box-shadow: 0 4px 12px rgba(0, 78, 139, 0.3) !important;
}

/* Mouse users: no focus ring at all (class toggled by vestnik-ui.js) */
body.vestnik-using-mouse a:focus,
body.vestnik-using-mouse a:focus-visible,
body.vestnik-using-mouse button:focus,
body.vestnik-using-mouse button:focus-visible,
body.vestnik-using-mouse .vestnik-side-btn:focus,
body.vestnik-using-mouse .vestnik-side-btn:focus-visible,
body.vestnik-using-mouse .vestnik-brand__img {
	outline: 0 !important;
	box-shadow: none !important;
	border-color: transparent !important;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > li > a:hover,
.pagination > li > a:focus,
.pager li > a:hover,
.pager li > a:focus,
.label-primary,
.progress-bar,
.panel-primary > .panel-heading,
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus,
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
	background-color: var(--vestnik-blue) !important;
	border-color: var(--vestnik-blue) !important;
}
.text-primary { color: var(--vestnik-blue) !important; }
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
	background-color: var(--vestnik-blue-dark) !important;
	border-color: var(--vestnik-blue-dark) !important;
}


/* —— Scroll to top —— */
.vestnik-scroll-top {
	position: fixed;
	right: 22px;
	bottom: 28px;
	z-index: 1040;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--vestnik-blue);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 14px rgba(0, 78, 139, 0.35);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease, background 0.15s ease;
}

.vestnik-scroll-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.vestnik-scroll-top:hover,
.vestnik-scroll-top:focus {
	background: var(--vestnik-blue-dark);
	color: #fff;
	outline: none;
}

.vestnik-scroll-top svg {
	display: block;
}

@media (max-width: 767px) {
	.vestnik-scroll-top {
		right: 14px;
		bottom: 18px;
		width: 42px;
		height: 42px;
	}
}

/* —— 404 error page —— */
.vestnik-404 {
	padding-bottom: 2rem;
}

.vestnik-404__card {
	max-width: 36rem;
	margin: 0.5rem 0 2rem;
	padding: 1.75rem 0 0.5rem;
}

.vestnik-404__code {
	margin: 0 0 0.35rem;
	font-family: var(--vestnik-display);
	font-size: clamp(3.5rem, 10vw, 5.5rem);
	font-weight: 700;
	line-height: 1;
	color: var(--vestnik-blue);
	letter-spacing: -0.03em;
}

.vestnik-404__title {
	margin: 0 0 0.85rem !important;
	font-family: var(--vestnik-display);
	font-size: 1.75rem !important;
	color: var(--vestnik-blue) !important;
}

.vestnik-404__message {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	line-height: 1.55;
	color: var(--vestnik-muted);
	max-width: 32rem;
}

.vestnik-404__meta {
	margin: 0 0 1.5rem;
	font-size: 0.85rem;
	color: #99a3ad;
	letter-spacing: 0.02em;
}

.vestnik-404__actions {
	margin: 0;
}

.vestnik-404__actions .vestnik-side-btn {
	display: inline-flex;
}
