/*
 * КПІ ім. Ігоря Сікорського — таблиця стилів для OMP 3.5 (тема «Default» / дочірня defaultkpi)
 * Варіант: Матеріали конференцій
 *
 * Кольори — з брендбука КПІ (HEX для web). Шрифт — Exo 2 (SIL Open Font License 1.1).
 * Перекриває лише фронтенд (сторінки для читачів); панель керування OMP не змінюється.
 *
 * Шрифти очікуються на сервері тут:
 *   /public/site/fonts/exo2-variable.woff
 *   /public/site/fonts/exo2-italic-variable.woff
 */

/* ------------------------------------------------------------------ 1. Шрифт Exo 2 */
@font-face {
	font-family: "Exo 2";
	src: url("/public/site/fonts/exo2-variable.woff") format("woff");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Exo 2";
	src: url("/public/site/fonts/exo2-italic-variable.woff") format("woff");
	font-weight: 100 900;
	font-style: italic;
	font-display: swap;
}

/* ------------------------------------------------------------------ 2. Палітра */
:root {
	/* Брендбук КПІ ім. Ігоря Сікорського */
	--kpi-navy:        #1c396e;  /* PMS 288 C  — основний */
	--kpi-sky:         #008acf;  /* PMS 2382 C */
	--kpi-blue:        #1062a3;  /* PMS 300 C  */
	--kpi-blue-dark:   #0d5690;  /* PMS 7692 C */
	--kpi-deep:        #004f7f;  /* PMS 301 C  */
	--kpi-orange:      #f07d00;  /* PMS 2018 C — акцент */
	--kpi-orange-dark: #ec6605;  /* PMS 1505 C */
	--kpi-wine:        #7f0d38;  /* PMS 1955 C */
	--kpi-wine-dark:   #620c33;  /* PMS 7421 C */
	--kpi-grey:        #bbbbbb;  /* 4C  */
	--kpi-grey-warm:   #958f93;  /* PMS 4277 C */

	/* Похідні відтінки (світлі тони синього брендового — для фонів) */
	--kpi-tint:        #eef3f9;
	--kpi-tint-2:      #dfe9f4;
	--kpi-text:        #1d2737;
	--kpi-text-light:  #55606f;

	/* Ролі кольорів */
	--kpi-link:        var(--kpi-blue);      /* контраст 6,4 : 1 на білому */
	--kpi-link-hover:  var(--kpi-deep);
	--kpi-heading:     var(--kpi-navy);
	--kpi-button:      var(--kpi-blue);
	--kpi-button-hover:var(--kpi-navy);
	--kpi-focus:       var(--kpi-orange);

	/* Варіант сайту */
	--kpi-accent:         var(--kpi-wine);
	--kpi-accent-text:    var(--kpi-wine);
	--kpi-accent-on-dark: var(--kpi-orange);
	--kpi-header-bg:      linear-gradient(90deg, var(--kpi-navy) 0%, var(--kpi-navy) 50%, var(--kpi-wine-dark) 100%);
	--kpi-stripe:         linear-gradient(90deg, var(--kpi-orange) 0 35%, var(--kpi-wine) 35% 100%);
	--kpi-footer-bg:      linear-gradient(90deg, var(--kpi-navy) 0%, var(--kpi-navy) 55%, var(--kpi-wine-dark) 100%);
}

/* ------------------------------------------------------------------ 3. Основа */
html,
body,
/* стандартна тема задає шрифт багатьом елементам окремо — перекриваємо всі, крім іконок FontAwesome і коду */
body *:not(.fa):not([class^="fa-"]):not([class*=" fa-"]):not(code):not(pre):not(kbd):not(samp) {
	font-family: "Exo 2", "Noto Sans", "Segoe UI", Roboto, Arial, sans-serif;
}
html,
body {
	color: var(--kpi-text);
	font-feature-settings: "lnum" 1;  /* рівні цифри — краще для років і номерів */
}

::selection {
	background: var(--kpi-sky);
	color: #fff;
}

a {
	color: var(--kpi-link);
	text-underline-offset: 0.15em;
}
a:hover,
a:focus {
	color: var(--kpi-link-hover);
}

