/**
 * JoCPES Premium Academic UI
 * CSS-only redesign for OJS 3.5 Default Theme
 * Upload via: Settings > Website > Appearance > Advanced > Journal Style Sheet
 * No PHP, HTML/template, JavaScript, or plugin changes required.
 */

/* =========================================================
   01. DESIGN TOKENS
   ========================================================= */
:root {
  --j-navy-950:#102638;
  --j-navy-900:#153047;
  --j-navy-800:#1d3f5d;
  --j-primary:#1f5f8c;
  --j-primary-dark:#174a6d;
  --j-primary-soft:#edf5fa;
  --j-accent:#2d777a;
  --j-ink:#18222c;
  --j-text:#26333e;
  --j-muted:#5f6c77;
  --j-subtle:#7d8993;
  --j-canvas:#f4f6f8;
  --j-surface:#fff;
  --j-surface-soft:#f8fafb;
  --j-surface-blue:#f4f8fb;
  --j-border:#dde4e9;
  --j-border-strong:#c9d2d9;
  --j-focus:#1769aa;
  --j-radius:4px;
  --j-shadow-xs:0 1px 2px rgba(16,38,56,.04);
  --j-shadow-sm:0 6px 22px rgba(16,38,56,.07);
  --j-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --j-editorial:Georgia,"Times New Roman",Times,serif;
  --j-container:1480px;
}

/* =========================================================
   02. GLOBAL / RESET
   ========================================================= */
