/* CCADR portal theme for OJS: only what OJS adds that the portal's stylesheets (/assets/*.css) do not know.
   Everything else on these pages is styled by the portal's own CSS, loaded as is. */

/* OJS's screen-reader-only text */
.pkp_screen_reader { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* the issue's title, under the issue heading */
.ihead .ititle { font: italic 400 17px/1.4 var(--serif); color: var(--ink); margin: 2px 0 4px; }
/* a subtitle under the article title */
.ahead .asub { font: 400 20px/1.4 var(--serif); color: var(--mu); margin: -8px 0 16px; max-width: 980px; }
/* the authors, as on IJLMH (themes/ijlmh-v2/assets/pages.css): the ORCID iD mark beside a name, and with several
   authors a "Show author details" toggle opening a card for each */
.orcid { display: inline-flex; vertical-align: -3px; margin-left: 6px; }
.orcid svg { width: 17px; height: 17px; }
.auth-tog { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; padding: 6px 0; background: none; border: 0; cursor: pointer; font: 600 14px var(--sans); color: var(--link); }
.auth-tog .ic { width: 16px; height: 16px; transition: transform .15s; }
.auth-tog[aria-expanded="true"] .ic { transform: rotate(180deg); }
.adrawer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--rule); }
.adrawer[hidden] { display: none; }
.acard { background: var(--tint); border: 1px solid var(--rule); border-radius: 6px; padding: 12px 14px; }
.acard .arole { display: block; margin-bottom: 5px; font: 600 11.5px var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--navy-md); }
.acard b { display: block; font: 600 15.5px var(--sans); color: var(--ink); }
.acard p { margin: 4px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--body); }
.acard .orcid-l { display: inline-flex; align-items: center; gap: 7px; margin-top: 9px; font: 500 13px/1.2 var(--sans); color: var(--link); text-decoration: none; word-break: break-all; }
.acard .orcid-l:hover span { text-decoration: underline; }
.acard .orcid-l .oid { width: 16px; height: 16px; flex: none; }
@media (max-width: 860px) { .auth-tog { margin-left: 0; } .adrawer { grid-template-columns: 1fr; } }
/* supplementary files */
.prose .supp { list-style: none; padding: 0; }
.prose .supp li { padding: 8px 0; border-top: 1px solid var(--rule); }
.prose .supp a { display: inline-flex; gap: 8px; align-items: center; font-weight: 600; }
/* a preview or earlier-version notice above the page */
.ccp-ojs > .wrap > .note { margin-top: 18px; }
/* an archive with more issues than one page */
.ccp-ojs .pager .nav-links { display: flex; gap: 12px; margin-top: 24px; }