:focus-visible {
	outline: 2px solid var(--kpi-focus);
	outline-offset: 2px;
}

.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3,
.pkp_structure_main h4,
.pkp_structure_main h5,
.pkp_structure_main h6 {
	font-family: "Exo 2", "Noto Sans", sans-serif;
	color: var(--kpi-heading);
}
.pkp_structure_main h1 { font-weight: 700; letter-spacing: -0.005em; }
.pkp_structure_main h2 { font-weight: 650; }
.pkp_structure_main h3 { font-weight: 600; }

/* Коротка акцентна риска під заголовком сторінки */
.pkp_structure_main .page > h1::after,
.pkp_structure_main .obj_monograph_full > h1::after {
	content: "";
	display: block;
	width: 3rem;
	height: 3px;
	margin-top: 0.5rem;
	border-radius: 2px;
	background: var(--kpi-accent);
}

.pkp_structure_main blockquote {
	margin-left: 0;
	padding: 0.5rem 1.25rem;
	border-left: 4px solid var(--kpi-accent);
	background: var(--kpi-tint);
}

.pkp_structure_main hr {
	border: 0;
	border-top: 1px solid var(--kpi-tint-2);
}

/* ------------------------------------------------------------------ 4. Шапка */
.pkp_structure_head {
	background: var(--kpi-header-bg);
	border-bottom: 0;
	position: relative;
}
/* Брендова смуга під шапкою */
.pkp_structure_head::after {
	content: "";
	display: block;
	height: 4px;
	background: var(--kpi-stripe);
}

.pkp_site_name .is_text,
.pkp_site_name .is_text:hover,
.pkp_site_name .is_text:focus {
	font-family: "Exo 2", sans-serif;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #fff;
}

/* Мобільне меню (на десктопі — прозоре, щоб не перекривати градієнт шапки) */
.pkp_site_nav_menu {
	background: var(--kpi-navy);
}
@media (min-width: 992px) {
	.pkp_site_nav_menu {
		background: transparent;
	}
}
.pkp_site_nav_toggle {
	color: #fff;
}

/* Основна навігація */
.pkp_navigation_primary > li > a,
.pkp_navigation_search_wrapper a {
	font-weight: 500;
	color: #fff;
}
@media (min-width: 992px) {
	.pkp_navigation_primary > li > a:hover,
	.pkp_navigation_search_wrapper a:hover {
		color: #fff;
		border-color: var(--kpi-accent-on-dark);
	}
	.pkp_navigation_primary > li > a:focus,
	.pkp_navigation_search_wrapper a:focus {
		background: #fff;
		color: var(--kpi-navy);
	}
}

/* Меню користувача (верхній рядок) */
.pkp_navigation_user > li > a {
	color: rgba(255, 255, 255, 0.85);
}
.pkp_navigation_user > li > a:hover {
	color: #fff;
}
@media (min-width: 992px) {
	.pkp_navigation_user > li > a:focus {
		background: #fff;
		color: var(--kpi-navy);
	}
}
.pkp_navigation_user .task_count {
	background: var(--kpi-orange);
	color: #fff;
}

/* Випадні меню */
@media (min-width: 992px) {
	.pkp_nav_list ul {
		border-radius: 4px;
		border-top: 3px solid var(--kpi-accent);
		box-shadow: 0 6px 18px rgba(28, 57, 110, 0.18);
	}
	.pkp_nav_list ul a {
		color: var(--kpi-navy);
	}
	.pkp_nav_list ul a:hover,
	.pkp_nav_list ul a:focus,
	.pkp_navigation_primary .dropdown-menu a:hover,
	.pkp_navigation_primary .dropdown-menu a:focus {
		background: var(--kpi-tint);
		border-color: var(--kpi-accent);
		color: var(--kpi-navy);
	}
}

/* ------------------------------------------------------------------ 5. Головна сторінка */
.pkp_page_index .homepage_image img {
	display: block;
	width: 100%;
	height: auto;
}

/* Добірка (Highlights / Swiper) */
.highlights {
	background: var(--kpi-tint);
}
.swiper {
	--swiper-theme-color: var(--kpi-navy);
}
.swiper-button-prev,
.swiper-button-next {
	color: var(--kpi-navy);
}

