/* AHSAS theme v2.1: "Read as a book" (issue pages opened with ?view=book).
   Plain CSS, linked only from templates/frontend/components/ahsasBook.tpl.
   Sizes inside the pages are multiples of --bk-u (= one hundredth of the page width), so every page scales as a whole.
   Colours: navy #16324F, deep navy #0F2438, gold #F2C46D (on navy), ochre #B7791F (rules only), ochre-text #9A6412,
   paper #F7F5F0, line #E2DDD2, ink #1B2430, slate #3A4452, mist #D6DEE8. Fonts are the theme's self-hosted ones. */
.pkp_structure_page .ahsas-book {
	--bk-navy: #16324F; --bk-deep: #0F2438; --bk-gold: #F2C46D; --bk-ochre: #B7791F; --bk-ochre-text: #9A6412;
	--bk-paper: #F7F5F0; --bk-line: #E2DDD2; --bk-ink: #1B2430; --bk-slate: #3A4452; --bk-mist: #D6DEE8;
	--bk-u: 5px;
	--bk-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
	--bk-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	position: relative;
	margin: 0 0 24px;
	font-family: var(--bk-sans);
	color: var(--bk-ink);
}
.pkp_structure_page .ahsas-book *,
.pkp_structure_page .ahsas-book *::before,
.pkp_structure_page .ahsas-book *::after { box-sizing: border-box; }
/* ---- toolbar ------------------------------------------------------------ */
.pkp_structure_page .ahsas-book__bar {
	position: sticky; top: 0; z-index: 30;
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px;
	padding: 8px 12px;
	background: var(--bk-deep); color: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(15, 36, 56, .25);
}
.pkp_structure_page .ahsas-book .bk-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-width: 44px; min-height: 44px; padding: 0 12px;
	background: transparent; color: #fff;
	border: 2px solid rgba(214, 222, 232, .55); border-radius: 6px;
	font: 600 15px/1.2 var(--bk-sans); text-decoration: none; cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.pkp_structure_page .bk-btn svg { flex: none; }
