/* Open-access article page (views/article_page.php), layout Step 1, 2026-10-27.
   Colours and fonts from the Gatha Cognition brand kit (reports/brand_kit_2026_10_26). Everything is scoped
   under .gca so the rest of the site (still Bootstrap 3 + style.css) is unaffected. */
.gca, .gcj, .gca-notice, #gca-table-modal {
	--forest: #2f4a3c; --forest-hover: #253b30; --forest-tint: #e4ece7; --rice: #5f6b2b;
	--grain: #e1d18c; --grain-ink: #3a3410; --oa-tint: #f3ead0; --oa-ink: #6b5a14;
	--link: #176f9c; --ink: #404040; --muted: #61655f; --paper: #f7f5ee; --surface: #fff; --line: #e2dccd;
	--serif: "Noto Serif", "Noto Serif Devanagari", Georgia, "Times New Roman", serif;
	--sans: "Noto Sans", "Noto Sans Devanagari", "Helvetica Neue", Arial, sans-serif;
}
.gca {
	display: grid; grid-template-columns: 196px minmax(0, 1fr) 210px; gap: 26px;
	align-items: start; margin: 20px 0 40px; color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.6;
}
.gca a { color: var(--link); }
.gca a:hover, .gca a:focus { color: #0f5378; }
.gca h1, .gca h2, .gca h3 { font-family: var(--serif); color: var(--ink); font-weight: 600; text-wrap: balance; }
.gca-label { font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--rice); margin: 0 0 8px; }
.gca-anchor { display: block; position: relative; top: -16px; visibility: hidden; }
.gca [id] { scroll-margin-top: 16px; }

/* Outline (left) */
.gca-toc { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow: auto; padding-right: 6px; font-size: 14px; }
.gca-toc-list, .gca-toc-list ol { list-style: none; margin: 0; padding: 0; }
.gca-toc-list ol { margin: 2px 0 6px 12px; font-size: 13px; }
.gca-toc-list a { display: block; padding: 4px 8px; border-left: 2px solid transparent; color: var(--muted); text-decoration: none; line-height: 1.35; }
.gca-toc-list a:hover { color: var(--ink); background: var(--forest-tint); }
.gca-toc-list a.is-current { color: var(--forest); border-left-color: var(--forest); font-weight: 600; }
/* collapsible groups: a section with sub-headings, the figure list, the table list */
.gca-toc-row { display: flex; align-items: stretch; }
.gca-toc-row > a, .gca-toc-name { flex: 1; min-width: 0; }
.gca-toc-name { display: block; padding: 4px 8px; border: 0; border-left: 2px solid transparent; background: none; text-align: left; font: inherit; color: var(--muted); line-height: 1.35; cursor: pointer; }
.gca-toc-name:hover { color: var(--ink); background: var(--forest-tint); }
.gca-toc-chev { flex: none; width: 26px; border: 0; background: none; color: var(--muted); cursor: pointer; border-radius: 4px; }
.gca-toc-chev:hover { background: var(--forest-tint); color: var(--forest); }
.gca-toc-chev .fa { font-size: 11px; transition: transform .15s; }
.gca-toc-group.is-open > .gca-toc-row .gca-toc-chev .fa { transform: rotate(180deg); }
.gca-toc-group:not(.is-open) > ol { display: none; }
.gca-toc-group.has-current > .gca-toc-row > a { color: var(--forest); font-weight: 600; }
.gca-toc-ft { margin-top: 6px; border-top: 1px solid var(--line); padding-top: 4px; }
.gca-toc-ft + .gca-toc-ft { margin-top: 0; border-top: 0; padding-top: 0; }
.gca-toc-ft .gca-toc-name { font-weight: 600; color: var(--ink); }
.gca-toc-list li.gca-d2 > a { padding-left: 8px; } .gca-toc-list li.gca-d3 > a { padding-left: 20px; font-size: 12.5px; }
@media (prefers-reduced-motion: reduce) { .gca-toc-chev .fa { transition: none; } }
.gca-toc-mobile { display: none; }