/* Анонси */
.obj_announcement_summary h2 a,
.obj_announcement_summary h3 a {
	color: var(--kpi-heading);
}
.obj_announcement_summary .date,
.obj_announcement_full .date {
	color: var(--kpi-text-light);
}
.obj_announcement_summary .date::before,
.obj_announcement_full .date::before {
	color: var(--kpi-accent);
}

/* Список видавництв на загальній сторінці сайту */
.pkp_page_index .presses h3 a {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--kpi-heading);
}
.pkp_page_index .presses h3 a:hover {
	color: var(--kpi-link);
}
.pkp_page_index .presses .links a {
	display: inline-block;
	padding: 0.2rem 0.8rem;
	border: 1px solid var(--kpi-blue);
	border-radius: 999px;
	font-size: 0.93rem;
	font-weight: 600;
	text-decoration: none;
}
.pkp_page_index .presses .links a:hover,
.pkp_page_index .presses .links a:focus {
	background: var(--kpi-blue);
	color: #fff;
}

/* ------------------------------------------------------------------ 6. Каталог і книги */
.obj_monograph_summary .title a,
.cmp_monographs_list .obj_monograph_summary .title a {
	color: var(--kpi-heading);
}
.obj_monograph_summary .title a:hover,
.obj_monograph_summary .title a:focus {
	color: var(--kpi-link);
	text-decoration: underline;
}
.obj_monograph_summary .cover img,
.obj_monograph_full .cover img {
	border-radius: 3px;
	box-shadow: 0 4px 14px rgba(28, 57, 110, 0.22);
}
.obj_monograph_summary .featured {
	color: var(--kpi-accent-text);
	font-weight: 600;
	border-bottom-color: var(--kpi-accent);
}
.cmp_monographs_list > .title,
.cmp_monographs_list .title.is_series,
.page_catalog_category .cmp_monographs_list > .title {
	color: var(--kpi-heading);
}

/* Повна сторінка книги */
.obj_monograph_full .label,
.obj_monograph_full .sub_item .label {
	color: var(--kpi-heading);
	font-weight: 600;
}
.obj_monograph_full .item {
	border-color: var(--kpi-tint-2);
}

/* Хлібні крихти */
.cmp_breadcrumbs a {
	color: var(--kpi-link);
}
.cmp_breadcrumbs .current {
	color: var(--kpi-text-light);
}
.cmp_breadcrumbs .separator {
	color: var(--kpi-grey-warm);
}

/* Пагінація */
.cmp_pagination a {
	font-weight: 600;
}

