/**
 * plugins/themes/actaTheme/styles/actaInner.css
 *
 * Shared shell for the redesigned INNER pages (Archive, Issue, Article,
 * Search, Static, Contact) — same design system as the home page
 * (actaHome.css): variables, header bands, 8fr/4fr grid, article-row
 * component, sidebar, footer. Generated from actaHome.css's shell sections
 * with the selector prefix body.acta_v2 -> body.acta_v2, so the
 * values are exactly the ones already verified on the home page.
 *
 * Loaded only by ActaThemePlugin::actaInnerPageAssets() (TemplateManager::
 * display hook) on those pages, with ?v=<filemtime>. Page-specific rules live
 * in acta<Kind>.css next to it. acta.css is NOT edited (7-day cache).
 */

:root {
	--accent-deep: #006b08;
	--accent: #00870a;
	--ink: #333332;
	--paper: #FFFFFE;
	--rule: #E6E1DC;
	--muted: #706A62;
	--faint: #9C9690;
}

body.acta_v2 {
	--acta-sans: 'IBM Plex Sans', system-ui, sans-serif;
	--acta-serif: 'Source Serif 4', serif;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--acta-sans);
	font-size: 14px;
}

body.acta_v2 .acta_page {
	--acta-gutter: max(40px, calc((100% - 1100px) / 2));
	max-width: none;
	background: transparent;
	box-shadow: none;
	font-family: var(--acta-sans);
	/* The mockup never sets a line-height (=> "normal"); the parent theme
	   gives body a fixed ~20px, which every unstyled line inherited. */
	line-height: normal;
}

@media (max-width: 720px) {
	body.acta_v2 .acta_page {
		--acta-gutter: 20px;
	}
}

/* ---------- Header bands ---------- */
body.acta_v2 .acta_topstrip {
	display: none;
}

body.acta_v2 .acta_toprow {
	background: transparent;
	padding: 10px var(--acta-gutter);
	font-size: 12px;
	color: var(--muted);
	border-bottom: 1px solid var(--rule);
}

body.acta_v2 .acta_toprow_title,
body.acta_v2 .acta_toprow_link,
body.acta_v2 .acta_toprow_actions .acta_user_nav a {
	font-size: 12px;
	color: var(--muted);
}

body.acta_v2 .acta_toprow_actions .acta_user_nav a {
	margin-left: 0;
	padding: 0;
}

body.acta_v2 .acta_navrow {
	background: var(--accent-deep);
}

/* Banner: gradient + centred Universitas Padjadjaran logo (header.tpl
   renders the <img> on the home page only). */