.pkp_structure_page .ahsas-book .bk-btn:hover,
.pkp_structure_page .ahsas-book .bk-btn:focus-visible { background: var(--bk-gold); border-color: var(--bk-gold); color: var(--bk-deep); text-decoration: none; }
.pkp_structure_page .bk-btn:focus-visible,
.pkp_structure_page .ahsas-book__bar select:focus-visible { outline: 3px solid var(--bk-gold); outline-offset: 2px; }
.pkp_structure_page .bk-btn[disabled],
.pkp_structure_page .bk-btn.is-disabled { opacity: .5; cursor: not-allowed; }
.pkp_structure_page .ahsas-book .bk-btn[disabled]:hover,
.pkp_structure_page .ahsas-book .bk-btn.is-disabled:hover { background: transparent; border-color: rgba(214, 222, 232, .55); color: #fff; }
.pkp_structure_page .bk-btn--icon .bk-btn__text { display: none; }
.pkp_structure_page .bk-btn--list .bk-btn__text { display: inline; }
.pkp_structure_page .bk-nav { display: flex; align-items: center; gap: 6px; flex: 0 1 auto; }
.pkp_structure_page .bk-pageinfo { min-width: 9.5em; padding: 0 6px; text-align: center; font: 600 15px/1.2 var(--bk-sans); font-variant-numeric: tabular-nums; color: #fff; }
.pkp_structure_page .bk-goto { display: flex; align-items: center; gap: 8px; flex: 1 1 220px; min-width: 0; }
.pkp_structure_page .bk-goto label { flex: none; font: 600 14px/1.2 var(--bk-sans); color: var(--bk-mist); }
.pkp_structure_page .bk-goto select {
	flex: 1 1 auto; min-width: 0; max-width: 460px; height: 44px; padding: 0 10px;
	background: #fff; color: var(--bk-ink);
	border: 2px solid var(--bk-mist); border-radius: 6px; font: 500 15px/1.2 var(--bk-sans);
}
.pkp_structure_page .bk-tools { display: flex; align-items: center; gap: 8px; margin-left: auto; }
/* ---- stage -------------------------------------------------------------- */
.pkp_structure_page .ahsas-book__stage {
	position: relative; display: flex; justify-content: center; align-items: flex-start;
	min-height: 480px; margin-top: 12px; padding: 12px 8px 20px;
	background: #E9E5DA; border-radius: 10px; overflow-x: clip;
}
.pkp_structure_page .ahsas-book__flip { width: 100%; margin: 0 auto; }
.pkp_structure_page .ahsas-book__flip:empty { aspect-ratio: 1100 / 778; background: rgba(255, 255, 255, .55); border-radius: 4px; }
.pkp_structure_page .ahsas-book .stf__wrapper { transition: transform .5s ease; }
.pkp_structure_page .ahsas-book.is-reduced .stf__wrapper { transition: none; }
@media (prefers-reduced-motion: reduce) { .ahsas-book .stf__wrapper { transition: none; } }
.pkp_structure_page .ahsas-book__nojs { margin: 12px 0 0; }
.pkp_structure_page .ahsas-book__fail { padding: 24px; text-align: center; font-size: 16px; }
.pkp_structure_page .ahsas-book__live,
.pkp_structure_page .bk-sr {
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.pkp_structure_page .ahsas-book__measure { position: absolute; left: -10000px; top: 0; visibility: hidden; pointer-events: none; }
/* ---- pages -------------------------------------------------------------- */
.pkp_structure_page .bk-page {
	background: #fff; color: var(--bk-ink); overflow: hidden;
	font-family: var(--bk-sans); font-size: calc(var(--bk-u) * 3); line-height: 1.35;
}
.pkp_structure_page .bk-page::after { content: ""; position: absolute; top: 0; bottom: 0; width: 7%; pointer-events: none; z-index: 5; }
.pkp_structure_page .bk-page.--left::after { right: 0; background: linear-gradient(to left, rgba(15, 36, 56, .16), rgba(15, 36, 56, 0)); }
.pkp_structure_page .bk-page.--right::after { left: 0; background: linear-gradient(to right, rgba(15, 36, 56, .16), rgba(15, 36, 56, 0)); }
.pkp_structure_page .bk-page.bk-cover::after,
.pkp_structure_page .bk-page.bk-back::after { display: none; }
.pkp_structure_page .bk-page__inner { position: absolute; inset: 0; padding: calc(var(--bk-u) * 6.5) calc(var(--bk-u) * 7) calc(var(--bk-u) * 10); overflow: hidden; }
.pkp_structure_page .ahsas-book__measure .bk-page { position: relative; width: calc(var(--bk-u) * 100); height: calc(var(--bk-u) * 141.5); }
.pkp_structure_page .bk-pn { position: absolute; bottom: calc(var(--bk-u) * 4); font: 600 calc(var(--bk-u) * 2.8)/1 var(--bk-sans); font-variant-numeric: tabular-nums; color: var(--bk-slate); }
.pkp_structure_page .bk-page.--left .bk-pn { left: calc(var(--bk-u) * 7); }
.pkp_structure_page .bk-page.--right .bk-pn { right: calc(var(--bk-u) * 7); }
/* cover (issue image, or typographic) */
.pkp_structure_page .bk-cover .bk-page__inner,
.pkp_structure_page .bk-back .bk-page__inner { padding: 0; }
.pkp_structure_page .bk-cover__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pkp_structure_page .bk-cover__type,
.pkp_structure_page .bk-back .bk-page__inner {
	background: radial-gradient(120% 90% at 20% 0%, #1d4166 0%, var(--bk-navy) 38%, var(--bk-deep) 100%);
	color: #fff;
}
.pkp_structure_page .bk-cover__type {
	position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between;
	padding: calc(var(--bk-u) * 9) calc(var(--bk-u) * 9) calc(var(--bk-u) * 8);
}
.pkp_structure_page .bk-cover__type::before {
	content: ""; position: absolute; inset: calc(var(--bk-u) * 3.2); border: calc(var(--bk-u) * .35) solid rgba(242, 196, 109, .75); border-radius: calc(var(--bk-u) * .8); pointer-events: none;
}
.pkp_structure_page .bk-cover__top { display: flex; align-items: center; gap: calc(var(--bk-u) * 3); flex: none; }
.pkp_structure_page .bk-cover__logo,
.pkp_structure_page .bk-back__logo { box-sizing: content-box; flex: none; height: auto; padding: calc(var(--bk-u) * 1.3) calc(var(--bk-u) * 1.6); background: var(--bk-paper); border-radius: calc(var(--bk-u) * 1.4); }
.pkp_structure_page .bk-cover__logo { width: calc(var(--bk-u) * 12); }
.pkp_structure_page .bk-cover__kicker { font: 600 calc(var(--bk-u) * 2.5)/1.3 var(--bk-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--bk-gold); }
.pkp_structure_page .bk-cover__abbr,
.pkp_structure_page .bk-back__abbr { margin: 0; font: 700 calc(var(--bk-u) * 17)/1 var(--bk-serif); letter-spacing: .02em; color: #fff; }
.pkp_structure_page .bk-cover__rule { display: block; width: calc(var(--bk-u) * 16); height: calc(var(--bk-u) * .9); margin: calc(var(--bk-u) * 4) 0; background: var(--bk-ochre); border-radius: 2px; }
.pkp_structure_page .bk-cover__name { margin: 0; max-width: 90%; font: 600 calc(var(--bk-u) * 5)/1.25 var(--bk-serif); color: var(--bk-mist); }
.pkp_structure_page .bk-cover__issue { display: flex; flex-direction: column; gap: calc(var(--bk-u) * 1.5); }
.pkp_structure_page .bk-cover__vol { font: 600 calc(var(--bk-u) * 6.4)/1.1 var(--bk-serif); color: var(--bk-gold); }
.pkp_structure_page .bk-cover__year { font: 700 calc(var(--bk-u) * 12)/1 var(--bk-serif); color: #fff; }
.pkp_structure_page .bk-cover__issn { margin: 0; font: 500 calc(var(--bk-u) * 2.9)/1.3 var(--bk-sans); letter-spacing: .06em; color: var(--bk-mist); }
/* back cover */
.pkp_structure_page .bk-back .bk-page__inner {
	display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
	padding: calc(var(--bk-u) * 8); gap: calc(var(--bk-u) * 1);
}
.pkp_structure_page .bk-back__logo { width: calc(var(--bk-u) * 15); margin-bottom: calc(var(--bk-u) * 2); }
.pkp_structure_page .bk-back .bk-page__inner > * { flex: none; }
.pkp_structure_page .bk-back__abbr { font-size: calc(var(--bk-u) * 10); }
.pkp_structure_page .bk-back__name { margin: 0; max-width: 85%; font: 600 calc(var(--bk-u) * 3.8)/1.3 var(--bk-serif); color: var(--bk-mist); }
.pkp_structure_page .bk-back__line { margin: 0; font: 500 calc(var(--bk-u) * 3.1)/1.4 var(--bk-sans); color: var(--bk-mist); }
.pkp_structure_page .bk-back__pub { max-width: 80%; margin-top: calc(var(--bk-u) * 2); }
.pkp_structure_page .bk-back .bk-cover__rule { margin: calc(var(--bk-u) * 2) 0; }
.pkp_structure_page .bk-back__links { margin: calc(var(--bk-u) * 3) 0 0; display: flex; flex-direction: column; align-items: center; gap: calc(var(--bk-u) * .8); }
.pkp_structure_page .bk-back__label { font: 600 calc(var(--bk-u) * 2.6)/1.2 var(--bk-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--bk-gold); }
.pkp_structure_page .ahsas-book .bk-back__link { font: 600 calc(var(--bk-u) * 3.4)/1.3 var(--bk-sans); color: #fff; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.pkp_structure_page .ahsas-book .bk-back__btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 22px;
	background: var(--bk-gold); color: var(--bk-deep); border-radius: 6px; font: 700 15px/1.2 var(--bk-sans); text-decoration: none;
}
.pkp_structure_page .ahsas-book .bk-back__btn:hover { background: #fff; }
.pkp_structure_page .bk-back a:focus-visible { outline: 3px solid var(--bk-gold); outline-offset: 3px; }
/* contents */
.pkp_structure_page .bk-contents__title { margin: 0; font: 700 calc(var(--bk-u) * 6)/1.15 var(--bk-serif); color: var(--bk-navy); }
.pkp_structure_page .bk-contents__title::after { content: ""; display: block; width: calc(var(--bk-u) * 9); height: calc(var(--bk-u) * .6); margin-top: calc(var(--bk-u) * 1.6); background: var(--bk-ochre); border-radius: 2px; }
.pkp_structure_page .bk-contents__sub { margin: calc(var(--bk-u) * 1.6) 0 calc(var(--bk-u) * 1); font: 500 calc(var(--bk-u) * 2.9)/1.3 var(--bk-sans); color: var(--bk-slate); }
.pkp_structure_page .bk-toc { margin: calc(var(--bk-u) * 2) 0 0; padding: 0; list-style: none; }
.pkp_structure_page .bk-toc__sec { margin: calc(var(--bk-u) * 2.4) 0 calc(var(--bk-u) * .6); }
.pkp_structure_page .bk-toc__sectitle { margin: 0; display: flex; align-items: center; gap: calc(var(--bk-u) * 1.6); font: 600 calc(var(--bk-u) * 3.3)/1.2 var(--bk-serif); color: var(--bk-navy); }
.pkp_structure_page .bk-toc__sectitle::before { content: ""; flex: none; width: calc(var(--bk-u) * 1.7); height: calc(var(--bk-u) * 1.7); border-radius: 50%; background: var(--bk-dot, #3FB8A8); }
.pkp_structure_page .bk-toc__sec[data-c="1"] { --bk-dot: #F2C46D; }
.pkp_structure_page .bk-toc__sec[data-c="2"] { --bk-dot: #6FA8DC; }
.pkp_structure_page .bk-toc__sec[data-c="3"] { --bk-dot: #E8735A; }
.pkp_structure_page .bk-toc__sec[data-c="4"] { --bk-dot: #A58AD8; }
.pkp_structure_page .bk-toc__sec[data-c="5"] { --bk-dot: #9CCB6A; }
.pkp_structure_page .bk-toc__btn {
	display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: calc(var(--bk-u) * 2);
	width: 100%; margin: 0; padding: calc(var(--bk-u) * 1.1) calc(var(--bk-u) * .6); text-align: left;
	background: transparent; color: var(--bk-ink); border: 0; border-bottom: 1px solid var(--bk-line); border-radius: 0; cursor: pointer; font: inherit;
}
.pkp_structure_page .bk-toc__btn:hover { background: var(--bk-paper); }
.pkp_structure_page .bk-toc__btn:focus-visible { outline: 3px solid var(--bk-ochre-text); outline-offset: -3px; background: var(--bk-paper); }
.pkp_structure_page .bk-toc__main { display: flex; flex-direction: column; gap: calc(var(--bk-u) * .4); min-width: 0; }
.pkp_structure_page .bk-toc__title { font: 600 calc(var(--bk-u) * 3.05)/1.25 var(--bk-sans); color: var(--bk-ink); overflow-wrap: anywhere; }
.pkp_structure_page .bk-toc__authors { font: 400 calc(var(--bk-u) * 2.55)/1.3 var(--bk-sans); color: var(--bk-slate); }
.pkp_structure_page .bk-toc__page { font: 600 calc(var(--bk-u) * 3)/1.2 var(--bk-sans); font-variant-numeric: tabular-nums; color: var(--bk-navy); white-space: nowrap; }
/* about this book */
.pkp_structure_page .bk-about__logo { width: calc(var(--bk-u) * 14); height: auto; margin-bottom: calc(var(--bk-u) * 3); }
.pkp_structure_page .bk-about__title { margin: 0; font: 700 calc(var(--bk-u) * 5.6)/1.15 var(--bk-serif); color: var(--bk-navy); }
.pkp_structure_page .bk-about__issue { margin: calc(var(--bk-u) * 1.6) 0 0; font: 600 calc(var(--bk-u) * 3.6)/1.3 var(--bk-serif); color: var(--bk-ink); }
.pkp_structure_page .bk-about__count { margin: calc(var(--bk-u) * .6) 0 calc(var(--bk-u) * 3); font: 500 calc(var(--bk-u) * 2.9)/1.3 var(--bk-sans); color: var(--bk-slate); }
.pkp_structure_page .bk-about__h { margin: calc(var(--bk-u) * 3) 0 calc(var(--bk-u) * .8); font: 600 calc(var(--bk-u) * 3.4)/1.25 var(--bk-serif); color: var(--bk-navy); }
.pkp_structure_page .bk-about__p { margin: 0; font: 400 calc(var(--bk-u) * 3)/1.45 var(--bk-sans); color: var(--bk-slate); }
/* blank "notes" page */
.pkp_structure_page .bk-blank .bk-page__inner {
	background-image: repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--bk-u) * 6.4 - 1px), var(--bk-line) calc(var(--bk-u) * 6.4 - 1px), var(--bk-line) calc(var(--bk-u) * 6.4));
	background-position: 0 calc(var(--bk-u) * 12);
}
.pkp_structure_page .bk-blank__label { margin: 0; font: 700 calc(var(--bk-u) * 4.6)/1.2 var(--bk-serif); color: var(--bk-navy); }
/* article pages */
.pkp_structure_page .bk-art .bk-page__inner { padding: 0; background: #fff; }
.pkp_structure_page .bk-art__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #fff; display: none; user-select: none; -webkit-user-drag: none; }
.pkp_structure_page .bk-art.is-ready .bk-art__img { display: block; }
.pkp_structure_page .bk-art.is-ready .bk-art__ph { display: none; }
.pkp_structure_page .bk-art__ph {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--bk-u) * 2);
	padding: calc(var(--bk-u) * 10); text-align: center; background: linear-gradient(180deg, #fff, var(--bk-paper));
}
.pkp_structure_page .bk-art__num { font: 700 calc(var(--bk-u) * 11)/1 var(--bk-serif); color: var(--bk-navy); }
.pkp_structure_page .bk-art__phtitle { font: 600 calc(var(--bk-u) * 3.2)/1.3 var(--bk-serif); color: var(--bk-slate); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.pkp_structure_page .bk-art__state { font: 500 calc(var(--bk-u) * 2.8)/1.3 var(--bk-sans); color: var(--bk-slate); }
.pkp_structure_page .bk-art__retry {
	min-height: 44px; padding: 0 18px; background: var(--bk-navy); color: #fff; border: 2px solid var(--bk-navy); border-radius: 6px; font: 600 15px/1.2 var(--bk-sans); cursor: pointer;
}
.pkp_structure_page .bk-art__retry[hidden] { display: none; }
.pkp_structure_page .ahsas-book .bk-art__open {
	position: absolute; top: 8px; right: 8px; z-index: 6; display: inline-flex; align-items: center; gap: 6px;
	min-height: 28px; padding: 4px 10px; background: rgba(15, 36, 56, .92); color: #fff;
	border-radius: 14px; font: 600 12px/1.2 var(--bk-sans); text-decoration: none; opacity: .92;
}
.pkp_structure_page .ahsas-book .bk-art__open:hover,
.pkp_structure_page .ahsas-book .bk-art__open:focus-visible { background: var(--bk-gold); color: var(--bk-deep); opacity: 1; }
.pkp_structure_page .ahsas-book .bk-art__open:focus-visible { outline: 3px solid var(--bk-ochre-text); outline-offset: 2px; }
/* ---- full screen -------------------------------------------------------- */
.pkp_structure_page .ahsas-book.is-fullscreen,
.pkp_structure_page .ahsas-book:fullscreen {
	display: flex; flex-direction: column; padding: 8px 12px 12px; margin: 0; overflow: auto; background: var(--bk-deep);
}
.pkp_structure_page .ahsas-book.is-fullscreen .ahsas-book__bar { position: static; box-shadow: none; }
.pkp_structure_page .ahsas-book.is-fullscreen .ahsas-book__stage { flex: 1 1 auto; min-height: 0; }
/* ---- wider screens: labels on the main tools ---------------------------- */
@media (min-width: 1440px) {

.pkp_structure_page .bk-btn--tool .bk-btn__text { display: inline; }
.pkp_structure_page .bk-btn--tool { padding: 0 14px; }
}
@media (max-width: 767px) {

.pkp_structure_page .ahsas-book__bar { gap: 8px; padding: 8px; }
.pkp_structure_page .bk-btn--list { flex: 1 1 100%; justify-content: flex-start; }
.pkp_structure_page .bk-nav { flex: 1 1 100%; justify-content: space-between; }
.pkp_structure_page .bk-pageinfo { flex: 1; }
.pkp_structure_page .bk-goto { flex: 1 1 0; }
.pkp_structure_page .bk-goto label { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pkp_structure_page .ahsas-book__stage { padding: 8px 4px 16px; min-height: 420px; }
}
