/*
 * КПІ ім. Ігоря Сікорського — стиль «Офіційний документ» (дочірня тема kpiBrandTheme 1.2)
 * Шрифт: Zakon (Zakon Text), Мінкульт України, https://mincult.gov.ua/zakon/ — файли OTF без змін.
 * Запасні шрифти: Calibri (якщо встановлено на пристрої), Carlito (вільний аналог Calibri з однаковими
 * метриками, OFL), далі системний беззасічковий. У Zakon немає знаків × і ÷ — їх покаже запасний шрифт.
 *
 * Застосування: у редакторі OMP кнопкою «Код» обгорнути текст документа в
 *   <div class="kpi-official"> … </div>
 * Працює там, де OMP виводить HTML без фільтра (сторінки «Про е-видавництво», інформація для
 * читачів/авторів/бібліотекарів, статичні сторінки). В анотаціях книг, оголошеннях, описах серій
 * OMP прибирає <div> і class (параметр allowed_html у config.inc.php).
 *
 * Префікс :not(#kpi-official) дає специфічність ідентифікатора: тема задає Exo 2 усім елементам
 * правилом високої специфічності, і без нього шрифт документа не застосувався б.
 */

@font-face {
	font-family: "Zakon";
	src: local("Zakon Regular"), local("Zakon-Regular"), url("../fonts/zakon/Zakon-Regular.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Zakon";
	src: local("Zakon Italic"), local("Zakon-Italic"), url("../fonts/zakon/Zakon-Italic.otf") format("opentype");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "Zakon";
	src: local("Zakon Bold"), local("Zakon-Bold"), url("../fonts/zakon/Zakon-Bold.otf") format("opentype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Zakon";
	src: local("Zakon Bold Italic"), local("Zakon-BoldItalic"), url("../fonts/zakon/Zakon-BoldItalic.otf") format("opentype");
	font-weight: 700;
	font-style: italic;
	font-display: swap;
}

:root {
	--kpi-official-font: "Zakon", Calibri, Carlito, "Segoe UI", Arial, sans-serif;
}

/* Блок документа */
body .kpi-official:not(#kpi-official),
body .kpi-official *:not(#kpi-official):not(.fa):not([class^="fa-"]):not([class*=" fa-"]):not(code):not(pre) {
	font-family: var(--kpi-official-font);
}
body .kpi-official:not(#kpi-official) {
	margin: 1.5rem 0;
	font-size: 1.1rem;
	line-height: 1.5;
	color: #000;
	hyphens: manual;
	font-variant-numeric: lining-nums;
}

/* Абзаци: відступ першого рядка; вирівнювання за шириною — лише на ширших екранах */
body .kpi-official:not(#kpi-official) p {
	margin: 0 0 0.5em;
	text-indent: 1.25cm;
}
@media (min-width: 768px) {
	body .kpi-official:not(#kpi-official) p {
		text-align: justify;
	}
}

/* Заголовки документа: по центру, без брендових кольорів і рисок теми */
body .kpi-official:not(#kpi-official) :is(h1, h2, h3, h4) {
	margin: 1.2em 0 0.6em;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	text-align: center;
	text-indent: 0;
	color: #000;
}
body .kpi-official:not(#kpi-official) h1 { font-size: 1.35em; }
body .kpi-official:not(#kpi-official) h2 { font-size: 1.2em; }
body .kpi-official:not(#kpi-official) :is(h3, h4) { font-size: 1.05em; }
body .kpi-official:not(#kpi-official) :is(h1, h2, h3, h4)::after {
	content: none;
}

/* Списки і таблиці */
body .kpi-official:not(#kpi-official) :is(ul, ol) {
	margin: 0 0 0.5em;
	padding-left: 1.25cm;
}
body .kpi-official:not(#kpi-official) li {
	text-indent: 0;
}
body .kpi-official:not(#kpi-official) table {
	width: 100%;
	margin: 0.5em 0 1em;
	border-collapse: collapse;
}
body .kpi-official:not(#kpi-official) :is(th, td) {
	padding: 0.3em 0.5em;
	border: 1px solid #000;
	vertical-align: top;
	text-align: left;
	text-indent: 0;
}

/* Посилання в документі — без брендового кольору, лише підкреслення */
body .kpi-official:not(#kpi-official) a {
	color: inherit;
	text-decoration: underline;
}

/* Друк */
@media print {
	body .kpi-official:not(#kpi-official) {
		font-size: 14pt;
		color: #000;
	}
	body .kpi-official:not(#kpi-official) p {
		text-align: justify;
	}
}
