/* CEDDI PORTAL — refined blue & gold | OJS 3.3 default frontend
   REPLACE the previous portal CSS; do not append it.
   Scoped to site index OR site-logo path used by the uploaded original.
   A journal reusing /public/site/ logo may also match: verify before deployment.
   Requires modern browsers with :has(); unsupported browsers retain OJS styles.
   No remote fonts, imports, JavaScript, generated keywords or hidden descriptions.
   Existing HTML content/links are retained. CSS cannot create SEO metadata.
   Header image ratio is preserved: set intrinsic width/height in HTML for CLS.
   Mobile navigation is expanded intentionally; existing account submenu is visible.
*/

body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) {
  --ceddi-blue:#064f78; --ceddi-deep:#082d46; --ceddi-gold:#ffb400; --ceddi-text:#203747; --ceddi-muted:#506574; --ceddi-line:#dce6ed;
  background:#f2f6fa; color:var(--ceddi-text); font:16px/1.65 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_page {
  background:transparent;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_head {
  position:relative; background:var(--ceddi-deep); border-bottom:4px solid var(--ceddi-gold); overflow:visible;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_head_wrapper {
  position:relative !important; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_name_wrapper,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_name,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_name .is_img {
  display:block; position:relative; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; height:auto;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_name .is_img img {
  display:block; width:100% !important; max-width:none !important; height:auto !important; max-height:none !important; object-fit:contain; margin:0;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_name .is_text {
  display:block; padding:42px 28px; color:#fff; font-size:clamp(28px,4vw,48px); line-height:1.2; font-weight:800; text-decoration:none;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_nav_toggle {
  display:none !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_nav_menu {
  display:flex !important; position:relative !important; inset:auto !important; transform:none !important; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:12px; width:100% !important; height:auto !important; max-height:none !important; margin:0 !important; padding:12px clamp(16px,4vw,56px) !important; box-sizing:border-box; background:var(--ceddi-deep); overflow:visible !important; z-index:20;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_navigation_user_wrapper,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUserWrapper,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_navigation_primary_wrapper,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_navigation_primary_row {
  display:block !important; position:static !important; float:none; width:auto !important; max-width:100%; margin:0 !important; padding:0 !important; transform:none !important; background:transparent;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_navigation_primary_row:not(:has(a)) {
  display:none !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationPrimary {
  display:flex !important; flex-wrap:wrap; align-items:center; gap:8px; width:auto !important; margin:0 !important; padding:0 !important; list-style:none;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationPrimary > li {
  position:relative; float:none; margin:0; padding:0; max-width:100%;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > a,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationPrimary > li > a {
  display:flex; align-items:center; min-height:44px; padding:9px 17px; box-sizing:border-box; border:1px solid #7899af; border-radius:8px; color:#fff !important; background:#123f5d; font-size:14px; font-weight:650; line-height:1.4; text-decoration:none; overflow-wrap:anywhere;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > a:hover,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationPrimary > li > a:hover {
  background:var(--ceddi-gold); border-color:var(--ceddi-gold); color:var(--ceddi-deep) !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > ul,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationPrimary > li > ul {
  display:none; position:absolute; top:100%; right:0; left:auto; min-width:220px; max-width:calc(100vw - 32px); padding:8px; margin:0; list-style:none; background:#fff; border:1px solid var(--ceddi-line); border-radius:10px; box-shadow:0 12px 28px #082d4626; z-index:30;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li:hover > ul,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li:focus-within > ul,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationPrimary > li:hover > ul,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationPrimary > li:focus-within > ul,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > a[aria-expanded="true"] + ul,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationPrimary > li > a[aria-expanded="true"] + ul,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_nav_menu ul ul.show {
  display:block !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_nav_menu ul ul a {
  display:block; padding:10px 14px; min-height:44px; box-sizing:border-box; line-height:1.5; color:var(--ceddi-blue) !important; white-space:normal; text-decoration:none;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_nav_menu ul ul a:hover {
  background:#edf5fa;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_content {
  width:calc(100% - 64px) !important; max-width:1800px !important; margin:0 auto !important; padding:36px 0 56px !important; box-sizing:border-box; background:transparent; border:0;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_main {
  float:none !important; width:100% !important; max-width:none !important; min-width:0; margin:0 !important; padding:0 !important; border:0;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_main::before,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_main::after {
  display:none;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .about_site {
  margin:0 0 32px; padding:clamp(22px,3vw,36px); background:linear-gradient(110deg,#fff,#edf6fb); border:1px solid var(--ceddi-line); border-left:5px solid var(--ceddi-gold); border-radius:16px; box-shadow:0 6px 20px #082d4608;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .about_site h1,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .about_site h2 {
  margin:0 0 12px; color:var(--ceddi-deep); font-size:clamp(24px,2.4vw,30px); line-height:1.3;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .about_site p {
  width:100%; max-width:none !important; margin:0 0 12px; box-sizing:border-box; font-size:16px; line-height:1.75;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .about_site p:last-child {
  margin-bottom:0;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals {
  margin:0; padding:0; border:0;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals > h2 {
  position:static !important; clip:auto !important; clip-path:none !important; width:auto !important; height:auto !important; overflow:visible !important; white-space:normal !important; margin:0 0 24px !important; padding:0 0 14px !important; border-bottom:1px solid var(--ceddi-line); color:var(--ceddi-deep); font-size:clamp(25px,2.8vw,32px); line-height:1.3; font-weight:750;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals > h2::after {
  content:""; display:block; width:64px; height:4px; margin-top:12px; background:var(--ceddi-gold); border-radius:4px;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals > ul {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:0 !important; padding:0 !important; list-style:none;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals > ul > li {
  display:flex !important; align-items:stretch; gap:24px; float:none !important; width:auto !important; min-width:0; min-height:174px; margin:0 !important; padding:28px !important; box-sizing:border-box; border:1px solid var(--ceddi-line); border-top:4px solid var(--ceddi-blue); border-radius:16px; background:linear-gradient(145deg,#fff 65%,#f4f9fc); box-shadow:0 6px 20px #082d460a; transition:border-color .18s ease,box-shadow .18s ease;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals > ul > li::before,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals > ul > li::after {
  display:none;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals > ul > li:focus-within {
  border-top-color:var(--ceddi-gold); box-shadow:0 10px 28px #082d4618;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals .thumb {
  position:static !important; float:none !important; flex:0 0 112px; width:112px !important; max-width:112px; margin:0 !important; padding:0 !important; align-self:flex-start;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals .thumb img {
  display:block; width:100% !important; height:auto !important; max-width:100%; border-radius:6px; box-shadow:0 6px 16px #082d4620;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals .body {
  display:flex; flex-direction:column; position:static !important; float:none !important; flex:1 1 0; width:auto !important; min-width:0; margin:0 !important; padding:0 !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals h3 {
  margin:0 0 16px; font-size:clamp(18px,1.6vw,21px); line-height:1.45; font-weight:750;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals h3 a {
  color:var(--ceddi-deep); text-decoration:none; overflow-wrap:anywhere;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals h3 a:hover {
  color:var(--ceddi-blue); text-decoration:underline; text-underline-offset:4px;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals .description {
  color:var(--ceddi-muted); font-size:15px; line-height:1.75; overflow-wrap:anywhere;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals .description p {
  margin:0 0 14px;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals ul.links {
  display:flex !important; flex-wrap:wrap; gap:10px; margin:auto 0 0 !important; padding:8px 0 0 !important; list-style:none;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals ul.links li {
  float:none; margin:0 !important; padding:0 !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals ul.links a {
  display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 18px; box-sizing:border-box; border:1px solid var(--ceddi-blue); border-radius:9px; background:var(--ceddi-blue); color:#fff; font-size:14px; line-height:1.4; font-weight:650; text-decoration:none;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals ul.links .current a {
  background:#fff6da; border-color:#d69600; color:#493400;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals ul.links a:hover {
  background:var(--ceddi-deep); color:#fff; border-color:var(--ceddi-deep);
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) a:focus-visible,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) button:focus-visible,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) input:focus-visible,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) select:focus-visible,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) textarea:focus-visible {
  outline:3px solid #bd7900; outline-offset:4px;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_head a:focus-visible {
  outline-color:#ffce5c;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_login,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_register,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_lost_password {
  max-width:760px; margin:8px auto 24px; padding:clamp(22px,4vw,40px); box-sizing:border-box; background:#fff; border:1px solid var(--ceddi-line); border-top:4px solid var(--ceddi-blue); border-radius:16px; box-shadow:0 8px 28px #082d4610;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_login {
  max-width:580px;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_login input[type="text"],
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_login input[type="password"],
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_register input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_register select,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_lost_password input[type="email"],
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_lost_password input[type="text"] {
  width:100%; max-width:none; min-height:46px; padding:10px 12px; box-sizing:border-box; border:1px solid #8ca3b2; border-radius:7px; background:#fff; font:inherit;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_login .submit,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_register .submit,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_lost_password .submit {
  min-height:46px; padding:10px 22px; border:1px solid var(--ceddi-blue); border-radius:8px; background:var(--ceddi-blue); color:#fff; font:inherit; font-weight:650;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_footer_wrapper {
  display:block !important; background:var(--ceddi-deep); border-top:3px solid var(--ceddi-gold); color:#fff;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_footer {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; width:calc(100% - 64px); max-width:1800px; margin:0 auto; padding:28px 0; box-sizing:border-box;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_footer_content {
  float:none; flex:1 1 320px; width:auto; margin:0; padding:0;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_footer a {
  color:#fff; text-underline-offset:3px;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_brand_footer {
  float:none; width:auto; padding:0; margin:0;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_brand_footer img {
  display:block; width:100px; height:auto; filter:brightness(0) invert(1);
}
@media (hover:hover) {
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals > ul > li:hover {
  border-top-color:var(--ceddi-gold); box-shadow:0 12px 30px #082d4618;
}
}
@media (max-width:1000px) {
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals > ul {
  grid-template-columns:minmax(0,1fr);
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_content,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_footer {
  width:calc(100% - 40px) !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > ul {
  display:block !important; position:static !important; min-width:0; max-width:100%; margin:8px 0 0; box-shadow:none;
}
}
@media (max-width:600px) {
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_content,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_footer {
  width:calc(100% - 32px) !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_content {
  padding:24px 0 32px !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_nav_menu {
  justify-content:flex-start; padding:10px 16px !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals > ul {
  gap:16px;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals > ul > li {
  padding:22px !important; gap:18px;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals .thumb {
  flex-basis:86px; width:86px !important; max-width:86px;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals ul.links a {
  padding:10px 14px;
}
}
@media (max-width:420px) {
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals > ul > li {
  flex-direction:column;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals .thumb {
  flex:0 0 auto; width:104px !important; max-width:104px;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals .body {
  flex:1 1 auto; width:100% !important;
}
}
@media (prefers-reduced-motion:reduce) {
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .page_index_site .journals > ul > li {
  transition:none;
}
}

/* FOOTER FINAL: matches OJS paragraphs, no custom HTML classes required.
   Page Footer must contain TWO paragraphs: identity/address, then credit. */
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_footer_wrapper {
  display:block !important; background:#083d57 !important; color:#fff !important; border-top:4px solid #ffb400 !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_footer {
  display:grid !important; grid-template-columns:minmax(0,1fr) 120px; align-items:center; gap:0 28px; width:calc(100% - 64px) !important; max-width:1800px; margin:0 auto !important; padding:28px 0 0 !important; background:transparent !important; border:0 !important; color:#fff;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_footer::before,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_footer::after {
  display:none !important; content:none !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_footer_content {
  display:contents !important; float:none !important; width:auto !important; margin:0 !important; padding:0 !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_footer_content > p:first-child {
  grid-column:1; grid-row:1; margin:0 !important; padding:0 0 24px !important; color:#edf4f8; font-size:15px; line-height:1.75; text-align:left; overflow-wrap:anywhere;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_footer_content > p:first-child > strong:first-child {
  display:inline-block; margin-bottom:6px; color:#fff; font-size:21px;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_footer_content > p:last-child:not(:first-child) {
  grid-column:1 / -1; grid-row:2; margin:0 !important; padding:14px 0 !important; border-top:1px solid #ffffff30; color:#edf4f8; font-size:13px; line-height:1.65; text-align:center; overflow-wrap:anywhere;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_footer_content > p:last-child:not(:first-child) strong {
  color:#ffcf62;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_brand_footer {
  grid-column:2; grid-row:1; align-self:center; justify-self:end; float:none !important; width:auto !important; margin:0 !important; padding:0 0 24px !important; background:transparent !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_brand_footer img {
  display:block; width:110px !important; max-width:100%; height:auto; margin:0 !important;
}
@media (max-width:600px) {
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_footer {
  grid-template-columns:minmax(0,1fr); width:calc(100% - 32px) !important; padding-top:24px !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_footer_content > p:first-child {
  grid-column:1; grid-row:1; text-align:center; padding-bottom:18px !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_brand_footer {
  grid-column:1; grid-row:2; justify-self:center; padding-bottom:20px !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_footer_content > p:last-child:not(:first-child) {
  grid-column:1; grid-row:3;
}
}

/* Intro heading fallback for OJS editors saving a bold paragraph. */
body:has(.page_index_site) .about_site > p:first-child > strong:first-child {
  display:block;
  margin-bottom:12px;
  color:#082d46;
  font-size:clamp(24px,2.4vw,30px);
  font-weight:750;
  line-height:1.3;
}
body:has(.page_index_site) .about_site > p:last-child {
  color:#506574;
  font-style:italic;
}

/* Compact account navigation for phones and tablets. */
@media (max-width:1000px) {
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_head,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_head_wrapper {
 height:auto !important; min-height:0 !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_name_wrapper {
 float:none !important; box-sizing:border-box;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_nav_menu {
 justify-content:stretch; align-items:stretch; padding:12px 16px 16px !important; gap:12px;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_navigation_user_wrapper,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUserWrapper,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_navigation_primary_wrapper,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_navigation_primary_row {
 width:100% !important; min-width:0; height:auto !important; min-height:0 !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationPrimary {
 width:100% !important; justify-content:flex-start; align-items:stretch;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li {
 flex:1 1 140px; min-width:0; width:auto !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li:has(> ul) {
 flex-basis:100%; width:100% !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > a {
 justify-content:center; width:100%; min-height:44px; padding:10px 14px; font-size:15px;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > ul,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li:hover > ul,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li:focus-within > ul,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > a[aria-expanded="true"] + ul,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > ul.show {
 display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; position:static !important; inset:auto !important; transform:none !important; float:none !important; width:100% !important; min-width:0 !important; max-width:none !important; height:auto !important; margin:8px 0 0 !important; padding:8px !important; box-sizing:border-box; border-radius:10px; box-shadow:none;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > ul > li {
 display:block; float:none !important; width:auto !important; min-width:0; margin:0 !important; padding:0 !important; border:0;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > ul > li > a {
 display:flex !important; align-items:center; justify-content:center; width:100%; min-height:44px; padding:10px 8px !important; box-sizing:border-box; border:1px solid #dce6ed; border-radius:7px; background:#f2f7fb; font-size:14px !important; line-height:1.4; text-align:center; white-space:normal; overflow-wrap:anywhere;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > ul > li > a:hover,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > ul > li > a:focus-visible {
 background:#fff6da; border-color:#d69600;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .about_site,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_footer_content > p {
 overflow-wrap:anywhere;
}
}
@media (max-width:340px) {
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > ul { grid-template-columns:minmax(0,1fr); }
}

/* Account notification count: readable on light menu links. */
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser > li > ul a span {
 color:inherit !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) #navigationUser .task_count {
 display:inline-flex !important; flex-direction:row !important; align-items:center; justify-content:center; flex:0 0 auto !important; width:auto !important; height:auto !important; min-width:36px; min-height:24px; max-width:none !important; margin:0 0 0 8px; padding:2px 8px; white-space:nowrap !important; overflow-wrap:normal !important; word-break:normal !important; text-indent:0 !important; box-sizing:border-box; border:1px solid #d69600; border-radius:999px; background:#ffb400 !important; color:#082d46 !important; font-size:12px; font-weight:750; line-height:1.3; vertical-align:middle;
}

/* Mobile banner: remove the space reserved for the hidden menu toggle. */
@media (max-width:1000px) {
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_name_wrapper,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_name,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_name > a,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_name .is_img {
 display:block !important; float:none !important; position:relative !important; inset:auto !important; transform:none !important; width:100% !important; max-width:none !important; min-width:0; margin:0 !important; padding:0 !important; text-indent:0 !important; box-sizing:border-box;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_site_name img {
 display:block !important; position:static !important; transform:none !important; width:100% !important; max-width:100% !important; height:auto !important; max-height:none !important; margin:0 !important; padding:0 !important; box-sizing:border-box;
}
}

/* Journal descriptions: justify on desktop, tablet, and mobile. */
.page_index_site .journals .description,
.page_index_site .journals .description p {
  text-align: justify !important;
  text-align-last: left !important;
  text-justify: inter-word;
  word-spacing: normal;
  letter-spacing: normal;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: manual;
}

/* Final paragraph override across all viewport sizes. */
body.pkp_page_index .pkp_structure_main .page_index_site .journals > ul > li .body .description,
body.pkp_page_index .pkp_structure_main .page_index_site .journals > ul > li .body .description p {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  text-align: justify !important;
  text-align-last: left !important;
  text-justify: inter-word;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  word-spacing: normal !important;
  letter-spacing: normal !important;
}

/* Mobile text header: restore spacing after the banner reset. */
@media (max-width: 1000px) {
  body.pkp_page_index:has(.page_index_site) .pkp_site_name > a.is_text {
    padding: 24px 20px 16px !important;
    box-sizing: border-box;
    font-size: clamp(24px, 4vw, 32px);
    line-height: 1.3;
    text-align: left;
    white-space: normal;
    overflow-wrap: break-word;
  }
}

/* Portal footer: light blue gradient matching the supplied journal reference. */
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_footer_wrapper {
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 35%, #eef7fc 100%) !important;
  color: #064f78 !important;
  border-top: 0 !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_footer {
  background: transparent !important;
  color: #064f78 !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_footer_content > p,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_footer_content > p strong,
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_structure_footer a {
  color: #064f78 !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_footer_content > p:first-child > strong:first-child {
  color: #0868ac !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_footer_content > p:last-child:not(:first-child) {
  border-top-color: #dce6ed !important;
}
body:is(:has(.page_index_site), :has(.pkp_site_name img[src*="/public/site/"])) .pkp_brand_footer img {
  filter: none !important;
}