/* Article head */
.gca-main { min-width: 0; overflow-x: hidden; overflow-x: clip; }  /* MathJax's invisible helpers must not widen the page */
.gca-main { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 28px 32px 36px; }  /* long reading sits on white (brand kit) */
.gca-toc { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 14px 8px 14px 12px; }
.gca-source { margin: 0 0 10px; font-size: 14px; color: var(--muted); display: flex; flex-wrap: wrap; gap: 4px 12px; }
.gca-source > a { font-weight: 600; color: var(--forest); }
.gca-chips { margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.gca-chip { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: .04em; padding: 3px 10px; border-radius: 999px; background: var(--forest-tint); color: var(--forest); }
.gca-chip-oa { background: var(--oa-tint); color: var(--oa-ink); }
.gca-chips { align-items: center; }
.gca-crossmark { margin-left: auto; cursor: pointer; line-height: 0; }
.gca-crossmark img { width: 150px; height: auto; }
.gca-title { font-size: 32px; line-height: 1.25; margin: 0 0 16px; }
.gca-authors { list-style: none; padding: 0; margin: 0 0 8px; font-size: 16px; display: flex; flex-wrap: wrap; gap: 2px 0; }
.gca-authors li:not(:last-child)::after { content: ","; margin-right: 8px; }
.gca-authors a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
.gca-authors sup { color: var(--muted); margin-left: 1px; }
.gca-orcid img { vertical-align: -2px; }
.gca-affils { margin: 0 0 6px; padding-left: 20px; font-size: 14px; color: var(--muted); }
.gca-affils li { margin: 1px 0; }
.gca-affils li p { display: inline; margin: 0; }
.gca-corr { font-size: 14px; color: var(--muted); margin: 0 0 10px; }
.gca-meta { font-size: 14px; color: var(--muted); display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0 0 16px; overflow-wrap: anywhere; }
.gca-actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 0 18px; border-bottom: 1px solid var(--line); margin-bottom: 24px; }
.gca-btn {
	display: inline-flex; align-items: center; gap: 7px; font: 600 15px/1.2 var(--sans); padding: 9px 14px; border-radius: 8px;
	border: 1px solid var(--line); background: var(--surface); color: var(--forest) !important; text-decoration: none !important; cursor: pointer;
}
.gca-btn:hover, .gca-btn:focus { border-color: var(--forest); background: var(--forest-tint); }
.gca-btn-primary { background: var(--forest); border-color: var(--forest); color: #fff !important; }
.gca-btn-primary:hover, .gca-btn-primary:focus { background: var(--forest-hover); border-color: var(--forest-hover); color: #fff !important; }
.gca-btn:focus-visible { outline: 2px solid var(--link); outline-offset: 2px; }

/* Front matter */
.gca-front { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; margin: 0 0 28px; }
.gca-front:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
.gca-hl { background: var(--forest-tint); border-radius: 12px; padding: 16px 20px; }
.gca-hl h2, .gca-abstract h2 { font-size: 22px; margin: 0 0 10px; }
.gca-hl ul { margin: 0; padding-left: 20px; font-family: var(--serif); font-size: 16px; line-height: 1.55; }
.gca-hl li { margin: 4px 0; }
.gca-front-stack { grid-template-columns: minmax(0, 1fr); }   /* landscape graphical abstract: below the highlights, full width */
.gca-front-stack .gca-ga img { max-height: 640px; }
.gca-ga { margin: 0; }
.gca-ga img { display: block; width: auto; max-width: 100%; height: auto; max-height: 520px; margin: 0 auto; object-fit: contain; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.gca-ga figcaption { font-size: 13px; color: var(--muted); margin-top: 6px; }
.gca-abstract { margin: 0 0 32px; }
.gca-abstract-text, .gca-abstract-text p { font-family: var(--serif); font-size: 17px; line-height: 1.65; text-align: left !important; }
.gca-kw { margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.gca-kw .gca-label { margin: 0 6px 0 0; }
.gca-kw-item { font-size: 13px; padding: 3px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); }

/* Full text */
.gca-body, .gca-info, .gca-refs { border-top: 1px solid var(--line); padding-top: 8px; }
.gca-sec h2 { font-size: 24px; line-height: 1.3; margin: 40px 0 14px; }
.gca-sec h3 { font-size: 20px; line-height: 1.35; margin: 28px 0 10px; }
.gca-body { font-family: var(--serif); font-size: 18px; line-height: 1.7; }
.gca-body p:not(.gca-table-scroll *), .gca-body li:not(.gca-table-scroll *), .gca-body div:not(.gca-table-scroll *) { text-align: left !important; }  /* table cells keep their own (often centred) alignment */
.gca-body p { margin: 0 0 16px; max-width: 72ch; }
/* long equations scroll on phones; position:relative so MathJax's absolutely placed pieces stay inside the box */
.gca .math-tex, .gca .MathJax_Display { position: relative; display: inline-block; max-width: 100%; overflow-x: auto; overflow-y: hidden; vertical-align: middle; }
.gca .MathJax_Display { display: block; }
.gca-body a { overflow-wrap: anywhere; }
.gca-body img[src^="file:"] { display: none; }  /* old Word clip images that never uploaded */
.gca-fig { margin: 24px 0; text-align: center; }
.gca-fig img { max-width: 100%; height: auto; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.gca-fig figcaption { font-family: var(--sans); font-size: 14px; color: var(--muted); margin-top: 8px; text-align: left; }
/* Tables (2026-10-27): Word saved fixed pixel widths on tables and cells, wider than the reading column, so
   tables were cut off. Widths are ignored and columns wrap to fit; a table that still cannot fit scrolls
   sideways and gets a "View full table" button (script in article_page.php). */
.gca-table { margin: 28px 0; font-family: var(--sans); color: var(--ink); }
.gca-table-cap { font-size: 14px; font-weight: 600; line-height: 1.45; margin: 0 0 8px !important; text-align: left !important; }
.gca-table-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; background: #fff; -webkit-overflow-scrolling: touch; }
.gca-table-scroll table { width: 100% !important; min-width: 0; margin: 0 !important; float: none !important; border-collapse: collapse; border: 0; font-size: 14px; line-height: 1.45; font-variant-numeric: tabular-nums; }
.gca-table-scroll td, .gca-table-scroll th { width: auto !important; height: auto !important; padding: 6px 10px; border: 1px solid var(--line); vertical-align: top; font-family: var(--sans); font-size: 14px; }
.gca-table-scroll tr > :first-child { border-left: 0; } .gca-table-scroll tr > :last-child { border-right: 0; }
.gca-table-scroll tr:first-child > * { border-top: 0; } .gca-table-scroll tr:last-child > * { border-bottom: 0; }
.gca-table-scroll th, .gca-table-scroll thead td, .gca-table-scroll table:not(:has(th, thead)) > tbody > tr:first-child > td, .gca-table-scroll tr.gca-hrow > td { background: #f4f1e8; font-weight: 600; vertical-align: bottom; }  /* header row */
.gca-table-scroll tbody tr:hover > td { background: #faf8f2; }
.gca-table-scroll p { margin: 0 !important; max-width: none; font-size: inherit; line-height: inherit; }
.gca-table-scroll span[style*="font-family"], .gca-table-scroll font { font-family: inherit !important; }
.gca-table-tools { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; font-size: 13px; color: var(--muted); }
.gca-table-tools button { font: 600 13px/1.2 var(--sans); padding: 6px 10px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--forest); cursor: pointer; }
.gca-table-tools button:hover { border-color: var(--forest); background: var(--forest-tint); }
#gca-table-modal .modal-dialog { width: auto; max-width: min(96vw, 1400px); margin: 20px auto; }
#gca-table-modal .modal-body { overflow-x: auto; }
#gca-table-modal .gca-table-scroll { border: 0; overflow: visible; }
#gca-table-modal .gca-table-scroll table { width: auto !important; min-width: 100%; }
.gca-back h2 { font-size: 20px; }
.gca-back { font-size: 16px; }

/* Article information + references */
.gca-info h2, .gca-refs h2 { font-size: 22px; margin: 32px 0 12px; }
.gca-info dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px 24px; margin: 0; }
.gca-info dt { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.gca-info dd { margin: 0; overflow-wrap: anywhere; }
.gca-refs ol { padding-left: 24px; font-size: 15px; line-height: 1.55; }
.gca-refs li { margin: 0 0 10px; overflow-wrap: anywhere; }
.gca-refs li p { display: inline; margin: 0; text-align: left !important; }
.gca-refs li:target { background: var(--oa-tint); }
.gca-xref { font-size: 13px; margin-left: 6px; }

/* Right column */
.gca-side { position: sticky; top: 16px; display: grid; gap: 14px; max-height: calc(100vh - 32px); overflow: auto; padding-right: 2px; }  /* scrolls on its own when the cards are taller than the screen */
.gca-card { border: 1px solid var(--line); border-radius: 12px; background: var(--surface); padding: 14px 16px; }
.gca-metric { margin: 0 0 6px; font-size: 14px; color: var(--muted); }
.gca-metric strong { font-size: 20px; color: var(--ink); margin-right: 4px; }
.gca-card #open-crossmark { display: inline-block; margin-top: 10px; }
.gca-more { display: block; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); padding: 12px 14px; text-decoration: none !important; }
.gca-more:hover { border-color: var(--forest); }
.gca-more-img { display: flex; align-items: center; justify-content: center; height: 140px; margin: 2px 0 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff; overflow: hidden; }
.gca-more-img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }  /* whole picture, never cropped */
.gca-more-note { display: block; margin-top: 4px; font-size: 12px; color: var(--muted); }
.gca-more-title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 1.4; color: var(--ink); }

/* Recommend form */
.gca-form-row { display: flex; flex-wrap: wrap; gap: 16px; }
.gca-radio { font-weight: 400; }
#gca-recommend .gca-label { margin-top: 12px; }
.gca-notice { max-width: 760px; margin: 16px auto 0; padding: 10px 16px; border-radius: 8px; background: #e4ece7; color: #2f4a3c; font-weight: 600; }
.gca-notice-warn { background: #f3ead0; color: #6b5a14; }

@media (max-width: 1199px) {
	.gca { grid-template-columns: minmax(0, 1fr) 220px; }
	.gca-toc { display: none; }
	.gca-toc-mobile { display: block; }
}
@media (max-width: 991px) {
	.gca { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 12px; }
	.gca-side { position: static; max-height: none; overflow: visible; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
}
.gca-toc-mobile { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); margin: 0 0 24px; }
.gca-toc-mobile summary { cursor: pointer; padding: 10px 14px; font-weight: 600; color: var(--forest); }
.gca-toc-mobile .gca-toc-list { padding: 0 8px 10px; }
@media (max-width: 600px) {
	.gca { font-size: 15px; }
	.gca-main { padding: 18px 14px 24px; border-radius: 8px; }
	/* phones: buttons (PDF first) straight after the authors, affiliations and dates below them */
	.gca-head { display: flex; flex-direction: column; }
	.gca-source { order: 1; } .gca-chips { order: 2; } .gca-title { order: 3; } .gca-authors { order: 4; }
	.gca-actions { order: 5; border-bottom: 0; padding-bottom: 8px; margin-bottom: 8px; }
	.gca-affils { order: 6; } .gca-corr { order: 7; } .gca-meta { order: 8; border-bottom: 1px solid var(--line); padding-bottom: 14px; margin-bottom: 20px; }
	.gca-title { font-size: 25px; }
	.gca-front { grid-template-columns: minmax(0, 1fr); }
	.gca-body { font-size: 17px; }
	.gca-sec h2 { font-size: 21px; margin-top: 32px; }
	.gca-sec h3 { font-size: 18px; }
	.gca-actions { gap: 6px; }
	.gca-btn { padding: 8px 11px; font-size: 14px; }
	.gca-actions .gca-btn-primary { flex: 1 0 100%; justify-content: center; }
}
@media print {
	.gca { display: block; }
	.gca-toc, .gca-side, .gca-actions, .gca-toc-mobile { display: none; }
}
/* Large screens: tables may use the reading panel's side padding, so wide tables get ~40px more room */
@media (min-width: 992px) { .gca-body .gca-table { margin-left: -20px; margin-right: -20px; } }
/* Book chapters (Step 2): previous / next chapter of the same book, under the full text */
.gca-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 28px 0 8px; }
.gca-pager a { display: block; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; text-decoration: none !important; color: var(--ink); font-size: 15px; line-height: 1.4; }
.gca-pager a:hover { border-color: var(--forest); background: var(--forest-tint); }
.gca-pager .gca-label { display: block; margin-bottom: 4px; }
.gca-pager-next { grid-column: 2; text-align: right; }
@media (max-width: 600px) { .gca-pager { grid-template-columns: minmax(0, 1fr); } .gca-pager-next { grid-column: 1; } }
@media print { .gca-pager { display: none; } }
/* E-book page (Step 3, views/book_page.php): two columns, cover beside the title, contents with search */
.gca.gcb { grid-template-columns: minmax(0, 1fr) 240px; max-width: 1180px; margin-left: auto; margin-right: auto; }
.gcb-head { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 4px 28px; align-items: start; }
.gcb-head:not(:has(.gcb-cover)) { grid-template-columns: minmax(0, 1fr); }
.gcb-cover { display: block; line-height: 0; }
.gcb-cover img { width: 100%; height: auto; border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 2px 10px rgba(47, 74, 60, .12); background: #fff; }
.gcb-headtext { min-width: 0; }
.gcb-head .gca-actions { grid-column: 1 / -1; margin-top: 10px; }
.gcb-subtitle { font-family: var(--serif); font-size: 18px; color: var(--muted); margin: -8px 0 14px; }
.gcb-affil1 { list-style: none; padding-left: 0; }
.gcb-editors { font-size: 15px; margin: 0 0 10px; }
.gcb-about h2, .gcb-contents h2 { font-size: 22px; margin: 0 0 12px; }
.gcb-about { margin: 0 0 32px; }
.gcb-about-text, .gcb-about-text p { font-family: var(--serif); font-size: 17px; line-height: 1.65; text-align: left !important; }
.gcb-about-text p { margin: 0 0 12px; max-width: 72ch; }
.gcb-about-text.is-clamped { max-height: 15.5em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 65%, transparent); mask-image: linear-gradient(#000 65%, transparent); }
.gcb-more, .gcb-clear { font: 600 14px/1.2 var(--sans); padding: 6px 0; border: 0; background: none; color: var(--link); cursor: pointer; }
.gcb-clear { padding: 0 0 0 6px; }
.gcb-contents { border-top: 1px solid var(--line); padding-top: 24px; margin-bottom: 8px; }
.gcb-search { margin: 0 0 20px; }
.gcb-search label { display: block; font-size: 14px; font-weight: 600; color: var(--muted); margin: 0 0 6px; }
.gcb-search-row { display: flex; gap: 8px; max-width: 560px; }
.gcb-search input { flex: 1; min-width: 0; font: 16px/1.3 var(--sans); padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); }
.gcb-search input:focus { outline: 2px solid var(--link); outline-offset: 1px; border-color: var(--link); }
.gcb-results:not(:empty) { margin-top: 14px; padding: 14px 16px; border-radius: 10px; background: var(--paper); }
.gcb-hits { margin: 0; padding-left: 20px; }
.gcb-hits > li { margin: 0 0 12px; }
.gcb-hits ul { list-style: none; padding: 0; margin: 6px 0 0; font-size: 14px; }
.gcb-hits ul li { margin: 0 0 8px; }
.gcb-snip { color: var(--muted); }
.gcb-snip mark { background: var(--grain); color: var(--grain-ink); padding: 0 2px; border-radius: 2px; }
.gcb-note { font-size: 14px; color: var(--muted); margin: 8px 0 0; }
.gcb-results .gcb-note { margin: 0 0 8px; }
.gcb-toc { list-style: none; padding: 0; margin: 0; }
.gcb-part { font-family: var(--serif); font-size: 18px; font-weight: 600; color: var(--forest); margin: 22px 0 6px; padding-bottom: 6px; border-bottom: 1px solid var(--line); }
.gcb-part:first-child { margin-top: 0; }
.gcb-ch { padding: 12px 0; border-bottom: 1px solid var(--line); }
.gcb-ch .gca-label { display: block; margin: 0 0 2px; }
.gcb-ch-title { font-family: var(--serif); font-size: 17px; font-weight: 600; line-height: 1.4; color: var(--ink) !important; }
.gcb-ch-title:hover { color: var(--link) !important; }
.gcb-ch-au { margin: 4px 0 0; font-size: 14px; }
.gcb-ch-au a { color: var(--muted); }
.gcb-ch-meta { margin: 6px 0 0; font-size: 14px; color: var(--muted); display: flex; flex-wrap: wrap; gap: 4px 16px; }
.gcb-ch-meta a { font-weight: 600; }
.gcb-pp { font-size: 13px; color: var(--muted); }
.gcb-toc-sections { counter-reset: none; border-top: 1px solid var(--line); }
.gcb-toc-sections a { display: flex; gap: 12px; padding: 9px 4px; border-bottom: 1px solid var(--line); text-decoration: none !important; color: var(--ink); font-family: var(--serif); font-size: 16px; }
.gcb-toc-sections a:hover { background: var(--forest-tint); }
.gcb-no { flex: none; min-width: 2em; color: var(--muted); font-family: var(--sans); font-variant-numeric: tabular-nums; }
.gcb-aff { font-size: 13px; color: var(--muted); }
.gcb-reviewers { margin: 28px 0 0; border: 1px solid var(--line); border-radius: 8px; }
.gcb-reviewers summary { cursor: pointer; padding: 10px 14px; font-weight: 600; color: var(--forest); }
.gcb-reviewers ul { margin: 0; padding: 0 16px 12px 34px; font-size: 14px; }
.gcb-links a { display: block; padding: 5px 0; font-size: 14px; border-bottom: 1px solid var(--line); text-decoration: none; }
.gcb-links a:last-child { border-bottom: 0; }
.gcb-links-gap { margin-top: 14px; }
.gcb-state { float: right; font-size: 11px; font-weight: 600; padding: 1px 8px; border-radius: 999px; background: #eee; color: var(--muted); }
.gcb-state.is-open { background: var(--forest-tint); color: var(--forest); }
@media (max-width: 1199px) { .gca.gcb { grid-template-columns: minmax(0, 1fr) 220px; } }
@media (max-width: 991px) { .gca.gcb { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
	.gcb-head { grid-template-columns: 96px minmax(0, 1fr); gap: 4px 14px; }
	.gcb-head .gca-title { font-size: 22px; }
	.gcb-head .gca-meta { border-bottom: 0; padding-bottom: 0; margin-bottom: 4px; }
	.gcb-search-row .gca-btn { padding: 8px 12px; }
}
@media print { .gcb-search, .gcb-more { display: none; } .gcb-about-text.is-clamped { max-height: none; -webkit-mask-image: none; mask-image: none; } }
/* e-Book list (Step 3, views/booklist.php) */
.gca.gcb-list { grid-template-columns: minmax(0, 1fr); max-width: 1080px; margin-left: auto; margin-right: auto; }
.gcbl-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 24px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.gcbl-h { font-size: 30px; margin: 0 0 4px; }
.gcbl-lead { margin: 0; color: var(--muted); font-size: 15px; }
.gcbl-filters { display: flex; gap: 8px; flex-wrap: wrap; }
.gcbl-filters .form-control { width: auto; min-width: 160px; height: 38px; border-radius: 8px; border-color: var(--line); }
.gcbl-az { display: flex; flex-wrap: wrap; gap: 4px; margin: 14px 0 0; }
.gcbl-az a { min-width: 30px; padding: 4px 6px; text-align: center; border: 1px solid var(--line); border-radius: 6px; font-size: 13px; text-decoration: none; }
.gcbl-az a.is-current { background: var(--forest); border-color: var(--forest); color: #fff; }
.gcbl { list-style: none; margin: 0; padding: 0; }
.gcbl-item { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 18px; align-items: start; padding: 20px 0; border-bottom: 1px solid var(--line); }
.gcbl-item:last-child { border-bottom: 0; padding-bottom: 0; }
.gcbl-cover { display: block; line-height: 0; }
.gcbl-cover img { width: 100%; height: auto; border: 1px solid var(--line); border-radius: 4px; background: #fff; box-shadow: 0 1px 6px rgba(47, 74, 60, .1); }
.gcbl-body .gca-chips { margin-bottom: 6px; }
.gcbl-body .gca-chips:empty { display: none; }
.gcbl-title { font-size: 20px; line-height: 1.35; margin: 0 0 4px; }
.gcbl-title a { color: var(--ink) !important; }
.gcbl-title a:hover { color: var(--link) !important; }
.gcbl-au { margin: 0 0 4px; font-size: 15px; }
.gcbl-body .gca-meta { margin: 0; font-size: 13px; }
.gcbl-act { display: flex; flex-direction: column; gap: 8px; min-width: 120px; }
.gcbl-act .gca-btn { justify-content: center; }
@media (max-width: 600px) {
	.gcbl-item { grid-template-columns: 72px minmax(0, 1fr); gap: 12px 14px; }
	.gcbl-act { grid-column: 2; flex-direction: row; min-width: 0; }
	.gcbl-title { font-size: 17px; }
	.gcbl-h { font-size: 24px; }
	.gcbl-filters, .gcbl-filters .form-control { width: 100%; }
	.gcbl-filters .form-control { flex: 1; min-width: 0; }
}
@media (max-width: 600px) { .gcbl-body .gca-meta { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; } }
/* Chapter cards on the e-book page (2026-10-27): number badge, title, authors, abstract preview, DOI / views / year, buttons */
.gcb-toc { display: grid; gap: 12px; }
.gcb-part { margin: 14px 0 0; }
.gcb-ch { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); transition: border-color .15s, box-shadow .15s; }
.gcb-ch:hover { border-color: #b9c8bf; box-shadow: 0 4px 16px rgba(47, 74, 60, .08); }
.gcb-badge { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--forest-tint); color: var(--forest); font: 600 17px/1 var(--serif); font-variant-numeric: tabular-nums; }
.gcb-badge-front { background: var(--oa-tint); color: var(--oa-ink); font-size: 16px; }
.gcb-ch-body { min-width: 0; }
.gcb-ch-top { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0 0 4px; }
.gcb-ch-top .gca-label { margin: 0; }
.gcb-oa { font-size: 12px; font-weight: 600; color: var(--oa-ink); }
.gcb-ch-h { font-size: 18px; line-height: 1.4; margin: 0; }
.gcb-ch-title { font-size: inherit; }
.gcb-ch-au { margin: 4px 0 0; }
.gcb-ch-abs { margin: 8px 0 0; font-family: var(--serif); font-size: 15px; line-height: 1.55; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gcb-ch-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-top: 12px; padding-top: 10px; border-top: 1px dashed var(--line); }
.gcb-ch-stats { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; font-size: 13px; color: var(--muted); }
.gcb-ch-stats .fa { color: var(--rice); margin-right: 2px; }
.gcb-ch-stats a { color: var(--link); }
.gcb-ch-act { display: flex; gap: 6px; margin: 0; }
.gcb-mini { display: inline-flex; align-items: center; gap: 5px; font: 600 13px/1.2 var(--sans); padding: 6px 11px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--forest) !important; text-decoration: none !important; }
.gcb-mini:hover, .gcb-mini:focus { border-color: var(--forest); background: var(--forest-tint); }
.gcb-mini-primary { background: var(--forest); border-color: var(--forest); color: #fff !important; }
.gcb-mini-primary:hover, .gcb-mini-primary:focus { background: var(--forest-hover); border-color: var(--forest-hover); }
@media (max-width: 600px) {
	.gcb-ch { grid-template-columns: 34px minmax(0, 1fr); gap: 10px; padding: 14px 12px; }
	.gcb-badge { width: 34px; height: 34px; font-size: 14px; }
	.gcb-ch-h { font-size: 16.5px; }
	.gcb-ch-act { width: 100%; } .gcb-ch-act .gcb-mini { flex: 1; justify-content: center; }
}
/* Journal header (Step 4, views/includes/journalmetadata.php): on the journal page and every journal sub-page */
.gcj { max-width: 1180px; margin: 20px auto 18px; color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.55; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 24px 28px 0; }
.gcj a { color: var(--link); }
.gcj-top { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 24px; align-items: start; }
.gcj-top:not(:has(.gcj-cover)) { grid-template-columns: minmax(0, 1fr); }
.gcj-cover { display: block; line-height: 0; }
.gcj-cover img { width: 100%; height: auto; border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 2px 10px rgba(47, 74, 60, .12); background: #fff; }
.gcj-text { min-width: 0; }
.gcj .gca-chips { margin-bottom: 8px; }
.gcj-title { font-family: var(--serif); font-weight: 600; font-size: 30px; line-height: 1.2; margin: 0 0 8px; }
.gcj-title a { color: var(--ink) !important; text-decoration: none; }
.gcj-partner { margin: -2px 0 10px; font-size: 14.5px; line-height: 1.45; color: var(--forest); font-weight: 600; }
.gcj-partner .fa { color: var(--rice); margin-right: 3px; }
.gcb-list .gcj-partner { font-size: 13.5px; margin: 0 0 4px; }
.gcj-aim { font-family: var(--serif); font-size: 17px; line-height: 1.55; margin: 0 0 10px; max-width: 75ch; }
.gcj .gca-meta { margin: 0 0 6px; }
.gcj-ed { margin: 0 0 2px; font-size: 14px; }
.gcj-ed-k { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--rice); margin-right: 4px; }
.gcj-aff { color: var(--muted); }
.gcj-actions { border-bottom: 0; margin: 4px 0 0; padding: 16px 0 14px; }
.gcj-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0; margin: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.gcj-stats > div { padding: 12px 16px 12px 0; }
.gcj-stats > div + div { padding-left: 16px; border-left: 1px solid var(--line); }
.gcj-stats dt { order: 2; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.gcj-stats dd { margin: 0; font: 600 26px/1.15 var(--serif); color: var(--forest); font-variant-numeric: tabular-nums; }
.gcj-stats > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; }
.gcj-stats:empty, .gcj-stats:empty + .gcj-stats-note { display: none; }
.gcj-stats-note { margin: 6px 0 0; font-size: 12px; color: var(--muted); }
.gcj-tabs { display: flex; gap: 2px; margin: 10px -28px 0; padding: 0 22px; overflow-x: auto; scrollbar-width: thin; border-top: 1px solid var(--line); }
.gcj-tabs a { flex: none; padding: 12px 10px 10px; border-bottom: 3px solid transparent; font-size: 15px; font-weight: 600; color: var(--muted) !important; text-decoration: none !important; white-space: nowrap; }
.gcj-tabs a:hover { color: var(--forest) !important; background: var(--forest-tint); }
.gcj-tabs a.is-current { color: var(--forest) !important; border-bottom-color: var(--forest); }
@media (max-width: 1199px) { .gcj { margin-left: 15px; margin-right: 15px; } }
@media (max-width: 600px) {
	.gcj { margin: 10px 0 14px; padding: 16px 14px 0; border-radius: 8px; font-size: 15px; }
	.gcj-top { grid-template-columns: 84px minmax(0, 1fr); gap: 14px; }
	.gcj-title { font-size: 22px; }
	.gcj-aim { font-size: 15.5px; grid-column: 1 / -1; }
	.gcj-partner { grid-column: 1 / -1; font-size: 13.5px; }
	.gcj-actions .gca-btn-primary { flex: 1 0 100%; justify-content: center; }
	.gcj-actions .gca-btn { padding: 8px 11px; font-size: 14px; }
	.gcj-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gcj-stats > div, .gcj-stats > div + div { padding: 10px 10px 10px 0; border-left: 0; }
	.gcj-stats > div:nth-child(even) { padding-left: 12px; border-left: 1px solid var(--line); }
	.gcj-stats dd { font-size: 22px; }
	.gcj-tabs { margin: 8px -14px 0; padding: 0 8px; }
	.gcj-tabs a { padding: 11px 9px 9px; font-size: 14px; }
}
@media print { .gcj-actions, .gcj-tabs { display: none; } }
/* Journal page: current issue / any issue (views/journal_page.php) */
.gca.gcj-page { grid-template-columns: minmax(0, 1fr) 260px; max-width: 1180px; margin: 0 auto 40px; }
.gcj-switch { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.gcj-switch a { padding: 6px 14px; border: 1px solid var(--line); border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--forest) !important; text-decoration: none !important; background: #fff; }
.gcj-switch a:hover { border-color: var(--forest); background: var(--forest-tint); }
.gcj-switch a.is-current { background: var(--forest); border-color: var(--forest); color: #fff !important; }
.gcj-issue { padding-bottom: 6px; }
.gcj-issue-h { font-size: 26px; margin: 0 0 6px; }
.gcj-sec { margin-top: 18px; }
.gcj-sec .gcb-part { margin: 0 0 12px; }
.gcj-art { grid-template-columns: minmax(0, 1fr); }
.gcj-art.has-ga { grid-template-columns: 120px minmax(0, 1fr); }
.gcj-ga { display: flex; align-items: center; justify-content: center; height: 100px; border: 1px solid var(--line); border-radius: 6px; background: #fff; overflow: hidden; line-height: 0; }
.gcj-ga img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.gcj-art .gcb-ch-top:empty { display: none; }
.gcj-vols ul { list-style: none; margin: 0 0 6px; padding: 0; }
.gcj-vol { margin: 10px 0 2px; font-size: 13px; font-weight: 600; color: var(--ink); }
.gcj-vol:first-of-type { margin-top: 0; }
.gcj-vols li a { display: flex; justify-content: space-between; gap: 8px; padding: 4px 8px; margin: 0 -8px; border-radius: 6px; font-size: 14px; text-decoration: none; }
.gcj-vols li a span { color: var(--muted); font-size: 13px; }
.gcj-vols li a:hover { background: var(--forest-tint); }
.gcj-vols li a.is-current { background: var(--forest); color: #fff; }
.gcj-vols li a.is-current span { color: #e4ece7; }
.gcj-vols-all { display: block; margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line); font-size: 13px; font-weight: 600; }
@media (max-width: 1199px) { .gca.gcj-page { grid-template-columns: minmax(0, 1fr) 240px; margin-left: 15px; margin-right: 15px; } }
@media (max-width: 991px) { .gca.gcj-page { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
	.gca.gcj-page { margin: 0 0 30px; }
	.gcj-issue-h { font-size: 22px; }
	.gcj-art.has-ga { grid-template-columns: minmax(0, 1fr); }
	.gcj-ga { height: 140px; }
}
.gcjl-aim { font-family: var(--serif); line-height: 1.5; margin-bottom: 6px !important; }
/* Journal tab pages (Step 4b, includes/journal_frame_top.php): About, Aims & scope, Editorial board, Volumes & issues ... */
.gcj-tab { padding-top: 30px; }
.gcj-tab .row { margin-left: 0; margin-right: 0; }
.gcj-empty { margin: 8px 0 0; padding: 28px 24px; border: 1px dashed var(--line); border-radius: 12px; background: var(--paper); text-align: center; }
.gcj-empty > .fa { font-size: 30px; color: var(--rice); margin-bottom: 10px; }
.gcj-empty p { margin: 0 0 10px; }
.gcj-empty .gaj-links { justify-content: center; }
.gcj-empty .gaj-links a { display: inline-flex; border: 1px solid var(--line); border-radius: 8px; padding: 8px 14px; font-size: 14px; font-weight: 600; color: var(--forest); text-decoration: none; background: #fff; }
.gcj-empty .gaj-links a.go { background: var(--forest); border-color: var(--forest); color: #fff; }
/* Editorial board cards */
.jeb { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.jeb-card { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; align-items: start; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.jeb-card:hover { border-color: #b9c8bf; box-shadow: 0 4px 16px rgba(47, 74, 60, .08); }
.jeb-lead { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.jeb-lead .jeb-card { grid-template-columns: 84px minmax(0, 1fr); background: var(--paper); }
.jeb-photo { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; background: var(--forest-tint); color: var(--forest); font: 600 22px/1 var(--serif); text-decoration: none !important; }
.jeb-lead .jeb-photo { width: 84px; height: 84px; font-size: 28px; }
.jeb-photo img { width: 100%; height: 100%; object-fit: cover; }
.jeb-text { min-width: 0; }
.jeb-name { display: block; font-family: var(--serif); font-size: 16.5px; font-weight: 600; line-height: 1.3; color: var(--ink) !important; }
.jeb-name:hover { color: var(--link) !important; }
.gaj .jeb-des, .gaj .jeb-aff, .gaj .jeb-ctry { margin: 3px 0 0; font-size: 13.5px; line-height: 1.45; color: var(--muted); }
.gaj .jeb-des { color: var(--rice); font-weight: 600; }
.jeb-aff a { color: var(--muted) !important; }
.jeb-aff a:hover { color: var(--link) !important; }
.gaj .jeb-links { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; }
.jeb-links a { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 50%; color: var(--forest); text-decoration: none; }
.jeb-links a:hover { border-color: var(--forest); background: var(--forest-tint); }
/* Volumes & issues */
.jvi-jump { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 6px; }
.jvi-jump a { padding: 4px 12px; border: 1px solid var(--line); border-radius: 999px; font-size: 13px; font-weight: 600; text-decoration: none; color: var(--forest); background: #fff; }
.jvi-jump a:hover { border-color: var(--forest); background: var(--forest-tint); }
.jvi-vol { scroll-margin-top: 16px; }
.jvi-vol h5 { margin-top: 26px; }
.jvi-issues { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.jvi-issue { border: 1px solid var(--line); border-radius: 12px; background: #fff; overflow: hidden; }
.jvi-tile { display: grid; gap: 2px; padding: 14px 16px; text-decoration: none !important; color: var(--ink) !important; background: linear-gradient(135deg, var(--forest-tint), #fff 70%); }
.jvi-tile:hover { background: var(--forest-tint); }
.jvi-no { font: 600 19px/1.25 var(--serif); color: var(--forest); }
.jvi-date { font-size: 14px; color: var(--muted); }
.jvi-count { margin-top: 6px; font-size: 13px; font-weight: 600; color: var(--link); }
.jvi-list { border-top: 1px solid var(--line); }
.jvi-list summary { cursor: pointer; padding: 9px 16px; font-size: 13.5px; font-weight: 600; color: var(--forest); }
.jvi-list ol { margin: 0; padding: 0 16px 12px 34px; font-size: 14px; line-height: 1.45; }
.jvi-list li { margin: 0 0 8px; }
@media (max-width: 600px) {
	.gcj-tab { padding-top: 20px; }
	.jeb, .jeb-lead { grid-template-columns: minmax(0, 1fr); }
	.jeb-lead .jeb-card { grid-template-columns: 64px minmax(0, 1fr); }
	.jeb-lead .jeb-photo { width: 64px; height: 64px; font-size: 22px; }
	.jvi-issues { grid-template-columns: minmax(0, 1fr); }
}