/* ------------------------------------------------------------------ 7. Кнопки */
.cmp_button,
.cmp_download_link,
.cmp_form .buttons button,
.page_lost_password .buttons button,
.page_search .cmp_search button,
.page_login .buttons button,
.block_make_submission a,
.obj_monograph_full .files .link a,
.obj_monograph_full .files .pub_format_remote a,
.obj_monograph_full .files .pub_format_single a {
	background: #fff;
	border: 1px solid var(--kpi-button);
	border-radius: 4px;
	box-shadow: none;
	text-shadow: none;
	font-family: "Exo 2", sans-serif;
	font-weight: 600;
	color: var(--kpi-button);
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.cmp_button:hover,
.cmp_button:focus,
.cmp_download_link:hover,
.cmp_download_link:focus,
.cmp_form .buttons button:hover,
.cmp_form .buttons button:focus,
.page_lost_password .buttons button:hover,
.page_lost_password .buttons button:focus,
.page_search .cmp_search button:hover,
.page_search .cmp_search button:focus,
.page_login .buttons button:hover,
.page_login .buttons button:focus,
.block_make_submission a:hover,
.block_make_submission a:focus,
.obj_monograph_full .files .link a:hover,
.obj_monograph_full .files .link a:focus,
.obj_monograph_full .files .pub_format_remote a:hover,
.obj_monograph_full .files .pub_format_remote a:focus,
.obj_monograph_full .files .pub_format_single a:hover,
.obj_monograph_full .files .pub_format_single a:focus {
	background: var(--kpi-button);
	border-color: var(--kpi-button);
	box-shadow: none;
	color: #fff;
}

/* Головні дії: надіслати рукопис, завантажити, увійти — заливка темно-синім */
.pkp_block.block_make_submission .content a,
.cmp_form .buttons button.submit,
.page_login .buttons button.submit,
.obj_monograph_full .files .pub_format_single a {
	background: var(--kpi-navy);
	border-color: var(--kpi-navy);
	color: #fff;
}
.pkp_block.block_make_submission .content a:hover,
.pkp_block.block_make_submission .content a:focus,
.cmp_form .buttons button.submit:hover,
.cmp_form .buttons button.submit:focus,
.page_login .buttons button.submit:hover,
.page_login .buttons button.submit:focus,
.obj_monograph_full .files .pub_format_single a:hover,
.obj_monograph_full .files .pub_format_single a:focus {
	background: var(--kpi-blue);
	border-color: var(--kpi-blue);
	color: #fff;
}

/* ------------------------------------------------------------------ 8. Форми й повідомлення */
.cmp_form input[type="text"],
.cmp_form input[type="email"],
.cmp_form input[type="password"],
.cmp_form input[type="url"],
.cmp_form input[type="tel"],
.cmp_form select,
.cmp_form textarea,
.pkp_search input[type="text"] {
	border-color: var(--kpi-grey);
	border-radius: 4px;
	font-family: inherit;
}
.cmp_form input:focus,
.cmp_form select:focus,
.cmp_form textarea:focus {
	border-color: var(--kpi-sky);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(0, 138, 207, 0.2);
}
.cmp_form legend {
	color: var(--kpi-heading);
}

.cmp_notification {
	background: var(--kpi-tint);
	border-left-color: var(--kpi-accent);
}

/* Помилки — бордовим з брендбука замість стандартного червоного */
.cmp_form .fields > div .error,
.cmp_form .pkp_form_error,
.page_lost_password .pkp_form_error,
.page_register #formErrors {
	background: var(--kpi-wine);
}
.cmp_notification .no,
.cmp_notification.no {
	border-color: var(--kpi-wine);
}

/* ------------------------------------------------------------------ 9. Бічна панель */
.pkp_block .title {
	position: relative;
	padding-left: 0.75rem;
	font-family: "Exo 2", sans-serif;
	font-size: 0.93rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--kpi-heading);
}
.pkp_block .title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2em;
	bottom: 0.2em;
	width: 3px;
	border-radius: 2px;
	background: var(--kpi-accent);
}
.pkp_block .content a {
	color: var(--kpi-link);
}

/* ------------------------------------------------------------------ 10. Підвал */
.pkp_structure_footer_wrapper {
	background: var(--kpi-footer-bg);
	color: rgba(255, 255, 255, 0.88);
	border-top: 4px solid var(--kpi-accent-on-dark);
}
.pkp_structure_footer_wrapper a {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.45);
}
.pkp_structure_footer_wrapper a:hover,
.pkp_structure_footer_wrapper a:focus {
	color: #fff;
	text-decoration-color: var(--kpi-orange);
}
.pkp_structure_footer_wrapper h1,
.pkp_structure_footer_wrapper h2,
.pkp_structure_footer_wrapper h3,
.pkp_structure_footer_wrapper h4 {
	color: #fff;
}
/* Логотип PKP/OMP у підвалі — білим, щоб не губився на темному тлі */
.pkp_brand_footer img {
	filter: brightness(0) invert(1);
	opacity: 0.75;
}
.pkp_brand_footer a:hover img,
.pkp_brand_footer a:focus img {
	opacity: 1;
}

/* ------------------------------------------------------------------ 11. Перегляд PDF */
.header_viewable_file {
	background: var(--kpi-navy);
	border-bottom: 3px solid var(--kpi-accent-on-dark);
}
.header_viewable_file .return {
	color: var(--kpi-navy);
}
.header_viewable_file .return:hover,
.header_viewable_file .return:focus,
.header_viewable_file .download:hover,
.header_viewable_file .download:focus {
	background: var(--kpi-blue);
	color: #fff;
}