body.acta_v2 .acta_banner {
	position: relative;
	height: auto;
	min-height: 130px;
	overflow: visible;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(115deg, #001e02 0%, #001e02 38%, var(--accent-deep) 68%, var(--accent) 100%);
}

body.acta_v2 .acta_brand_logo {
	/* 50px tall; width follows the file's own ratio (244x53) — never stretched */
	height: 50px;
	width: auto;
	display: block;
}

body.acta_v2 .acta_accent {
	background: var(--accent-deep);
	color: #e8f2e9;
	padding: 9px var(--acta-gutter);
	font-size: 12px;
}

body.acta_v2 .cmp_breadcrumbs {
	padding: 12px var(--acta-gutter);
	font-size: 12px;
	color: var(--muted);
	border-bottom: 0;
}

/* Desktop nav (≥821px). The ≤820px hamburger layout above is left as it
   was, so these link paddings are not applied there. */
@media (min-width: 821px) {
	body.acta_v2 .acta_navrow {
		padding: 0 var(--acta-gutter);
	}

	body.acta_v2 .acta_navrow .acta_primary_nav > li > a {
		color: #e8f2e9;
		font-size: 13px;
		font-weight: 500;
		padding: 14px 18px;
		gap: 0;
	}

	body.acta_v2 .acta_navrow .acta_primary_nav > li > a:hover,
	body.acta_v2 .acta_navrow .acta_primary_nav > li > a:focus {
		background: rgba(255, 255, 255, .08);
		color: #e8f2e9;
	}

	body.acta_v2 .acta_navrow > .acta_search_link {
		color: #e8f2e9;
		font-size: 13px;
		padding: 14px 0;
		gap: 6px;
	}

	body.acta_v2 .acta_navrow > .acta_search_link:hover,
	body.acta_v2 .acta_navrow > .acta_search_link:focus {
		background: transparent;
		color: #e8f2e9;
	}

	body.acta_v2 .acta_navrow > .acta_search_link .fa-search {
		font-size: 14px;
		margin-right: 5px;
	}
}

/* ---------- Two-column grid (8fr / 4fr) ---------- */
body.acta_v2 .pkp_structure_content.has_sidebar {
	grid-template-columns: 8fr 4fr;
	column-gap: 44px;
	row-gap: 0;
	padding: 8px var(--acta-gutter) 60px;
}

@media (max-width: 900px) {
	body.acta_v2 .pkp_structure_content.has_sidebar {
		grid-template-columns: 1fr;
		column-gap: 0;
	}

	body.acta_v2 .pkp_structure_content.has_sidebar .pkp_structure_main {
		grid-column: 1;
		grid-row: 1;
	}

	body.acta_v2 .pkp_structure_content.has_sidebar .pkp_structure_sidebar {
		grid-column: 1;
		grid-row: 2;
	}
}

/* ---------- Main column ---------- */
body.acta_v2 .pkp_structure_main {
	font-family: var(--acta-sans);
	font-size: 14px;
	color: var(--ink);
}

/* Parent theme's issue_toc.less: .sections gets a 60px top margin (that
   collapses with the heading's own 30px into a 60px gap) and every article
   <li> a 30px bottom margin — neither exists in the mockup's flat list. */
body.acta_v2 .obj_issue_toc .sections {
	margin-top: 0;
}

body.acta_v2 .obj_issue_toc .cmp_article_list > li {
	margin: 0;
}

/* Article rows */
body.acta_v2 .obj_article_summary.acta_article {
	padding: 20px 0;
	border-bottom: 1px solid var(--rule);
}

body.acta_v2 .cmp_article_list > li:last-child .obj_article_summary.acta_article {
	border-bottom: 0;
}

/* the title's own 6px bottom margin (mockup .title mb 6) — the parent's
   ".obj_article_summary .title" zeroes it and is more specific than
   acta.css's ".title.acta_article_title" */
body.acta_v2 .obj_article_summary .title.acta_article_title {
	margin: 0 0 6px;
}

body.acta_v2 .acta_article_title a {
	font-family: var(--acta-serif);
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ink);
	text-decoration: none;
	display: block;
}

body.acta_v2 .acta_article_title a:hover {
	color: var(--accent);
	text-decoration: none;
}

body.acta_v2 p.acta_article_doi {
	font-size: 11.5px;
	line-height: normal;
	color: var(--faint);
	margin: 0 0 8px;
}

/* DOI logo (theme asset styles/images/doi-logo.webp) replaces the generic
   fingerprint glyph. Done as a background on the existing <i> so the shared
   article_summary.tpl markup — also used on other pages — is unchanged. */
body.acta_v2 p.acta_article_doi i {
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 4px;
	vertical-align: -2px;
	font-size: 0;
	background: url("images/doi-logo.webp") center / contain no-repeat;
}

body.acta_v2 p.acta_article_doi i::before {
	content: none;
	display: none;
}

body.acta_v2 p.acta_article_authors {
	font-size: 13px;
	line-height: normal;
	color: var(--muted);
	margin: 0 0 10px;
}

body.acta_v2 .acta_article_foot {
	gap: 14px;
	font-size: 12.5px;
	line-height: normal;
	color: var(--muted);
	align-items: center;
}

body.acta_v2 .acta_article_foot .acta_pages,
body.acta_v2 .acta_article_foot .acta_downloads {
	line-height: normal;
}

