/* =====================================================================
   POLITEA — "Modern Civic" custom stylesheet  ·  v2 (header-safe)
   Open Journal Systems 3.3.x  ·  Default Theme
   Upload via:  Settings ▸ Website ▸ Appearance ▸ Setup ▸ Journal style sheet
   Pair with the COMPACT logo  →  politea-logo.png  (upload under "Logo").
   Skin only — no markup/behaviour changes.
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --pol-teal:#0e4f47;
  --pol-teal-dk:#0a3a34;
  --pol-mint:#e6efec;
  --pol-mint-2:#f3f7f5;
  --pol-gold:#b8893a;
  --pol-ink:#15201e;
  --pol-mut:#5c6b67;
  --pol-line:#dde6e3;
}

/* ---------- Base typography ---------- */
body,
.pkp_structure_page,
.pkp_structure_content,
input, select, textarea, button{
  font-family:'Libre Franklin', system-ui, -apple-system, sans-serif !important;
  color:var(--pol-ink);
}
body{ background:#ffffff !important; -webkit-font-smoothing:antialiased; }
a{ color:var(--pol-teal); }
a:hover,a:focus{ color:var(--pol-gold); }

/* =====================================================================
   HEADER  — teal band, fixed height, nothing overlaps
   ===================================================================== */
.pkp_structure_head{
  background:var(--pol-teal) !important;
  border-bottom:5px solid var(--pol-gold) !important;
  position:relative;
}

/* The row holding logo + journal name + user links */
.pkp_head_wrapper{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap;
  gap:18px 22px;
  min-height:118px;
  padding:14px 0 14px !important;
  position:relative;
}

/* Logo — capped so the emblem can never overflow the band */
.pkp_site_name_wrapper{ display:flex; align-items:center; gap:18px; margin:0 !important; }
.pkp_site_name_wrapper .pkp_site_name{ margin:0 !important; display:flex; align-items:center; }
.pkp_site_name img,
.pkp_site_name_wrapper img{
  height:84px !important; width:auto !important; max-width:none !important;
  display:block;
}

/* Journal name shown as TEXT (when no wordmark in the logo) — white, tidy */
.pkp_site_name a,
.pkp_site_name .is_text,
.pkp_site_name_wrapper a.is_text{
  color:#ffffff !important;
  font-weight:800 !important;
  font-size:30px !important;
  line-height:1.05 !important;
  letter-spacing:-.01em;
  text-decoration:none !important;
}

/* Top-right user navigation (login / register / dashboard / search) */
.pkp_navigation_user_wrapper{
  margin-left:auto !important;
  position:relative; z-index:6;
}
.pkp_navigation_user > li > a{
  color:#d6e8e2 !important;
  font-size:13.5px; font-weight:600; letter-spacing:.02em;
}
.pkp_navigation_user > li > a:hover{ color:#fff !important; }

/* =====================================================================
   PRIMARY NAVIGATION MENU  — force a teal bar so links never vanish
   ===================================================================== */
.pkp_navigation_primary_row,
.pkp_site_nav_wrapper,
.pkp_navigation_primary_wrapper{
  background:var(--pol-teal-dk) !important;
  border:0 !important;
}
.pkp_navigation_primary_row{ box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
#navigationPrimary, .pkp_navigation_primary{ gap:2px; }
.pkp_navigation_primary > li > a{
  color:#eaf2ef !important;
  font-weight:700 !important;
  font-size:14.5px;
  letter-spacing:.01em;
  border-radius:8px;
  padding:11px 14px !important;
  transition:background .15s, color .15s;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li.current > a,
.pkp_navigation_primary > li:hover > a{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
}

/* Search trigger / box in the menu bar */
.pkp_search input[type="search"], .pkp_search input[type="text"]{
  border-radius:8px; border:1px solid rgba(255,255,255,.4);
  background:rgba(255,255,255,.1); color:#fff;
}
.pkp_search input::placeholder{ color:#bcd6cf; }

/* =====================================================================
   MAIN CONTENT
   ===================================================================== */
.pkp_structure_main{ padding-top:34px; }
.homepage_about h2, .page h1, .page h2{ letter-spacing:-.01em; color:var(--pol-ink); }
.homepage_about{
  background:var(--pol-mint-2);
  border:1px solid var(--pol-line);
  border-radius:16px;
  padding:26px 28px;
}
.homepage_about h2{
  font-size:15px; text-transform:uppercase; letter-spacing:.12em;
  color:var(--pol-teal); font-weight:800; margin-top:0;
}

/* Current issue header (featured block) */
.obj_issue_toc .heading{
  background:var(--pol-mint);
  border-radius:16px;
  padding:24px 26px;
  border:1px solid var(--pol-line);
  margin-bottom:30px;
}
.obj_issue_toc .heading h2,
.obj_issue_toc .heading .title{
  font-size:24px; font-weight:800; letter-spacing:-.01em; margin:0 0 8px;
}
.obj_issue_toc .heading .series,
.obj_issue_toc .heading .published{ color:var(--pol-mut); font-size:13.5px; }
.obj_issue_toc .heading .cover img{ border-radius:10px; }

/* Section heading ("Articles") */
.obj_issue_toc .section > h2,
.sections .section > h2{
  font-size:13px !important;
  text-transform:uppercase; letter-spacing:.14em; font-weight:800;
  color:var(--pol-teal) !important;
  border-bottom:2px solid var(--pol-line);
  padding-bottom:10px; margin-bottom:6px;
}

/* Article summaries as cards */
.cmp_article_list .obj_article_summary,
.obj_article_summary{
  border:1px solid var(--pol-line) !important;
  border-radius:13px;
  padding:20px 22px !important;
  margin:0 0 14px !important;
  background:#fff;
  transition:border-color .15s, box-shadow .15s, transform .15s;
}
.obj_article_summary:hover{
  border-color:var(--pol-teal) !important;
  box-shadow:0 10px 28px rgba(14,79,71,.09);
  transform:translateY(-1px);
}
.obj_article_summary .title{ margin:0; }
.obj_article_summary .title a{
  font-size:17px !important; font-weight:700 !important;
  line-height:1.32; color:var(--pol-ink) !important; letter-spacing:-.005em;
}
.obj_article_summary:hover .title a{ color:var(--pol-teal) !important; }
.obj_article_summary .meta{ margin-top:8px; }
.obj_article_summary .authors{ color:var(--pol-mut); font-size:13.5px; }
.obj_article_summary .pages{
  font-family:'IBM Plex Mono', monospace; font-size:12px;
  color:var(--pol-gold); font-weight:600;
}

/* PDF / galley buttons → pills */
.obj_article_summary .galleys_links a,
a.obj_galley_link, .obj_galley_link.pdf{
  display:inline-block;
  background:var(--pol-teal) !important;
  color:#fff !important; border:0 !important;
  border-radius:8px; padding:6px 14px !important;
  font-size:12.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
}
.obj_article_summary .galleys_links a:hover,
a.obj_galley_link:hover{ background:var(--pol-teal-dk) !important; color:#fff !important; }

/* =====================================================================
   SIDEBAR
   ===================================================================== */
.pkp_structure_sidebar .pkp_block{
  border:1px solid var(--pol-line);
  border-radius:14px; padding:20px; margin-bottom:20px; background:#fff;
}
.pkp_structure_sidebar .pkp_block .title,
.pkp_structure_sidebar .pkp_block h2{
  font-size:13px !important; text-transform:uppercase; letter-spacing:.1em;
  font-weight:800; color:var(--pol-teal) !important; margin-top:0;
}
.pkp_block.pkp_block_make_submission a, .pkp_block ul li a{ color:var(--pol-teal); }

/* Buttons */
.pkp_button, .cmp_button, button.submit, .pkp_form button[type="submit"]{
  background:var(--pol-teal) !important; border:0 !important; border-radius:9px !important;
  color:#fff !important; font-weight:700 !important; letter-spacing:.02em; padding:11px 20px !important;
}
.pkp_button:hover, .cmp_button:hover{ background:var(--pol-teal-dk) !important; }

/* Footer */
.pkp_structure_footer_wrapper{
  background:var(--pol-teal-dk) !important; border-top:5px solid var(--pol-gold);
}
.pkp_structure_footer, .pkp_structure_footer p, .pkp_structure_footer a{ color:#bcd6cf !important; }
.pkp_structure_footer a:hover{ color:#fff !important; }
.pkp_structure_footer h2, .pkp_structure_footer strong{ color:#fff !important; }
.pkp_brand_footer{ opacity:.7; }

/* Misc accents */
.cmp_pagination .current{ background:var(--pol-teal) !important; color:#fff !important; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:767px){
  .pkp_head_wrapper{ min-height:0; }
  .pkp_site_name img, .pkp_site_name_wrapper img{ height:60px !important; }
  .pkp_site_name a, .pkp_site_name .is_text{ font-size:22px !important; }
  .pkp_navigation_user_wrapper{ margin-left:0 !important; }
  .obj_article_summary{ padding:16px !important; }
}