/* ------------------------------------------------------------ the PDF and HTML readers */
html:has(body.ccp-reader), body.ccp-reader { height: 100%; }
body.ccp-reader { display: flex; flex-direction: column; overflow: hidden; background: #525659; }
.ccp-reader .rbar { flex: none; background: var(--navy); color: #fff; }
.ccp-reader .rbar .wrap { max-width: none; display: flex; align-items: center; gap: 16px; min-height: 58px; padding-top: 8px; padding-bottom: 8px; }
.ccp-reader .rlogo { flex: none; display: block; }
.ccp-reader .rlogo .ulogo { width: 40px; height: 40px; border-radius: 50%; background: #fff; padding: 2px; }
.ccp-reader .rback { flex: none; display: inline-flex; align-items: center; gap: 4px; color: #fff; font: 600 14.5px/1.2 var(--sans); }
.ccp-reader .rback .ic { width: 18px; height: 18px; }
.ccp-reader .rtitle { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font: 500 17px/1.3 var(--serif); color: #fff; border-left: 1px solid rgba(255, 255, 255, .28); padding-left: 16px; }
.ccp-reader .rbar .btn { flex: none; display: inline-flex; align-items: center; gap: 7px; }
.ccp-reader .rbar .btn .ic { width: 17px; height: 17px; }
.ccp-reader .rnotice { flex: none; padding: 8px 32px; background: #f6efe2; color: #3b2a10; font-size: 14px; border-bottom: 1px solid #e6d6b8; }
.ccp-reader .rframe { flex: 1; min-height: 0; }
.ccp-reader .rframe iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
@media (max-width: 860px) {
  .ccp-reader .rbar .wrap { gap: 10px; padding-left: 12px; padding-right: 12px; min-height: 52px; }
  .ccp-reader .rlogo .ulogo { width: 34px; height: 34px; }
  .ccp-reader .rtitle { display: none; }
  .ccp-reader .rback { flex: 1; }
  .ccp-reader .rbar .btn { padding: 8px 12px; font-size: 14px; }
}

/* ------------------------------------------------------------ OJS's other public pages (search, sign in and the like) */
.ccp-ojs .page { padding-bottom: 56px; }
.ccp-ojs .page > :not(.crumb) { box-sizing: border-box; max-width: var(--pw, 1260px); margin-left: auto; margin-right: auto; padding-left: 32px; padding-right: 32px; }
.ccp-ojs.pkp_page_login .page, .ccp-ojs.pkp_page_user .page { --pw: 720px; }
@media (max-width: 860px) { .ccp-ojs .page > :not(.crumb) { padding-left: 16px; padding-right: 16px; } }
.ccp-ojs .page > h1, .ccp-ojs .page > .page_title { margin-top: 28px; margin-bottom: 10px; font: 600 34px/1.15 var(--serif); color: var(--ink); }
.ccp-ojs .page > p { margin-bottom: 14px; font-size: 15px; color: var(--mu); }
@media (max-width: 860px) { .ccp-ojs .page > h1, .ccp-ojs .page > .page_title { margin-top: 20px; font-size: 28px; } }

.ccp-ojs .cmp_form { font-size: 15px; color: var(--body); }
.ccp-ojs .cmp_form > fieldset, .ccp-ojs .page_login .cmp_form .fields, .ccp-ojs .page_lost_password .cmp_form .fields { min-width: 0; margin: 0 0 18px; padding: 20px 22px 22px; border: 1px solid var(--rule); border-radius: var(--r); background: #fff; box-shadow: var(--shadow-sm); }
.ccp-ojs .cmp_form fieldset fieldset { margin: 0; padding: 0; border: 0; box-shadow: none; }
.ccp-ojs .cmp_form legend { padding: 0; margin-bottom: 12px; font: 600 17px var(--sans); color: var(--navy); }
.ccp-ojs .cmp_form .fields > div, .ccp-ojs .cmp_form .search_input, .ccp-ojs .cmp_form .date_range, .ccp-ojs .cmp_form .author { margin-bottom: 14px; }
.ccp-ojs .cmp_form label { display: block; }
.ccp-ojs .cmp_form .label { display: block; margin-bottom: 5px; font-size: 14.5px; font-weight: 600; color: var(--ink); }
.ccp-ojs .cmp_form .required { color: #b42318; }
.ccp-ojs .cmp_form input[type=text], .ccp-ojs .cmp_form input[type=email], .ccp-ojs .cmp_form input[type=password], .ccp-ojs .cmp_form input[type=search], .ccp-ojs .cmp_form select, .ccp-ojs .cmp_form textarea {
  box-sizing: border-box; width: 100%; padding: 10px 12px; border: 1px solid #cfc6c9; border-radius: 4px; background: #fff; font: 15.5px var(--sans); color: var(--ink); }
.ccp-ojs .cmp_form input:focus, .ccp-ojs .cmp_form select:focus, .ccp-ojs .cmp_form textarea:focus { outline: 2px solid var(--link); outline-offset: -1px; border-color: var(--link); }
.ccp-ojs .cmp_form .checkbox label, .ccp-ojs .cmp_form .optin label { display: flex; gap: 9px; align-items: flex-start; font-weight: 400; }
.ccp-ojs .cmp_form input[type=checkbox] { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--navy); }
.ccp-ojs .cmp_form .buttons, .ccp-ojs .cmp_form div.submit { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 6px; }
.ccp-ojs .cmp_form button.submit, .ccp-ojs .cmp_form .submit button { padding: 12px 24px; border: 0; border-radius: 4px; background: var(--navy); color: #fff; font: 600 15.5px/1 var(--sans); cursor: pointer; }
.ccp-ojs .cmp_form button.submit:hover, .ccp-ojs .cmp_form .submit button:hover { background: var(--navy-dk); }
.ccp-ojs .pkp_form_error, .ccp-ojs .cmp_notification { margin: 0 0 16px; padding: 10px 14px; border: 1px solid #f0c9c4; border-radius: 4px; background: #fdf1f0; color: #8a1c14; font-size: 14.5px; }
.ccp-ojs .cmp_notification.success, .ccp-ojs .cmp_notification.notice { border-color: #e2d3d8; background: var(--tint); color: var(--navy); }
/* search: the date filters side by side */
.ccp-ojs .cmp_form .date_range { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 28px; }
.ccp-ojs .cmp_form .date_range fieldset { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.ccp-ojs .cmp_form .date_range legend { margin-bottom: 6px; font: 600 14.5px var(--sans); color: var(--ink); }
.ccp-ojs .cmp_form .date_range label { display: inline; margin: 0 0 0 4px; font-size: 13.5px; color: var(--mu); }
.ccp-ojs .cmp_form .date_range select { width: auto; padding: 8px 10px; margin: 0; }
@media (max-width: 860px) { .ccp-ojs .cmp_form .date_range { grid-template-columns: 1fr; } }
/* search results */
.ccp-ojs .search_results { list-style: none; padding: 0; margin: 8px 0 0; }
.ccp-ojs .search_results > li { padding: 16px 0; border-top: 1px solid var(--rule); }
.ccp-ojs .obj_article_summary .title { margin: 0 0 4px; font: 600 18px/1.35 var(--serif); }
.ccp-ojs .obj_article_summary .title a { color: var(--ink); }
.ccp-ojs .obj_article_summary .subtitle { display: block; font-size: 15px; color: var(--mu); }
.ccp-ojs .obj_article_summary .meta { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 14.5px; color: var(--mu); }
.ccp-ojs .obj_article_summary .authors { color: var(--body); }
.ccp-ojs .obj_article_summary .pages::before { content: "pp. "; }
.ccp-ojs .obj_article_summary .published::before { content: "Published "; }
.ccp-ojs .obj_article_summary .galleys_links { display: flex; gap: 10px; margin-top: 8px; }
.ccp-ojs .obj_galley_link { display: inline-block; padding: 4px 12px; border: 1px solid var(--rule); border-radius: 4px; font-size: 14px; font-weight: 600; }
.ccp-ojs .cmp_pagination { display: flex; gap: 12px; margin-top: 18px; font-size: 14.5px; }
.ccp-ojs .cmp_skip_to_content, .ccp-ojs .pkp_brand_footer { display: none !important; }

/* ------------------------------------------------------------ search */
/* the search box in the phone menu, at the top of the opened menu (the menu bar's own box is styled by ijlmh.css .menu form) */
.pmenu .pm-search { display: flex; margin: 12px 16px 6px; }
.pmenu .pm-search input { flex: 1; min-width: 0; font: 15px var(--sans); padding: 9px 12px; border: 0; border-radius: 3px 0 0 3px; color: var(--ink); background: #fff; }
.pmenu .pm-search button { display: flex; align-items: center; padding: 0 12px; border: 0; background: #fff; color: var(--navy); border-left: 1px solid var(--rule); border-radius: 0 3px 3px 0; cursor: pointer; }
.menu form .ic, .pmenu .pm-search .ic { width: 18px; height: 18px; }
/* the search page: the box across the page, the author and year filters folded under it */
.ccp-sfilters { align-items: flex-start; }
.ccp-sfilters form { flex: 1 1 420px; }
.ccp-more { flex: 0 0 auto; font-size: 14.5px; }
.ccp-more summary { cursor: pointer; padding: 9px 2px; font-weight: 600; color: var(--link); list-style: none; }
.ccp-more summary::-webkit-details-marker { display: none; }
.ccp-more summary::after { content: " +"; font-weight: 400; }
.ccp-more[open] summary::after { content: " \2212"; }
.ccp-more[open] { flex-basis: 100%; }
.ccp-more-in { display: grid; grid-template-columns: auto minmax(0, 320px); gap: 10px 14px; align-items: center; padding: 14px 18px; border: 1px solid var(--rule); border-radius: var(--r); background: var(--tint); }
.ccp-more-in label { font-weight: 600; color: var(--ink); }
.ccp-more-in input, .ccp-more-in select { font: 15px var(--sans); padding: 8px 10px; border: 1px solid #cfc6c9; border-radius: 4px; background: #fff; color: var(--ink); }
@media (max-width: 860px) { .ccp-more-in { grid-template-columns: 1fr; } .ccp-sfilters form { flex-basis: 100%; } }
#results .cmp_pagination { margin-top: 20px; }

/* ------------------------------------------------------------ the article's Contents */
.prose .fulltext h2, .prose .fulltext h3, .prose .fulltext h4 { scroll-margin-top: 20px; }
/* the menu bar's search box: 32px high inside the 42px bar, as on IJLMH (some portal form rules make inputs taller) */
.menu form { height: 32px; align-self: center; }
.menu form input { height: 32px; min-height: 0; padding-top: 0; padding-bottom: 0; box-shadow: none; }
.menu form button { height: 32px; min-height: 0; }
/* the phone Contents fold is the first thing in the article column, hidden on a desktop: the Abstract keeps its place */
@media (min-width: 861px) { .prose > .mtoc:first-child + * { margin-top: 0; } }
@media (max-width: 860px) { .mtoc .toc a.sub { padding-left: 24px; font-size: 13.5px; } }

/* ------------------------------------------------------------ Cite and Share */
.cite-dlg .cd-dl { margin: -6px 22px 20px; font-size: 14px; color: var(--mu); }
.cite-dlg .cd-dl a { font-weight: 600; }
.cite-dlg .citebox.pre { white-space: pre-wrap; font: 13.5px/1.5 ui-monospace, Consolas, monospace; }
.cite-dlg .fmt a[aria-pressed="true"] { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.ahead .acts { flex-wrap: wrap; }
/* a section of the issue ("Articles", "Current Developments"): a heading of its own, with space above and a thin rule
   under it, not a caption pressed against the toolbar's rule (owner, 18 Oct 2026) */
#rows .sect-k { margin: 26px 0 0; padding: 0 0 9px; font: 600 13px/1.3 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--navy-md); border-bottom: 1px solid var(--rule); }
#rows > div:first-child > .sect-k { margin-top: 20px; }
#rows .sect-k + .ilist > li:first-child { padding-top: 16px; }
/* the Share menu: each place with its mark, in one colour (owner, 18 Oct 2026) */
#ccp-share-pop a, #ccp-share-pop button { display: flex; align-items: center; gap: 11px; }
#ccp-share-pop .sh-ic { width: 18px; height: 18px; flex: none; color: var(--navy); }
