:root{
--brand: #0b6fb2; /* primary brand */
--brand-dark:#084e7e; /* hover/active */
--accent:#17a2b8; /* info accents */
--success:#2e8540;
--warning:#b2890b;
--danger:#a61b29;
--ink:#1d2430; /* headings/body */
--muted:#5b6573; /* secondary text */
--bg:#ffffff; /* page bg */
--bg-soft:#f6f8fb; /* soft sections */
--line:#e5e9f1; /* borders */
--card:#ffffff; /* cards */
--shadow: 0 6px 18px rgba(13,24,44,.08);
--radius: 14px;
}


/* Base typography */
html{scroll-behavior:smooth}
body{
color:var(--ink);
background:var(--bg);
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
}


h1,h2,h3,h4{color:var(--ink);font-weight:700;letter-spacing:.2px}
p,li{color:var(--ink)}
.small,small{color:var(--muted)}


/* Top bar / header tightening */
.pkp_head_wrapper, .pkp_site_nav_menu{border-bottom:1px solid var(--line)}
.pkp_navigation_primary a{font-weight:600}


/* Breadcrumbs */
.cmp_breadcrumbs{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .9rem;margin:1rem 0}
.cmp_breadcrumbs .current{color:var(--muted)}


/* Buttons */
.pkp_button, .cmp_download_link, .obj_galley_link, .pkp_page_index .read_more{
background:var(--brand);color:#fff;border:none;border-radius:999px;padding:.55rem .95rem;font-weight:600;box-shadow:var(--shadow);
}
.pkp_button:hover, .cmp_download_link:hover, .obj_galley_link:hover, .pkp_page_index .read_more:hover{background:var(--brand-dark);color:#fff}


/* Links */
a{color:var(--brand)}
a:hover{color:var(--brand-dark)}


/* Cards for issue and article lists */
.page_issue .obj_issue_toc .galleys, .pkp_page_index .cmp_article_list, .pkp_page_issue .cmp_article_list{gap:1rem}


.obj_article_summary, .obj_issue_toc, .pkp_block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.obj_article_summary{padding:1rem}
.obj_article_summary .title a{font-weight:700}
.obj_article_summary .authors{color:var(--muted)}


/* Make galleys obvious */
.galleys_links, .obj_article_summary .galleys{margin-top:.75rem}
.obj_galley_link, .cmp_download_link{margin-right:.35rem}
.obj_galley_link::before{content:"⬇";margin-right:.4rem}


/* Issue header (cover + meta) */
.page_issue .obj_issue_toc .heading{display:flex;gap:1.25rem;align-items:center;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}
.page_issue .obj_issue_toc .cover img{border-radius:10px;box-shadow:var(--shadow)}


/* Archive grid */
.page_issue_archive .issues_archive{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.page_issue_archive .issue{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}
.page_issue_archive .issue .cover img{border-radius:10px}


/* Article page niceties */
.pkp_page_article .page_title{font-size:2rem}
.pkp_page_article .authors .name{font-weight:600}
.pkp_page_article .item.citations{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}
.pkp_page_article .download{background:var(--bg-soft);border:1px dashed var(--line);border-radius:var(--radius);padding:1rem}


/* Tables and figures */
.table, table{border-collapse:collapse;border:1px solid var(--line);width:100%}
.table th, .table td, table th, table td{border:1px solid var(--line);padding:.6rem}
.table thead th, table thead th{background:var(--bg-soft)}


/* Forms (contact, search, review) */
input[type=text], input[type=email], input[type=search], textarea, select{
border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;outline:none;width:100%}
input:focus, textarea:focus, select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(11,111,178,.1)}


/* Alerts */
.cmp_notification{border-radius:12px}
.cmp_notification.notice{border-left:6px solid var(--accent)}
.cmp_notification.warning{border-left:6px solid var(--warning)}
.cmp_notification.error{border-left:6px solid var(--danger)}
.cmp_notification.success{border-left:6px solid var(--success)}


/* Sidebar blocks */
.pkp_sidebar .pkp_block{padding:1rem}
.pkp_sidebar .title{font-weight:700;border-bottom:1px solid var(--line);padding-bottom:.4rem;margin-bottom:.6rem}


/* Footer */
.pkp_structure_footer{background:var(--bg-soft);border-top:1px solid var(--line)}
.obj_article_summary .galleys .obj_galley_link{font-size:.875rem}