body.acta_v2 .obj_galley_link.pdf {
	border: 1px solid var(--accent-deep);
	border-radius: 0;
	color: var(--accent-deep);
	padding: 3px 10px;
	font-size: 12px;
	font-weight: 600;
	line-height: normal;
	gap: 5px;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	background: transparent;
}

body.acta_v2 .obj_galley_link.pdf::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f019"; /* fa-download */
	font-size: 12px;
	width: 14px;
	margin-right: 3px;
	text-align: center;
}

body.acta_v2 .obj_galley_link.pdf:hover {
	background: var(--accent-deep);
	color: #fff;
	text-decoration: none;
}

body.acta_v2 .acta_downloads {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: 12.5px;
	color: var(--muted);
}

body.acta_v2 .acta_downloads i {
	color: inherit;
	font-size: 12px;
	width: 14px;
	text-align: center;
}

body.acta_v2 .acta_view_all_issues {
	display: inline-block;
	margin-top: 24px;
	font-size: 13px;
	font-weight: 600;
	color: var(--accent);
}

/* ---------- Sidebar ----------
   Shorthand used in the selectors below: SB =
   body.acta_v2 .pkp_structure_sidebar.acta_sidebar   */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar .acta_make_submission {
	padding: 12px;
	font-size: 13px;
	font-weight: 600;
	border-radius: 0;
	background: var(--accent-deep);
	margin-bottom: 28px;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar .acta_make_submission:hover {
	background: var(--accent);
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar .acta_make_submission i {
	margin-right: 6px;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar .pkp_block,
body.acta_v2 .pkp_structure_sidebar.acta_sidebar .acta_side_block {
	margin-bottom: 28px;
	line-height: normal;
}

/* link labels are <a><span class="title">: the parent's ".pkp_block .title"
   line-height would otherwise re-inflate every link row */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar a .title {
	line-height: inherit;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar .pkp_block:last-child,
body.acta_v2 .pkp_structure_sidebar.acta_sidebar .acta_side_block:last-child {
	margin-bottom: 0;
}

/* Custom-block content sits inside its OWN nested div.block_information
   (a wrapper the blocks' HTML brings along) — that nested div must not get
   the outer block's margin. */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar .block_custom .block_information {
	margin: 0;
	padding: 0;
}

/* Section headings: Source Serif 4, 14.5px / 600 (mockup .side-block h3). */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar .pkp_block > h2.title:not(.pkp_screen_reader),
body.acta_v2 .pkp_structure_sidebar.acta_sidebar .block_information > span.title:first-child,
body.acta_v2 .pkp_structure_sidebar.acta_sidebar .acta_side_h {
	font-family: var(--acta-serif);
	font-size: 14.5px;
	font-weight: 600;
	line-height: normal;
	color: var(--ink);
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--rule);
	display: block;
}

/* Editorial Team preview */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar .content p.acta_editor_text {
	font-size: 13px;
	line-height: normal;
	color: var(--ink);
	margin: 0 0 12px;
}

/* "!important": footer.tpl gives the 2nd person an inline margin-top:6px
   (fine on the other pages, not in this mockup). */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar .content p.acta_editor_text + p.acta_editor_text {
	margin-top: 0 !important;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar .acta_editor_text b {
	font-weight: 600;
}

/* display:block so the 12px role line is sized by its own font, not by the
   13px strut of the surrounding <p> (mockup .r is a block div). */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar .acta_editor_role {
	display: block;
	font-size: 12px;
	line-height: normal;
	color: var(--muted);
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar .acta_editorial_preview .content > a {
	font-size: 13px;
	font-weight: 600;
}

/* Language + "For Authors" block read as ONE section (mockup: a single
   "Language" side-block holding English + all the author links): drop the
   Language block's bottom margin so nothing separates them. */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar .block_language {
	margin-bottom: 0;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar .block_language .content ul {
	margin: 0;
	padding: 0;
}

/* the parent gives each <li> 5px vertical padding + a fixed 20px line-height */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar .block_language li {
	padding: 0;
	line-height: normal;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar .block_language li a {
	display: block;
	font-size: 13px;
}

/* "For Authors" block (#customblock-sidebarmenu). Markup is one flat run:
     a×5 (links) · span.title "Originality Statement" · a (Plagiarism Check)
     · span.title "Indexing Site" · a>img ×7 (logos)
   with a stray &nbsp; between Author Guidelines and Manuscript Template.
   - font-size/line-height:0 on the wrapper collapses that &nbsp; (it becomes
     an anonymous flex item) to a 0×0 box; every real child sets its own size.
   - Spacing is explicit margins, never the &nbsp;: 22px before each link
     group (the mockup's .gap-before), 8px between links inside a group. */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-sidebarmenu .block_information {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	column-gap: 10px;
	row-gap: 0;
	font-size: 0;
	line-height: 0;
	margin-bottom: -10px;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-sidebarmenu .block_information > a:not(:has(img)) {
	flex: 0 0 100%;
	margin-top: 8px;
	padding: 0;
	font-size: 13px;
	line-height: normal;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-sidebarmenu .block_information > a:first-child,
body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-sidebarmenu .block_information > a[title="Manuscript Template"] {
	margin-top: 22px;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-sidebarmenu .block_information > span.title {
	flex: 0 0 100%;
	font-family: var(--acta-serif);
	font-size: 14.5px;
	font-weight: 600;
	line-height: normal;
	color: var(--ink);
	margin: 28px 0 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--rule);
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-sidebarmenu .block_information > span.title + a:not(:has(img)) {
	margin-top: 0;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-sidebarmenu .block_information > a:has(img) {
	flex: 0 0 calc(50% - 5px);
	height: 34px;
	margin: 0 0 10px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-sidebarmenu .block_information > a:has(img) img {
	height: 34px;
	width: auto;
	max-width: 100%;
	max-height: none;
	margin: 0;
	display: block;
}

/* ISSN: barcodes side by side (aspect ratio kept — the mockup's 90x44
   placeholder is not the real 124x84 barcode's ratio), labels underneath. */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-issn .content p:has(> a > img) {
	display: flex;
	gap: 14px;
	align-items: flex-end;
	margin: 0 0 8px;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-issn .content p:has(> a > img) img {
	width: 90px;
	height: auto;
	margin: 0;
	display: block;
}

/* Labels: font-size:0 collapses the &nbsp; run between the two links to a
   zero-width flex item, so the 20px gap comes from the explicit margin. */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-issn .content p:has(> a[title="PISSN"]) {
	display: flex;
	font-size: 0;
	line-height: 0;
	margin: 0;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-issn .content p:has(> a[title="PISSN"]) a {
	font-size: 12px;
	font-weight: 600;
	line-height: normal;
	color: var(--ink);
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-issn .content p:has(> a[title="PISSN"]) a + a {
	margin-left: 20px;
}

/* Google Scholar table */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar #gsc_rsb_st {
	font-size: 12.5px;
	color: var(--ink);
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #gsc_rsb_st th,
body.acta_v2 .pkp_structure_sidebar.acta_sidebar #gsc_rsb_st td {
	padding: 5px 0;
	text-align: right;
	border-bottom: 0;
	border-top: 1px solid var(--rule);
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #gsc_rsb_st th {
	font-weight: 600;
	color: var(--muted);
	padding: 0 0 6px;
	border-top: 0;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #gsc_rsb_st th:first-child,
body.acta_v2 .pkp_structure_sidebar.acta_sidebar #gsc_rsb_st td:first-child {
	text-align: left;
	font-weight: 500;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #gsc_rsb_st a.gsc_rsb_f {
	color: inherit;
	font-size: inherit;
	cursor: default;
}

/* Nationally Accredited: the certificate scan is shown at the mockup's
   282px. The SINTA badge below it (.j-meta-img) is HIDDEN with display:none —
   the <img> stays in the DOM and is still requested, nothing in the block's
   data is touched. Why hidden although the corrected mockup shows it: its
   URL is https://sinta.kemdikbud.go.id/badge/journal?id=4206 and that host no
   longer resolves in DNS (SINTA moved to sinta.kemdiktisaintek.go.id), so for
   every visitor it renders as a broken-image box. To show it again: delete
   the .j-meta-img rule below AFTER pointing the block's <img> at a working
   host (Custom Block Manager -> block "idexingsite"). */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-idexingsite .content p {
	margin: 0;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-idexingsite .content a {
	display: block;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-idexingsite .content img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* width: the parent's base "img{width:auto}" beats the width="282" attribute
   the mockup renders the certificate at; pin it (still capped by max-width). */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-idexingsite .content p img {
	width: 282px;
	border: 1px solid var(--rule);
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-idexingsite .j-meta-img {
	display: none;
}

/* Visitor: ClustrMaps map hidden (display:none — the <img> stays in the
   DOM, so the browser still requests it and the counter still runs).
   StatCounter row = logo + "Web Analytics" + "Visitor"; the block's real
   <img> there is the invisible tracking pixel, so it stays in the DOM (still
   loaded) but is reduced to 1px/transparent, and the logo/label are drawn
   with ::before/::after on the same link. */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-visitor .content p:has(> a[title="Visit tracker"]) {
	display: none;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-visitor .content p:has(> a[title="Web Analytics"]) {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	font-size: 12.5px;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-visitor a[title="Web Analytics"] {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-size: 12.5px;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-visitor a[title="Web Analytics"]::before {
	content: "";
	display: block;
	width: 60px;
	height: 24px;
	background: url("images/statcounter-logo.webp") center / contain no-repeat;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-visitor a[title="Web Analytics"]::after {
	content: "Web Analytics";
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar #customblock-visitor a[title="Web Analytics"] img {
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
}

/* The earlier chart icon on the "Visitor" link is superseded by the logo. */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar a[href^="https://statcounter.com/p"]::before {
	content: none;
}

/* Archive by Year */
body.acta_v2 .pkp_structure_sidebar.acta_sidebar .acta_archive_list {
	font-size: 12.5px;
	line-height: 2;
	color: var(--faint);
	margin: 0;
}

body.acta_v2 .pkp_structure_sidebar.acta_sidebar .acta_archive_list a {
	font-size: 12.5px;
}

/* ---------- Footer band ---------- */
body.acta_v2 .pkp_structure_footer {
	background: var(--accent-deep);
	color: #e8f2e9;
	padding: 26px var(--acta-gutter);
	font-size: 12.5px;
}

body.acta_v2 .pkp_structure_footer .pkp_footer_content .row {
	align-items: flex-start;
	gap: 24px;
}

body.acta_v2 .pkp_structure_footer .pkp_footer_content,
body.acta_v2 .pkp_structure_footer .pkp_footer_content address,
body.acta_v2 .pkp_structure_footer .pkp_footer_content a,
body.acta_v2 .pkp_structure_footer .pkp_footer_content div {
	color: #e8f2e9;
	font-size: 12.5px;
}

body.acta_v2 .pkp_structure_footer .pkp_footer_content h4 {
	display: flex;
	align-items: center;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .3px;
	text-transform: uppercase;
	color: #d6e7d7;
	margin: 0 0 8px;
}

/* The pasted footer HTML uses Font Awesome 4 classes (fa-envelope-o /
   fa-user-o) that FA6 doesn't have; swap in the mockup's pin / mail icons. */
body.acta_v2 .pkp_structure_footer .pkp_footer_content h4 em {
	display: none;
}

body.acta_v2 .pkp_structure_footer .pkp_footer_content h4::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 12px;
	margin-right: 5px;
	content: "\f3c5"; /* fa-location-dot */
}

body.acta_v2 .pkp_structure_footer .pkp_footer_content .contact_detail h4::before {
	content: "\f0e0"; /* fa-envelope */
}

/* =====================================================================
   INNER-PAGE COMPONENTS shared by every redesigned page
   (theme-dev/acta-*-mockup.html: .page-head / h1.page-title / .crumb)
   ===================================================================== */

/* Page title: Source Serif 4, 28px / 600, hairline underneath.
   ".page > h1" = the page's own title (not the article-detail h1, which
   sits inside <article>). Beats acta.css's h1.acta_page_title (Merriweather,
   maroon, 2px underline) and the parent's ".pkp_structure_main h1". */
body.acta_v2 .pkp_structure_main .page > h1 {
	font-family: var(--acta-serif);
	font-size: 28px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--ink);
	margin: 0;
	padding: 14px 0 16px;
	border-bottom: 1px solid var(--rule);
	background: none;
}

/* An empty title (the live /about page has none) must not draw a lone rule. */
body.acta_v2 .pkp_structure_main .page > h1:empty {
	display: none;
}

/* Section headings inside a page: same as home's .section-title (19px serif). */
body.acta_v2 .pkp_structure_main .page h2.acta_h {
	font-family: var(--acta-serif);
	font-size: 19px;
	font-weight: 600;
	line-height: normal;
	color: var(--ink);
	margin: 30px 0 16px;
	border: 0;
	padding: 0;
	display: block;
}

/* Breadcrumb: links muted, separators faint (mockup .crumb a / .sep). */
/* the parent sizes breadcrumb links at .93rem / 20px line-height; the mockup
   crumb is 12px, line-height normal (same as home's bar) */
body.acta_v2 .cmp_breadcrumbs,
body.acta_v2 .cmp_breadcrumbs ol,
body.acta_v2 .cmp_breadcrumbs li,
body.acta_v2 .cmp_breadcrumbs a,
body.acta_v2 .cmp_breadcrumbs .separator,
body.acta_v2 .cmp_breadcrumbs span {
	font-size: 12px;
	line-height: normal;
}

body.acta_v2 .cmp_breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.acta_v2 .cmp_breadcrumbs li {
	display: inline;
}

body.acta_v2 .cmp_breadcrumbs a {
	color: var(--muted);
	text-decoration: none;
}

body.acta_v2 .cmp_breadcrumbs a:hover {
	text-decoration: underline;
}

body.acta_v2 .cmp_breadcrumbs .separator {
	margin: 0 6px;
	color: var(--faint);
}

/* Grid items default to min-width:auto, so one unbreakable string (a long
   DOI/URL in the references) or a wide table stretched the 1fr column past
   the phone viewport (article +33px, Author Guidelines +89px). */
body.acta_v2 .pkp_structure_content.has_sidebar > .pkp_structure_main,
body.acta_v2 .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
	min-width: 0;
}

body.acta_v2 .pkp_structure_main {
	overflow-wrap: anywhere;
}

/* ---------- Phones: hamburger in the utility bar ----------
   The parent theme's ".pkp_site_nav_toggle" is position:absolute; top:0;
   left:0; 2.857rem square (z-index 999), which laid the button over the
   journal name at the left of the bar, and its child <span> is drawn as a
   white 3-line icon. Put the button back in the flow, at the right edge next
   to "Login", keep the Font Awesome bars icon, and return the span to a
   plain screen-reader label. */
@media (max-width: 820px) {
	body.acta_v2 .acta_toprow_actions {
		display: flex;
		align-items: center;
		gap: 12px;
	}

	body.acta_v2 .acta_toprow_actions .acta_menu_toggle {
		position: static;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 32px;
		margin: -8px -6px -8px 0;
		padding: 0;
		border: 0;
		box-shadow: none;
		z-index: auto;
		font-size: 18px;
		line-height: 1;
		color: var(--accent-deep);
	}

	body.acta_v2 .acta_toprow_actions .acta_menu_toggle > span {
		position: absolute;
		top: auto;
		left: auto;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		border: 0;
		transform: none;
		text-indent: 0;
	}

	body.acta_v2 .acta_toprow_actions .acta_menu_toggle > span::before,
	body.acta_v2 .acta_toprow_actions .acta_menu_toggle > span::after {
		content: none;
	}
}