html{background:var(--j-canvas);scroll-behavior:smooth}
body{margin:0;background:var(--j-canvas);color:var(--j-text);font-family:var(--j-ui);font-size:16px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.pkp_structure_page{width:100%!important;max-width:none!important;margin:0!important;background:var(--j-surface);color:var(--j-text);box-shadow:none!important}
.pkp_head_wrapper,.pkp_structure_content,.pkp_structure_footer_wrapper{width:calc(100% - 48px)!important;max-width:var(--j-container)!important;margin-inline:auto!important}
img,iframe,video,canvas,svg{max-width:100%}img{height:auto}
a,.value,.obj_article_details,.obj_article_summary{overflow-wrap:anywhere}
pre,code{overflow-x:auto;white-space:pre-wrap;word-break:break-word}
svg style{display:none!important}

@media (min-width:992px){
  .pkp_structure_content{display:flex!important;align-items:flex-start;gap:40px;padding-top:40px!important;padding-bottom:64px!important}
  .pkp_structure_main{flex:1 1 auto;float:none!important;width:auto!important;max-width:none!important;min-width:0;padding:0!important}
  .pkp_structure_sidebar{flex:0 0 320px;float:none!important;width:320px!important;margin:0!important;padding:0!important}
}

/* =========================================================
   03. TYPOGRAPHY
   ========================================================= */
.pkp_structure_main{font-family:var(--j-ui);color:var(--j-text)}
.pkp_structure_main h1,.pkp_structure_main h2,.pkp_structure_main h3,.obj_article_details .page_title,.obj_article_summary .title,.obj_issue_toc .section h2,.obj_issue_summary .title{font-family:var(--j-editorial);color:var(--j-ink);text-wrap:balance}
.pkp_structure_main h1{margin:0 0 1.5rem;font-size:clamp(2rem,2.7vw,2.7rem);line-height:1.14;font-weight:700;letter-spacing:-.025em}
.pkp_structure_main h2{margin:2.5rem 0 1rem;font-size:clamp(1.5rem,2vw,1.9rem);line-height:1.22;font-weight:700;letter-spacing:-.018em}
.pkp_structure_main h3{margin:2rem 0 .75rem;font-size:1.22rem;line-height:1.32;font-weight:700}
.pkp_structure_main h4,.pkp_structure_main h5,.pkp_structure_main h6{color:var(--j-ink);font-family:var(--j-ui);line-height:1.35}
.pkp_structure_main p,.pkp_structure_main li{line-height:1.72}
.pkp_structure_main p{margin-top:0;margin-bottom:1.05rem}
.pkp_structure_main ul,.pkp_structure_main ol{padding-inline-start:1.4rem}
.pkp_structure_main strong,.pkp_structure_main b{color:#202c36;font-weight:650}
a{color:var(--j-primary);text-decoration-thickness:1px;text-underline-offset:.16em;transition:color .15s ease,border-color .15s ease,background-color .15s ease}
a:hover{color:var(--j-primary-dark)}
.cmp_breadcrumbs,.cmp_breadcrumbs a{color:var(--j-muted);font-size:.84rem;line-height:1.4}.cmp_breadcrumbs{margin-bottom:1.75rem}

/* =========================================================
   04. HEADER
   ========================================================= */
.pkp_structure_head{background:var(--j-surface)!important;border-top:4px solid var(--j-navy-950);border-bottom:1px solid var(--j-border);box-shadow:var(--j-shadow-xs)}
.pkp_head_wrapper{position:relative;padding-top:20px;padding-bottom:0}
@media (min-width:992px){
  .pkp_site_name_wrapper{min-height:100px;height:auto!important}
  .pkp_site_name{position:static!important;margin:0!important;padding:0!important;max-width:620px;overflow:visible;white-space:normal}
  .pkp_site_name>a,.pkp_site_name .is_img{display:inline-flex;align-items:center;padding:0!important;margin:0!important}
  .pkp_site_name .is_img img{display:block;width:auto;height:auto;max-height:86px!important;max-width:390px}
  .pkp_site_name .is_text{color:var(--j-navy-950)!important;font-family:var(--j-editorial);font-size:1.6rem!important;line-height:1.25!important;font-weight:700}
}
.pkp_navigation_user>li>a{color:var(--j-muted)!important;font-size:.84rem;font-weight:600;text-decoration:none}.pkp_navigation_user>li>a:hover,.pkp_navigation_user>li>a:focus{color:var(--j-primary)!important}

/* =========================================================
   05. NAVIGATION
   ========================================================= */
.pkp_navigation_primary_wrapper{margin-top:16px;padding:0!important;border-top:1px solid var(--j-border);background:var(--j-surface)}
.pkp_navigation_primary{margin:0!important}
.pkp_navigation_primary>li>a,.pkp_navigation_search_wrapper a{display:inline-flex;align-items:center;min-height:48px;padding:0 14px!important;border:0!important;border-bottom:2px solid transparent!important;color:var(--j-navy-900)!important;font-size:.92rem;font-weight:600;text-decoration:none!important}
.pkp_navigation_primary>li:first-child>a{padding-inline-start:0!important;padding-inline-end:16px!important}
.pkp_navigation_primary>li>a:hover,.pkp_navigation_primary>li>a:focus,.pkp_navigation_search_wrapper a:hover,.pkp_navigation_search_wrapper a:focus{color:var(--j-primary)!important;border-bottom-color:var(--j-primary)!important;background:transparent!important;outline:0}
.pkp_navigation_primary>li.current>a,.pkp_navigation_primary>li.active>a,.pkp_navigation_primary>li.is_active>a,.pkp_navigation_primary>li>a[aria-current="page"]{color:var(--j-primary)!important;border-bottom-color:var(--j-primary)!important}
.pkp_navigation_primary ul{padding:6px 0!important;background:#fff!important;border:1px solid var(--j-border)!important;border-radius:var(--j-radius)!important;box-shadow:var(--j-shadow-sm)!important}
.pkp_navigation_primary ul li a{padding:9px 14px!important;border:0!important;border-inline-start:3px solid transparent!important;color:var(--j-text)!important;font-size:.9rem;font-weight:500;line-height:1.4;text-decoration:none!important}
.pkp_navigation_primary ul li a:hover,.pkp_navigation_primary ul li a:focus{background:var(--j-primary-soft)!important;border-inline-start-color:var(--j-primary)!important;color:var(--j-primary-dark)!important}
.pkp_site_nav_menu{background:#fff!important;border-top:1px solid var(--j-border);box-shadow:none!important}.pkp_site_nav_menu a{color:var(--j-navy-900)!important}
.pkp_site_nav_toggle{appearance:none;-webkit-appearance:none;box-shadow:none!important;background:#fff!important;border:1px solid var(--j-border-strong)!important;border-radius:var(--j-radius)!important}
.pkp_site_nav_toggle>span{width:22px!important;height:22px!important;border:0!important;background-color:transparent!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23153047' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='4' y1='7' x2='20' y2='7'/%3E%3Cline x1='4' y1='12' x2='20' y2='12'/%3E%3Cline x1='4' y1='17' x2='20' y2='17'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important}
.pkp_site_nav_toggle>span:before,.pkp_site_nav_toggle>span:after{content:none!important;display:none!important}
.pkp_site_nav_toggle.pkp_site_nav_toggle--transform{border-color:var(--j-primary)!important;background:var(--j-primary-soft)!important}
.pkp_site_nav_toggle.pkp_site_nav_toggle--transform>span{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f5f8c' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3C/svg%3E")!important}

/* =========================================================
   06. HOMEPAGE
   ========================================================= */
.page_index_journal{display:flex;flex-direction:column}.page_index_journal .homepage_about{order:1}.page_index_journal .additional_content{order:2}.page_index_journal .current_issue{order:3}
.page_index_journal .homepage_about{margin:0;padding:0;border:0}.page_index_journal .homepage_about h2{margin-top:0;margin-bottom:1.25rem;font-size:clamp(1.75rem,2.1vw,2.1rem)}
.page_index_journal .additional_content{margin:0 0 3.5rem;padding:0;color:var(--j-text)}
.additional_content .row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px;margin:0;padding:30px;background:var(--j-surface-soft);border:1px solid var(--j-border);border-top:3px solid var(--j-navy-900);border-radius:var(--j-radius)}
.additional_content .aimcolumn.aimleft{flex:0 0 230px;max-width:230px}.additional_content .aimcolumn.aimright{flex:1 1 480px;min-width:0}
.additional_content .aimcolumn.aimleft img,.additional_content img[alt="cover image"]{display:block;width:100%!important;max-width:230px!important;height:auto!important;margin:0 auto;border:1px solid var(--j-border);background:#fff;box-shadow:var(--j-shadow-xs)}
.additional_content .aimcolumn.aimright>*:first-child{margin-top:0}.additional_content .aimcolumn.aimright ul{padding-inline-start:1.2rem}
.additional_content .container{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:1.25rem}.additional_content .container img.indexings{width:auto;height:38px;max-width:100%;object-fit:contain;filter:saturate(.9)}
.page_index_journal .current_issue{margin-top:0;padding-top:0;border-top:0}.page_index_journal .current_issue>h2{display:flex;align-items:center;gap:12px;margin:0 0 1.5rem}.page_index_journal .current_issue>h2:after{content:"";flex:1 1 auto;height:1px;background:var(--j-border)}

/* =========================================================
   07. JOURNAL / ISSUE / ARTICLE LIST
   ========================================================= */
.obj_issue_toc,.obj_issue_summary{color:var(--j-text)}.obj_issue_toc .heading,.obj_issue_summary{margin-bottom:2rem}.obj_issue_toc .heading .title,.obj_issue_summary .title{color:var(--j-ink);font-weight:700;line-height:1.3}
.obj_issue_toc .cover img,.obj_issue_summary .cover img{border:1px solid var(--j-border);background:#fff;box-shadow:var(--j-shadow-xs)}
.obj_issue_toc .description,.obj_issue_summary .description{color:var(--j-text);line-height:1.72}.obj_issue_toc .published,.obj_issue_toc .pub_id,.obj_issue_summary .series,.obj_issue_summary .date{color:var(--j-muted);font-size:.88rem;line-height:1.55}
.obj_issue_toc .section{margin-top:2.5rem}.obj_issue_toc .section>h2,.obj_issue_toc .section h2{margin:0 0 1.1rem;padding-bottom:.7rem;border-bottom:1px solid var(--j-border);color:var(--j-navy-900);font-size:1.35rem;letter-spacing:-.01em}
.obj_article_summary{position:relative;margin:0 0 14px;padding:22px 24px;border:1px solid var(--j-border);border-inline-start:3px solid var(--j-primary);border-radius:var(--j-radius)!important;background:#fff;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.obj_article_summary:hover{border-color:var(--j-border-strong);box-shadow:var(--j-shadow-xs);transform:translateY(-1px)}
.obj_article_summary .title{margin:0 0 .55rem;color:var(--j-ink);font-family:var(--j-editorial);font-size:1.16rem;line-height:1.4;font-weight:700;letter-spacing:-.01em}.obj_article_summary .title a{color:var(--j-ink);text-decoration:none}.obj_article_summary .title a:hover,.obj_article_summary .title a:focus{color:var(--j-primary);text-decoration:underline}
.obj_article_summary .subtitle{color:var(--j-text);font-size:.96rem;line-height:1.5}.obj_article_summary .authors{margin-bottom:.6rem;color:var(--j-muted);font-size:.9rem;line-height:1.55}.obj_article_summary .pages,.obj_article_summary .published,.obj_article_summary .date{color:var(--j-subtle);font-size:.82rem}
.obj_article_usage_counts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--j-border)}.usage_count{display:inline-flex;align-items:center;gap:.35rem;color:var(--j-muted);font-size:.78rem;line-height:1.3}.usage_count_number{color:var(--j-ink);font-weight:650}

/* =========================================================
   08. ARTICLE PAGE
   ========================================================= */
/* Do not add width/padding to .obj_article_details, .main_entry or .entry_details. */
.obj_article_details .page_title{margin-top:0;margin-bottom:1.15rem;color:var(--j-ink);font-family:var(--j-editorial);font-size:clamp(2rem,3vw,2.75rem);line-height:1.17;font-weight:700;letter-spacing:-.025em}
.obj_article_details .subtitle{color:var(--j-muted);font-size:1.05rem;line-height:1.55}.obj_article_details .authors{margin-top:.75rem}.obj_article_details .authors .name{color:var(--j-ink);font-weight:650}.obj_article_details .authors .affiliation{color:var(--j-muted);font-size:.88rem;line-height:1.5}.obj_article_details .authors .orcid{font-size:.82rem}
.obj_article_details .item{margin-top:1.75rem}.obj_article_details .item>.label{margin-bottom:.65rem;color:var(--j-navy-900);font-family:var(--j-editorial);font-size:1.2rem;line-height:1.35;font-weight:700}
.obj_article_details .item.abstract{margin-top:2rem;padding:22px 24px;border:1px solid var(--j-border);border-inline-start:3px solid var(--j-primary);border-radius:var(--j-radius);background:var(--j-surface-blue);color:var(--j-text);line-height:1.78}.obj_article_details .item.abstract>.label{margin-top:0;margin-bottom:.85rem;color:var(--j-navy-950);font-size:1.28rem}.obj_article_details .item.abstract p:last-child{margin-bottom:0}
.obj_article_details .item.references .value,.obj_article_details .item.citations .value{color:var(--j-text);line-height:1.78}
.obj_article_details .entry_details .item{margin-top:0;padding:14px 0;border-top:1px solid var(--j-border)}.obj_article_details .entry_details .item:first-child{border-top:0;padding-top:0}.obj_article_details .entry_details .label{margin-bottom:.35rem;color:var(--j-muted);font-family:var(--j-ui);font-size:.76rem;line-height:1.35;font-weight:700;letter-spacing:.025em;text-transform:none}.obj_article_details .entry_details .value{color:var(--j-text);font-size:.88rem;line-height:1.55}
.obj_article_details .pub_id a,.obj_article_details .doi a{color:var(--j-primary);font-weight:600}

/* =========================================================
   09. SIDEBAR
   ========================================================= */
.pkp_structure_sidebar{color:var(--j-text);font-family:var(--j-ui);font-size:.9rem;line-height:1.55}.pkp_block{margin:0 0 18px;padding:20px;border:1px solid var(--j-border);border-top:2px solid var(--j-navy-900);border-radius:var(--j-radius)!important;background:#fff;box-shadow:none}
.pkp_block .title,.pkp_block h2{margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid var(--j-border);color:var(--j-navy-950);font-family:var(--j-ui);font-size:.92rem;line-height:1.35;font-weight:700;letter-spacing:-.005em;text-transform:none}.pkp_block .content{color:var(--j-text)}.pkp_block .content p{margin-top:0;margin-bottom:.8rem;line-height:1.65}.pkp_structure_sidebar img{max-width:100%;height:auto}
.pkp_block .content ul{margin:0;padding:0;list-style:none}.pkp_block .content ul li{margin:0}.pkp_block .content ul li+li{border-top:1px solid var(--j-border)}.pkp_block .content ul li a{display:flex;align-items:center;gap:.55rem;margin:0 -8px;padding:8px;border-inline-start:2px solid transparent;color:var(--j-text);text-decoration:none;line-height:1.4}.pkp_block .content ul li a .fa{width:1.1em;flex:0 0 1.1em;color:var(--j-subtle);text-align:center}
.pkp_block .content ul li a:hover,.pkp_block .content ul li a:focus,.pkp_block .content ul li a[aria-current="page"],.pkp_block .content ul li a.current{background:var(--j-primary-soft);border-inline-start-color:var(--j-primary);color:var(--j-primary-dark);outline:0}.pkp_block .content ul li a:hover .fa,.pkp_block .content ul li a:focus .fa{color:var(--j-primary)}.pkp_block img{border-radius:var(--j-radius)}

/* =========================================================
   10. BUTTONS & FORMS
   ========================================================= */
.cmp_button,.obj_galley_link,.value.galleys_links a{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:.55rem .95rem!important;border:1px solid var(--j-primary)!important;border-radius:var(--j-radius)!important;background:#fff;color:var(--j-primary)!important;font-family:var(--j-ui);font-size:.86rem;line-height:1.2;font-weight:650;text-decoration:none!important;box-shadow:none!important}
.cmp_button:hover,.obj_galley_link:hover,.value.galleys_links a:hover{background:var(--j-primary)!important;border-color:var(--j-primary)!important;color:#fff!important}
.cmp_button.isPrimary,.cmp_button.isWarnable,.cmp_form button.submit,.cmp_form input.submit,.cmp_form button[type="submit"],.cmp_form input[type="submit"],.pkp_form button[type="submit"],.pkp_form input[type="submit"]{min-height:42px;padding:.6rem 1.15rem!important;border:1px solid var(--j-primary)!important;border-radius:var(--j-radius)!important;background:var(--j-primary)!important;color:#fff!important;font-weight:650;box-shadow:none!important}.cmp_button.isPrimary:hover,.cmp_form button.submit:hover,.cmp_form input.submit:hover,.cmp_form button[type="submit"]:hover,.cmp_form input[type="submit"]:hover,.pkp_form button[type="submit"]:hover,.pkp_form input[type="submit"]:hover{background:var(--j-primary-dark)!important;border-color:var(--j-primary-dark)!important}
.pkp_form label,.cmp_form label{color:var(--j-ink);font-size:.9rem;font-weight:650}
.pkp_form input[type="text"],.pkp_form input[type="email"],.pkp_form input[type="password"],.pkp_form input[type="search"],.pkp_form input[type="url"],.pkp_form select,.pkp_form textarea,.cmp_form input[type="text"],.cmp_form input[type="email"],.cmp_form input[type="password"],.cmp_form input[type="search"],.cmp_form input[type="url"],.cmp_form select,.cmp_form textarea{width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid var(--j-border-strong)!important;border-radius:var(--j-radius)!important;background:#fff!important;color:var(--j-ink);font-family:var(--j-ui);font-size:.95rem;line-height:1.45;box-shadow:none!important}.pkp_form textarea,.cmp_form textarea{min-height:140px;resize:vertical}
.pkp_form input:focus,.pkp_form select:focus,.pkp_form textarea:focus,.cmp_form input:focus,.cmp_form select:focus,.cmp_form textarea:focus{border-color:var(--j-focus)!important;outline:3px solid rgba(23,105,170,.16)!important;outline-offset:1px}

/* =========================================================
   11. TABLES
   ========================================================= */
.pkp_structure_main table{width:100%;max-width:100%;margin:1.5rem 0;border-collapse:collapse;border-spacing:0;color:var(--j-text);font-size:.9rem;line-height:1.5}.pkp_structure_main th,.pkp_structure_main td{padding:.75rem .85rem;border:1px solid var(--j-border);text-align:start;vertical-align:top}.pkp_structure_main th{background:var(--j-surface-soft);color:var(--j-ink);font-weight:700}.pkp_structure_main tbody tr:nth-child(even){background:#fbfcfd}

/* =========================================================
   12. FOOTER
   ========================================================= */
.pkp_structure_footer{margin-top:0;border-top:0;background:var(--j-navy-950)!important;color:#e7eef3}.pkp_structure_footer_wrapper{padding-top:38px!important;padding-bottom:32px!important}.pkp_footer_content{padding:0!important;color:#dfe8ee!important;font-size:.86rem;line-height:1.65}.pkp_footer_content div{background:transparent!important;box-shadow:none!important}.pkp_footer_content,.pkp_footer_content p,.pkp_footer_content li,.pkp_footer_content span,.pkp_footer_content strong,.pkp_footer_content b,.pkp_footer_content h1,.pkp_footer_content h2,.pkp_footer_content h3,.pkp_footer_content h4,.pkp_footer_content h5,.pkp_footer_content h6{color:#e7eef3!important}.pkp_footer_content a{color:#a9d4ec!important;text-decoration-color:rgba(169,212,236,.55)}.pkp_footer_content a:hover,.pkp_footer_content a:focus{color:#fff!important;text-decoration-color:#fff}.pkp_footer_content img{max-width:100%;height:auto}.pkp_brand_footer{display:none!important}

/* =========================================================
   13. RESPONSIVE
   ========================================================= */
@media (max-width:1199px){.pkp_head_wrapper,.pkp_structure_content,.pkp_structure_footer_wrapper{width:calc(100% - 40px)!important}}
@media (min-width:992px) and (max-width:1199px){.pkp_structure_content{gap:30px}.pkp_structure_sidebar{flex-basis:290px;width:290px!important}}
@media (max-width:991.98px){
  .pkp_head_wrapper,.pkp_structure_content,.pkp_structure_footer_wrapper{width:calc(100% - 32px)!important}
  .pkp_structure_content{display:block!important;padding-top:28px!important;padding-bottom:48px!important}.pkp_structure_main,.pkp_structure_sidebar{float:none!important;width:100%!important;max-width:none!important;margin:0!important}.pkp_structure_sidebar{margin-top:42px!important}
  .pkp_structure_head{position:sticky;top:0;z-index:1000}.pkp_head_wrapper{padding-top:0}.pkp_site_name_wrapper{min-height:64px}.pkp_site_name .is_img img{max-height:50px!important;max-width:280px}.pkp_site_nav_menu{max-height:calc(100vh - 64px);overflow-y:auto;border:1px solid var(--j-border);border-top:0;box-shadow:var(--j-shadow-sm)!important}
  .pkp_site_nav_menu a,.pkp_navigation_primary>li>a,.pkp_navigation_user>li>a{min-height:auto;padding:.6rem .5rem!important;border-bottom:0!important;color:var(--j-navy-900)!important}.pkp_site_nav_menu a:hover,.pkp_site_nav_menu a:focus{background:var(--j-primary-soft)!important;color:var(--j-primary-dark)!important}.additional_content .row{padding:24px;gap:24px}
}
@media (max-width:767.98px){
  body{font-size:15.5px}.pkp_head_wrapper,.pkp_structure_content,.pkp_structure_footer_wrapper{width:calc(100% - 24px)!important}.pkp_structure_main h1,.obj_article_details .page_title{font-size:1.85rem;line-height:1.2}.pkp_structure_main h2{font-size:1.48rem}
  .additional_content .row{display:block;padding:20px}.additional_content .aimcolumn.aimleft{width:100%;max-width:190px;margin:0 auto 24px}.additional_content .aimcolumn.aimleft img,.additional_content img[alt="cover image"]{max-width:190px!important}.obj_article_summary{padding:18px}.obj_article_details .item.abstract{padding:18px}.pkp_block{padding:18px}.pkp_structure_main table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media (max-width:479.98px){.pkp_head_wrapper,.pkp_structure_content,.pkp_structure_footer_wrapper{width:calc(100% - 20px)!important}.pkp_structure_content{padding-top:22px!important;padding-bottom:38px!important}.obj_article_summary{padding:16px;border-inline-start-width:2px}.obj_article_summary .title{font-size:1.08rem}.cmp_button,.obj_galley_link,.value.galleys_links a{width:100%;max-width:100%;white-space:normal}.pkp_structure_footer_wrapper{padding-top:28px!important;padding-bottom:26px!important}}

/* =========================================================
   14. ACCESSIBILITY
   ========================================================= */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.cmp_button:focus-visible,.obj_galley_link:focus-visible{outline:3px solid var(--j-focus)!important;outline-offset:3px!important}
.pkp_structure_main p a,.pkp_structure_main li a,.obj_article_details .item.abstract a,.obj_article_details .item.references a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
::selection{background:#d8eaf5;color:var(--j-navy-950)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.obj_article_summary:hover{transform:none}}
@media (forced-colors:active){.obj_article_summary,.pkp_block,.obj_article_details .item.abstract,.additional_content .row,.cmp_button,.obj_galley_link{border:1px solid CanvasText!important}a,.cmp_button,.obj_galley_link{forced-color-adjust:auto}}


/* =========================================================
   OJS DEFAULT THEME: REMOVE FULL-HEIGHT COLUMN GUIDE LINES
   ========================================================= */
/*
 * The OJS Default Theme draws the two vertical grey separators with
 * .pkp_structure_main::before and .pkp_structure_main::after.
 * They are pseudo-elements, not normal borders, so border-left/right:0
 * on the structural containers does not remove them.
 */
@media (min-width: 768px) {
  .pkp_structure_main::before,
  .pkp_structure_main::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    background: transparent !important;
  }
}

/* =========================================================
   15. HARD OVERRIDE — REMOVE OJS FULL-HEIGHT MAIN COLUMN LINES
   Unique v3 build to bypass cached journal stylesheet URLs.
   ========================================================= */
@media screen and (min-width: 768px) {
  .pkp_structure_page .pkp_structure_content .pkp_structure_main:before,
  .pkp_structure_page .pkp_structure_content .pkp_structure_main:after,
  .pkp_structure_page .pkp_structure_content .pkp_structure_main::before,
  .pkp_structure_page .pkp_structure_content .pkp_structure_main::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: none !important;
  }
}


/* =========================================================
   FOOTER FULL-WIDTH FIX
   ========================================================= */

/* Full-bleed navy footer across the entire viewport */
.pkp_structure_footer {
  position: relative !important;
  width: 100vw !important;
  max-width: none !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;

  padding: 0 !important;

  background: #102638 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Remove OJS/default grey wrapper */
.pkp_structure_footer_wrapper {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #102638 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Footer content container */
.pkp_footer_content {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #102638 !important;
}

/* Your custom footer HTML */
.pkp_footer_content > div {
  width: calc(100% - 64px) !important;
  max-width: 1480px !important;

  margin: 0 auto !important;
  padding-top: 30px !important;
  padding-bottom: 24px !important;

  background: transparent !important;
}

/* Remove any inherited grey footer/background */
.pkp_structure_page,
.pkp_structure_footer,
.pkp_structure_footer_wrapper,
.pkp_footer_content {
  border-bottom: 0 !important;
}

/* Mobile spacing */
@media (max-width: 767px) {
  .pkp_footer_content > div {
    width: calc(100% - 32px) !important;
    padding-top: 24px !important;
    padding-bottom: 20px !important;
  }
}
/* =========================================================
   16. ARTICLE PAGE — METADATA RAIL REFINEMENT (v4)
   Keeps OJS' native article-column widths intact.
   Only the content INSIDE .entry_details is restyled so the
   metadata rail remains stable and does not drop below the article.
   ========================================================= */

/* Make the article metadata read as one coherent academic panel */
.obj_article_details .entry_details > .item {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 13px 14px 14px !important;
  background: #fbfcfd !important;
  border: 1px solid var(--j-border) !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Top and bottom corners for the stacked metadata panel */
.obj_article_details .entry_details > .item:first-child {
  border-top: 1px solid var(--j-border) !important;
  border-radius: var(--j-radius) var(--j-radius) 0 0 !important;
}

.obj_article_details .entry_details > .item:last-child {
  border-radius: 0 0 var(--j-radius) var(--j-radius) !important;
}

/* Clear, journal-style metadata labels */
.obj_article_details .entry_details .item > .label,
.obj_article_details .entry_details .item .label {
  display: block !important;
  margin: 0 0 .42rem !important;
  padding: 0 !important;
  color: var(--j-navy-800) !important;
  font-family: var(--j-ui) !important;
  font-size: .70rem !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
  letter-spacing: .065em !important;
  text-transform: uppercase !important;
}

/* Better value rhythm and wrapping */
.obj_article_details .entry_details .item > .value,
.obj_article_details .entry_details .item .value {
  margin: 0 !important;
  color: var(--j-text) !important;
  font-size: .84rem !important;
  line-height: 1.60 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.obj_article_details .entry_details .value p {
  margin: 0 0 .72rem !important;
  line-height: 1.60 !important;
}

.obj_article_details .entry_details .value p:last-child {
  margin-bottom: 0 !important;
}

/* Links should stay readable without looking like a wall of blue */
.obj_article_details .entry_details .value a {
  color: var(--j-primary) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: .14em !important;
}

.obj_article_details .entry_details .value a:hover,
.obj_article_details .entry_details .value a:focus {
  color: var(--j-primary-dark) !important;
}

/* Article cover: clean, centered, restrained */
.obj_article_details .entry_details .cover_image,
.obj_article_details .entry_details .item.cover_image {
  background: #fff !important;
  text-align: center !important;
}

.obj_article_details .entry_details .cover_image img,
.obj_article_details .entry_details .item.cover_image img,
.obj_article_details .entry_details img.cover {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  border: 1px solid var(--j-border) !important;
  background: #fff !important;
  box-shadow: var(--j-shadow-xs) !important;
}

/* Download/Galley area — one clear action instead of a floating small button */
.obj_article_details .entry_details .item.galleys,
.obj_article_details .entry_details .galleys {
  background: #fff !important;
}

.obj_article_details .entry_details .galleys_links,
.obj_article_details .entry_details .value.galleys_links {
  display: block !important;
  width: 100% !important;
}

.obj_article_details .entry_details .obj_galley_link,
.obj_article_details .entry_details .galleys_links a {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 40px !important;
  justify-content: center !important;
  white-space: normal !important;
}

/* DOI and publication identifiers get slightly stronger hierarchy */
.obj_article_details .entry_details .pub_id .value,
.obj_article_details .entry_details .doi .value,
.obj_article_details .entry_details .item.pub_id .value,
.obj_article_details .entry_details .item.doi .value {
  font-weight: 600 !important;
}

/* Long legal / data-availability text should remain compact but readable */
.obj_article_details .entry_details .item.copyright .value,
.obj_article_details .entry_details .item.license .value,
.obj_article_details .entry_details .item.data_availability .value,
.obj_article_details .entry_details .item.data_statement .value {
  color: #46545f !important;
  font-size: .80rem !important;
  line-height: 1.58 !important;
}

/* License badges should not dominate the metadata column */
.obj_article_details .entry_details .item.copyright img,
.obj_article_details .entry_details .item.license img {
  display: block !important;
  width: auto !important;
  max-height: 31px !important;
  margin: .55rem 0 .6rem !important;
}

/* How-to-cite section gets a clearer academic treatment */
.obj_article_details .entry_details .item.citation,
.obj_article_details .entry_details .item.how_to_cite {
  background: #fff !important;
}

.obj_article_details .entry_details .item.citation .value,
.obj_article_details .entry_details .item.how_to_cite .value {
  color: #3f4d58 !important;
  font-family: var(--j-editorial) !important;
  font-size: .80rem !important;
  line-height: 1.55 !important;
}

/* Citation format dropdown: full-width and visually aligned */
.obj_article_details .entry_details select,
.obj_article_details .entry_details .citation_formats,
.obj_article_details .entry_details .citation_formats select {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 38px !important;
  margin-top: .65rem !important;
  padding: .45rem .65rem !important;
  border: 1px solid var(--j-border-strong) !important;
  border-radius: var(--j-radius) !important;
  background: #fff !important;
  color: var(--j-text) !important;
  font-family: var(--j-ui) !important;
  font-size: .80rem !important;
  box-shadow: none !important;
}

/* Main article metadata before the abstract: DOI/keywords stay clean */
.obj_article_details .main_entry > .item:not(.abstract):not(.references):not(.citations) {
  margin-top: 1.35rem !important;
}

.obj_article_details .main_entry > .item:not(.abstract):not(.references):not(.citations) > .label {
  color: var(--j-navy-900) !important;
  font-family: var(--j-ui) !important;
  font-size: .82rem !important;
  font-weight: 750 !important;
}

/* Slightly more air before Abstract and References */
.obj_article_details .main_entry .item.abstract {
  margin-top: 2.15rem !important;
}

.obj_article_details .main_entry .item.references {
  margin-top: 2.5rem !important;
}

/* Tablet/mobile: metadata becomes a deliberate block, not an afterthought */
@media (max-width: 991.98px) {
  .obj_article_details .entry_details {
    margin-top: 2.25rem !important;
  }

  .obj_article_details .entry_details > .item {
    padding: 14px 16px 15px !important;
  }
}

@media (max-width: 479.98px) {
  .obj_article_details .entry_details > .item {
    padding: 12px 13px 13px !important;
  }

  .obj_article_details .entry_details .item > .label,
  .obj_article_details .entry_details .item .label {
    font-size: .68rem !important;
  }

  .obj_article_details .entry_details .item > .value,
  .obj_article_details .entry_details .item .value {
    font-size: .82rem !important;
  }
}

/* =========================================================
   17. JoCPES SIGNATURE MASTHEAD — PREMIUM ACADEMIC HEADER
   Visual direction: international scholarly publisher,
   spacious editorial masthead + floating navigation.
   ========================================================= */

/* Full-width masthead with a restrained scientific texture */
.pkp_structure_head {
  position: relative !important;
  overflow: visible !important;
  border-top: 5px solid var(--j-navy-950) !important;
  border-bottom: 0 !important;
  background-color: #f8fbfd !important;
  background-image:
    radial-gradient(circle at 84% 16%, rgba(31,95,140,.13) 0, rgba(31,95,140,0) 24%),
    radial-gradient(circle at 72% 92%, rgba(45,119,122,.09) 0, rgba(45,119,122,0) 26%),
    linear-gradient(116deg, #f7fafc 0%, #ffffff 45%, #edf5f9 100%) !important;
  box-shadow: inset 0 -1px 0 rgba(16,38,56,.07) !important;
}

/* Subtle scientific grid — intentionally very low contrast */
.pkp_structure_head::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .28 !important;
  background-image:
    linear-gradient(rgba(31,95,140,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31,95,140,.045) 1px, transparent 1px) !important;
  background-size: 34px 34px !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.28) 48%, #000 100%) !important;
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.28) 48%, #000 100%) !important;
}

.pkp_head_wrapper {
  position: relative !important;
  z-index: 2 !important;
  padding-top: 26px !important;
  padding-bottom: 20px !important;
}

/* Journal identity area */
@media (min-width: 992px) {
  .pkp_site_name_wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 132px !important;
    height: auto !important;
    padding: 8px 0 26px !important;
  }

  /* Small editorial accent next to the journal mark */
  .pkp_site_name_wrapper::before {
    content: "" !important;
    flex: 0 0 4px !important;
    align-self: stretch !important;
    max-height: 88px !important;
    margin: auto 22px auto 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, var(--j-primary) 0%, var(--j-accent) 100%) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.7) !important;
  }

  /* Secondary identity line; visual only, key information also exists elsewhere */
  .pkp_site_name_wrapper::after {
    content: "PEER-REVIEWED  ·  OPEN ACCESS  ·  e-ISSN 2776-2521" !important;
    position: absolute !important;
    left: 26px !important;
    bottom: 8px !important;
    color: #5d7282 !important;
    font-family: var(--j-ui) !important;
    font-size: .70rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .115em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .pkp_site_name {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    max-width: 680px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .pkp_site_name > a,
  .pkp_site_name .is_img {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .pkp_site_name .is_img img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 500px !important;
    max-height: 104px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 6px 14px rgba(16,38,56,.06)) !important;
  }

  .pkp_site_name .is_text {
    max-width: 680px !important;
    color: var(--j-navy-950) !important;
    font-family: var(--j-editorial) !important;
    font-size: clamp(2rem, 2.35vw, 2.65rem) !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: -.03em !important;
  }
}

/* Utility/user navigation: quiet, publisher-like treatment */
.pkp_navigation_user_wrapper {
  z-index: 4 !important;
}

@media (min-width: 992px) {
  .pkp_navigation_user {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 5px !important;
    border: 1px solid rgba(201,210,217,.82) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.72) !important;
    box-shadow: 0 5px 16px rgba(16,38,56,.045) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }

  .pkp_navigation_user > li > a {
    min-height: 32px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    color: #526675 !important;
    font-family: var(--j-ui) !important;
    font-size: .77rem !important;
    line-height: 32px !important;
    font-weight: 650 !important;
    text-decoration: none !important;
  }

  .pkp_navigation_user > li > a:hover,
  .pkp_navigation_user > li > a:focus {
    background: var(--j-primary-soft) !important;
    color: var(--j-primary-dark) !important;
  }
}

/* Floating primary navigation — gives the masthead its signature presence */
@media (min-width: 992px) {
  .pkp_navigation_primary_wrapper {
    position: relative !important;
    z-index: 5 !important;
    display: flex !important;
    align-items: center !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid rgba(201,210,217,.9) !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.90) !important;
    box-shadow: 0 14px 36px rgba(16,38,56,.10), 0 2px 6px rgba(16,38,56,.04) !important;
    backdrop-filter: blur(16px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
  }

  .pkp_navigation_primary {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
    margin: 0 !important;
  }

  .pkp_navigation_primary > li {
    position: relative !important;
  }

  .pkp_navigation_primary > li > a,
  .pkp_navigation_search_wrapper a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 56px !important;
    padding: 0 15px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: var(--j-navy-900) !important;
    font-family: var(--j-ui) !important;
    font-size: .88rem !important;
    line-height: 1 !important;
    font-weight: 650 !important;
    letter-spacing: -.008em !important;
    text-decoration: none !important;
    transition: background-color .16s ease, color .16s ease, transform .16s ease !important;
  }

  .pkp_navigation_primary > li:first-child > a {
    padding-inline-start: 15px !important;
  }

  .pkp_navigation_primary > li > a::after {
    content: "" !important;
    position: absolute !important;
    left: 15px !important;
    right: 15px !important;
    bottom: 7px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: var(--j-primary) !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform .18s ease !important;
  }

  .pkp_navigation_primary > li > a:hover,
  .pkp_navigation_primary > li > a:focus {
    background: #f3f8fb !important;
    color: var(--j-primary-dark) !important;
    transform: translateY(-1px) !important;
  }

  .pkp_navigation_primary > li > a:hover::after,
  .pkp_navigation_primary > li > a:focus::after,
  .pkp_navigation_primary > li.current > a::after,
  .pkp_navigation_primary > li.active > a::after,
  .pkp_navigation_primary > li.is_active > a::after,
  .pkp_navigation_primary > li > a[aria-current="page"]::after {
    transform: scaleX(1) !important;
  }

  .pkp_navigation_primary > li.current > a,
  .pkp_navigation_primary > li.active > a,
  .pkp_navigation_primary > li.is_active > a,
  .pkp_navigation_primary > li > a[aria-current="page"] {
    background: #f6fafc !important;
    color: var(--j-primary-dark) !important;
  }

  /* Search gets a differentiated utility treatment */
  .pkp_navigation_search_wrapper {
    margin-left: auto !important;
    padding-left: 8px !important;
    border-left: 1px solid var(--j-border) !important;
  }

  .pkp_navigation_search_wrapper a {
    min-height: 40px !important;
    margin: 8px 0 !important;
    padding: 0 14px !important;
    border: 1px solid #d4e2eb !important;
    border-radius: 999px !important;
    background: #f3f8fb !important;
    color: var(--j-primary-dark) !important;
    font-size: .82rem !important;
  }

  .pkp_navigation_search_wrapper a:hover,
  .pkp_navigation_search_wrapper a:focus {
    border-color: #b9d3e4 !important;
    background: #eaf4fa !important;
    color: var(--j-navy-950) !important;
    transform: none !important;
  }

  /* Dropdowns feel like editorial navigation, not browser defaults */
  .pkp_navigation_primary ul {
    min-width: 238px !important;
    margin-top: 8px !important;
    padding: 8px !important;
    border: 1px solid rgba(201,210,217,.92) !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 18px 42px rgba(16,38,56,.14) !important;
  }

  .pkp_navigation_primary ul li a {
    min-height: 38px !important;
    padding: 9px 11px !important;
    border: 0 !important;
    border-radius: 6px !important;
    color: var(--j-text) !important;
    font-size: .86rem !important;
    font-weight: 550 !important;
  }

  .pkp_navigation_primary ul li a:hover,
  .pkp_navigation_primary ul li a:focus {
    background: var(--j-primary-soft) !important;
    color: var(--j-primary-dark) !important;
  }
}

/* Give the page a little breathing room below the floating navigation */
@media (min-width: 992px) {
  .pkp_structure_head + .pkp_structure_content,
  .pkp_structure_page > .pkp_structure_content {
    padding-top: 54px !important;
  }
}

/* Tablet/mobile: preserve the visual identity without carrying desktop bulk */
@media (max-width: 991.98px) {
  .pkp_structure_head {
    position: relative !important;
    top: auto !important;
    z-index: 100 !important;
    border-top-width: 4px !important;
    background-image:
      radial-gradient(circle at 90% 10%, rgba(31,95,140,.10) 0, rgba(31,95,140,0) 32%),
      linear-gradient(120deg, #f8fbfd 0%, #fff 60%, #eef5f8 100%) !important;
  }

  .pkp_structure_head::after {
    opacity: .18 !important;
    background-size: 28px 28px !important;
  }

  .pkp_head_wrapper {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .pkp_site_name_wrapper {
    min-height: 70px !important;
    padding: 4px 58px 4px 0 !important;
  }

  .pkp_site_name_wrapper::before,
  .pkp_site_name_wrapper::after {
    content: none !important;
    display: none !important;
  }

  .pkp_site_name .is_img img {
    max-width: 285px !important;
    max-height: 56px !important;
    filter: drop-shadow(0 4px 10px rgba(16,38,56,.05)) !important;
  }

  .pkp_site_name .is_text {
    color: var(--j-navy-950) !important;
    font-family: var(--j-editorial) !important;
    font-size: 1.18rem !important;
    line-height: 1.16 !important;
    font-weight: 700 !important;
  }

  .pkp_site_nav_toggle {
    top: 16px !important;
    right: 0 !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid #cfdae2 !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 7px 20px rgba(16,38,56,.08) !important;
    backdrop-filter: blur(10px) !important;
  }

  .pkp_navigation_primary_wrapper {
    margin-top: 8px !important;
    padding: 8px !important;
    border: 1px solid var(--j-border) !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(16,38,56,.09) !important;
  }

  .pkp_site_nav_menu {
    border: 0 !important;
    border-radius: 0 0 9px 9px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .pkp_navigation_primary > li > a,
  .pkp_navigation_user > li > a,
  .pkp_navigation_search_wrapper a {
    border-radius: 6px !important;
    color: var(--j-navy-900) !important;
    font-weight: 620 !important;
  }

  .pkp_navigation_primary > li > a:hover,
  .pkp_navigation_primary > li > a:focus,
  .pkp_navigation_user > li > a:hover,
  .pkp_navigation_user > li > a:focus,
  .pkp_navigation_search_wrapper a:hover,
  .pkp_navigation_search_wrapper a:focus {
    background: var(--j-primary-soft) !important;
    color: var(--j-primary-dark) !important;
  }

  /* Undo desktop breathing-room override on compact screens */
  .pkp_structure_head + .pkp_structure_content,
  .pkp_structure_page > .pkp_structure_content {
    padding-top: 28px !important;
  }
}

@media (max-width: 479.98px) {
  .pkp_site_name_wrapper {
    min-height: 64px !important;
    padding-right: 52px !important;
  }

  .pkp_site_name .is_img img {
    max-width: 230px !important;
    max-height: 48px !important;
  }

  .pkp_site_name .is_text {
    font-size: 1.02rem !important;
  }

  .pkp_site_nav_toggle {
    top: 14px !important;
    width: 38px !important;
    height: 38px !important;
  }
}

/* Compact desktop tuning for laptops / narrower journal windows */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .pkp_site_name_wrapper {
    min-height: 118px !important;
  }

  .pkp_site_name .is_img img {
    max-width: 410px !important;
    max-height: 90px !important;
  }

  .pkp_site_name .is_text {
    font-size: 2rem !important;
  }

  .pkp_navigation_primary > li > a {
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: .82rem !important;
  }

  .pkp_navigation_primary > li > a::after {
    left: 10px !important;
    right: 10px !important;
  }

  .pkp_navigation_search_wrapper a {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }
}


/* =========================================================
   18. v6 HARDENING — HEADER ACCOUNT BAR + SEARCH PAGE
   Fixes two visual regressions introduced by broad theme rules:
   1) desktop user navigation stretching across the masthead;
   2) OJS search form .submit wrapper being styled as a button.
   ========================================================= */

/* ---------- Desktop account / utility navigation ---------- */
@media (min-width: 992px) {
  .pkp_head_wrapper {
    position: relative !important;
  }

  .pkp_navigation_user_wrapper {
    position: absolute !important;
    top: 12px !important;
    right: 0 !important;
    left: auto !important;
    width: auto !important;
    max-width: 48% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pkp_navigation_user {
    display: inline-flex !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 4px 5px !important;
    justify-content: flex-end !important;
    border-radius: 999px !important;
  }

  .pkp_navigation_user > li {
    flex: 0 0 auto !important;
  }

  .pkp_navigation_user > li > a {
    white-space: nowrap !important;
  }

  /* Give the journal mark its own visual territory below utilities. */
  .pkp_site_name_wrapper {
    padding-top: 22px !important;
  }
}

/* ---------- Search page: polished scholarly search experience ---------- */
.page_search {
  --j-search-control-h: 46px;
}

.page_search > .cmp_breadcrumbs {
  margin-bottom: 1.4rem !important;
}

.page_search > h1,
.page_search h1 {
  margin-bottom: 1.6rem !important;
}

.page_search .cmp_form {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page_search .cmp_form .search_input {
  margin: 0 0 18px !important;
}

.page_search .cmp_form .search_input input,
.page_search .cmp_form input[name="query"] {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 50px !important;
  padding: 0 16px !important;
  border: 1px solid #cbd6de !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: var(--j-ink) !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
  box-shadow: 0 1px 2px rgba(16,38,56,.025) !important;
}

.page_search .cmp_form .search_input input:focus,
.page_search .cmp_form input[name="query"]:focus {
  border-color: var(--j-primary) !important;
  outline: 3px solid rgba(31,95,140,.12) !important;
  outline-offset: 1px !important;
}

/* Advanced filters become a deliberate panel instead of default fieldset UI. */
.page_search .cmp_form .search_advanced,
.page_search .cmp_form fieldset.search_advanced {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr) !important;
  gap: 20px 30px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 24px !important;
  border: 1px solid var(--j-border) !important;
  border-radius: 8px !important;
  background: #fbfcfd !important;
  box-shadow: none !important;
}

.page_search .cmp_form .search_advanced legend,
.page_search .cmp_form fieldset.search_advanced legend {
  padding: 0 10px !important;
  color: var(--j-navy-900) !important;
  font-family: var(--j-ui) !important;
  font-size: .80rem !important;
  line-height: 1.3 !important;
  font-weight: 750 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}

.page_search .cmp_form .search_advanced > div,
.page_search .cmp_form fieldset.search_advanced > div {
  min-width: 0 !important;
}

.page_search .cmp_form .search_advanced label {
  display: block !important;
  margin: 0 0 7px !important;
  color: #485865 !important;
  font-size: .82rem !important;
  line-height: 1.35 !important;
  font-weight: 650 !important;
}

/* OJS date controls are three selects; keep them on one tidy row. */
.page_search .cmp_form .search_advanced .fields,
.page_search .cmp_form .search_advanced .date_fields,
.page_search .cmp_form .search_advanced .date_from .value,
.page_search .cmp_form .search_advanced .date_to .value {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
}

.page_search .cmp_form .search_advanced select {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: var(--j-search-control-h) !important;
  padding: .55rem 2rem .55rem .7rem !important;
  border: 1px solid #cbd6de !important;
  border-radius: 6px !important;
  background-color: #fff !important;
  color: var(--j-text) !important;
  font-size: .88rem !important;
  box-shadow: none !important;
}

.page_search .cmp_form .search_advanced input[type="text"],
.page_search .cmp_form .search_advanced input[type="search"] {
  width: 100% !important;
  min-height: var(--j-search-control-h) !important;
  padding: .6rem .75rem !important;
  border: 1px solid #cbd6de !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* Critical fix: .submit is a container in the OJS search template. */
.page_search .cmp_form div.submit,
.page_search .cmp_form p.submit,
.page_search .cmp_form .submit:not(button):not(input):not(a) {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
}

.page_search .cmp_form div.submit:hover,
.page_search .cmp_form p.submit:hover,
.page_search .cmp_form .submit:not(button):not(input):not(a):hover {
  border: 0 !important;
  background: transparent !important;
}

.page_search .cmp_form button.submit,
.page_search .cmp_form button[type="submit"],
.page_search .cmp_form input.submit,
.page_search .cmp_form input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 132px !important;
  max-width: 220px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: .65rem 1.2rem !important;
  border: 1px solid var(--j-primary) !important;
  border-radius: 6px !important;
  background: var(--j-primary) !important;
  color: #fff !important;
  font-family: var(--j-ui) !important;
  font-size: .88rem !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  box-shadow: 0 5px 14px rgba(31,95,140,.13) !important;
}

.page_search .cmp_form button.submit:hover,
.page_search .cmp_form button[type="submit"]:hover,
.page_search .cmp_form input.submit:hover,
.page_search .cmp_form input[type="submit"]:hover {
  border-color: var(--j-primary-dark) !important;
  background: var(--j-primary-dark) !important;
  color: #fff !important;
  box-shadow: 0 7px 18px rgba(23,74,109,.16) !important;
}

/* Search results / empty state */
.page_search .search_results {
  margin-top: 34px !important;
}

.page_search .search_results > h2,
.page_search .search_results h2 {
  margin: 0 0 16px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--j-border) !important;
  color: var(--j-navy-950) !important;
  font-size: 1.35rem !important;
}

.page_search .search_results > p,
.page_search .search_results .cmp_notification,
.page_search .cmp_notification {
  margin: 20px 0 0 !important;
  padding: 16px 18px !important;
  border: 1px solid var(--j-border) !important;
  border-left: 3px solid var(--j-primary) !important;
  border-radius: 6px !important;
  background: #f8fafb !important;
  color: var(--j-muted) !important;
  font-size: .9rem !important;
  line-height: 1.55 !important;
  box-shadow: none !important;
}

.page_search .search_results ul,
.page_search ul.search_results {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Responsive search form */
@media (max-width: 767.98px) {
  .page_search .cmp_form .search_advanced,
  .page_search .cmp_form fieldset.search_advanced {
    display: block !important;
    padding: 18px !important;
  }

  .page_search .cmp_form .search_advanced > div,
  .page_search .cmp_form fieldset.search_advanced > div {
    margin-bottom: 16px !important;
  }

  .page_search .cmp_form .search_advanced > div:last-child,
  .page_search .cmp_form fieldset.search_advanced > div:last-child {
    margin-bottom: 0 !important;
  }

  .page_search .cmp_form div.submit,
  .page_search .cmp_form p.submit,
  .page_search .cmp_form .submit:not(button):not(input):not(a) {
    justify-content: stretch !important;
  }

  .page_search .cmp_form button.submit,
  .page_search .cmp_form button[type="submit"],
  .page_search .cmp_form input.submit,
  .page_search .cmp_form input[type="submit"] {
    width: 100% !important;
    max-width: none !important;
  }
}
