@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800&family=Noto+Sans:wght@400;500;600;700&display=swap');

/* ==========================================================
   JPEI – Jurnal Pendidikan Ekonomi Indonesia
   Custom stylesheet for OJS 3.5 (Default Theme)
   Upload at: Settings > Website > Appearance > Advanced > Journal style sheet
   ========================================================== */

:root {
  --jpei-orange: #FF7933;        /* brand orange from banner */
  --jpei-orange-dark: #C2551A;   /* header / nav (readable with white text) */
  --jpei-orange-deep: #9E4313;   /* hover */
  --jpei-peach: #FCE4D2;         /* soft background from logo */
  --jpei-peach-light: #FFF6EF;
  --jpei-ink: #2B2B2B;           /* body text */
  --jpei-grey: #5F6368;          /* secondary text */
  --jpei-line: #E8E2DC;          /* borders */
  --jpei-radius: 8px;
}

/* ---------- Base ---------- */
html, body { overflow-x: hidden; }
body,
.pkp_structure_page,
.pkp_structure_main,
.pkp_structure_sidebar {
  font-family: 'Noto Sans', Arial, sans-serif;
  color: var(--jpei-ink);
}
body { background: #FAFAF8; }
h1, h2, h3, h4,
.pkp_navigation_primary,
.pkp_block .title,
.obj_article_summary > .title,
.page_title,
.cmp_button,
.pkp_button,
.obj_galley_link,
.block_make_submission_link {
  font-family: 'Poppins', 'Noto Sans', Arial, sans-serif;
}
.pkp_structure_page { background: #FFFFFF; }

a { color: var(--jpei-orange-dark); }
a:hover, a:focus { color: var(--jpei-orange-deep); }

h1, h2, h3, h4 { color: var(--jpei-ink); }

/* ---------- Header ---------- */
.pkp_structure_head {
  background: #FFFFFF;
  border-bottom: 0;
  box-shadow: none;
}
.pkp_site_name_wrapper { padding-top: 12px; padding-bottom: 12px; }
.pkp_site_name .is_text {
  color: var(--jpei-orange-dark);
  font-weight: 700;
  letter-spacing: .2px;
}
/* Header banner: upload the JPEI banner as the journal Logo
   (Website > Appearance > Setup > Logo). These rules show it full width. */
.pkp_site_name_wrapper:has(.is_img) { padding-top: 0; padding-bottom: 0; }
.pkp_site_name .is_img { display: block; margin: 0; }
.pkp_site_name .is_img img {
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: none;
  height: auto;
}
.pkp_site_name { width: 100%; }

/* User menu (Register / Login) */
.pkp_navigation_user > li > a { color: var(--jpei-grey); }
.pkp_navigation_user > li > a:hover { color: var(--jpei-orange-dark); }

/* ---------- Primary navigation ---------- */
/* Full-width orange bar (extends beyond the content container) */
.pkp_navigation_primary_row {
  position: relative;
  z-index: 100;               /* keeps dropdowns above the slider and content */
  background: var(--jpei-orange-dark);
}
.pkp_navigation_primary_row::before {   /* full-width background, does not clip dropdowns */
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  background: var(--jpei-orange-dark);
  border-bottom: 3px solid var(--jpei-orange);
  z-index: -1;
}
.pkp_navigation_primary_wrapper { padding-left: 12px; padding-right: 12px; }
.pkp_navigation_primary > li > a {
  font-size: .95rem;
  letter-spacing: .2px;
}
.pkp_navigation_primary > li > a {
  color: #FFFFFF;
  font-weight: 600;
  border-bottom: 3px solid transparent;
  padding-bottom: 6px;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
  color: #FFFFFF;
  border-bottom-color: var(--jpei-peach);
  text-decoration: none;
}
.pkp_navigation_primary ul {               /* dropdowns */
  z-index: 1000;
  background: #FFFFFF;
  border: 1px solid var(--jpei-line);
  border-radius: var(--jpei-radius);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .10);
}
.pkp_navigation_primary ul a { color: var(--jpei-ink); }
.pkp_navigation_primary ul a:hover {
  background: var(--jpei-peach-light);
  color: var(--jpei-orange-dark);
  border-left-color: var(--jpei-orange);
}
.pkp_navigation_search_wrapper a { color: #FFFFFF; }
.pkp_navigation_search_wrapper a:hover { color: var(--jpei-peach); }

/* ---------- Breadcrumbs & page titles ---------- */
.cmp_breadcrumbs { font-size: .9rem; color: var(--jpei-grey); }
.page h1, .page_title {
  border-left: 5px solid var(--jpei-orange);
  padding-left: 12px;
}

/* ---------- Homepage ---------- */
.homepage_image img { border-radius: var(--jpei-radius); }

.homepage_about {
  background: var(--jpei-peach-light);
  border: 1px solid var(--jpei-line);
  border-left: 5px solid var(--jpei-orange);
  border-radius: var(--jpei-radius);
  padding: 20px 24px;
  margin-top: 24px;
}
.homepage_about h2 { margin-top: 0; color: var(--jpei-orange-dark); }

.current_issue > h2,
.additional_content h3 {
  color: var(--jpei-orange-dark);
}
.current_issue .current_issue_title { font-weight: 700; }
.current_issue .read_more {
  display: inline-block;
  margin-top: 12px;
  padding: 6px 14px;
  border: 1px solid var(--jpei-orange-dark);
  border-radius: 999px;
}
.current_issue .read_more:hover {
  background: var(--jpei-orange-dark);
  color: #FFFFFF;
  text-decoration: none;
}

/* Journal Information table (Additional Content) */
.additional_content table {
  border: 1px solid var(--jpei-line);
  border-radius: var(--jpei-radius);
  overflow: hidden;
  font-size: .95rem;
}
.additional_content td {
  padding: 8px 12px;
  border-bottom: 1px solid var(--jpei-line);
  vertical-align: top;
}
.additional_content tr:nth-child(odd) td { background: var(--jpei-peach-light); }
.additional_content tr:last-child td { border-bottom: 0; }

/* ---------- Highlights slider (OJS 3.5) ---------- */
/* The slide images already contain the text, so show the image full width
   and keep only the button, placed over the image. */
.highlights { background: transparent; margin: 20px 0 8px; }
.highlights .swiper { border-radius: var(--jpei-radius); overflow: hidden; }
.highlights .swiper-slide { background: transparent; }
.highlights .swiper-slide.-has-image {
  display: block;
  position: relative;
}
.highlights .swiper-slide.-has-image .swiper-slide-image {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  object-fit: cover;
}
.highlights .swiper-slide.-has-image .swiper-slide-content {
  position: absolute;
  right: 4%;
  bottom: 9%;
  padding: 0;
  background: transparent;
  width: auto;
}
.highlights .swiper-slide.-has-image .swiper-slide-title,
.highlights .swiper-slide.-has-image .swiper-slide-desc { display: none; }
.highlights .swiper-slide-button {
  background: var(--jpei-orange-dark);
  color: #FFFFFF;
  border: 0;
  border-radius: 999px;
  padding: 8px 18px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: .9rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .15);
}
.highlights .swiper-slide-button:hover,
.highlights .swiper-slide-button:focus {
  background: var(--jpei-orange-deep);
  color: #FFFFFF;
  text-decoration: none;
}
.highlights .swiper-button-prev,
.highlights .swiper-button-next { color: var(--jpei-orange-dark); }
.highlights .swiper-pagination-bullet-active { background: var(--jpei-orange); }

/* ---------- Issue table of contents ---------- */
.obj_issue_toc .sections > .section > h2 {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--jpei-grey);
  border-bottom: 2px solid var(--jpei-peach);
  padding-bottom: 6px;
}
.obj_article_summary {
  padding: 14px 0 16px;
  border-bottom: 1px solid var(--jpei-line);
}
.obj_article_summary > .title a {
  color: var(--jpei-ink);
  font-weight: 600;
  line-height: 1.4;
}
.obj_article_summary > .title a:hover { color: var(--jpei-orange-dark); }
.obj_article_summary .meta .authors { color: var(--jpei-grey); font-size: .92rem; }
.obj_article_summary .meta .pages { color: var(--jpei-grey); font-size: .85rem; }

/* PDF / galley buttons */
.obj_galley_link {
  border: 1px solid var(--jpei-orange-dark);
  color: var(--jpei-orange-dark);
  border-radius: 999px;
  font-weight: 600;
}
.obj_galley_link:hover,
.obj_galley_link:focus {
  background: var(--jpei-orange-dark);
  color: #FFFFFF;
}

/* Archive list */
.obj_issue_summary { padding: 12px 0; border-bottom: 1px solid var(--jpei-line); }
.obj_issue_summary h2 a { color: var(--jpei-ink); }
.obj_issue_summary h2 a:hover { color: var(--jpei-orange-dark); }

/* ---------- Article page ---------- */
.obj_article_details .page_title { line-height: 1.35; }
.obj_article_details .item .label {
  color: var(--jpei-orange-dark);
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.obj_article_details .item.doi .value a { word-break: break-all; }
.obj_article_details .item.abstract { text-align: justify; }
.obj_article_details .item.keywords .value { color: var(--jpei-grey); }
.obj_article_details .entry_details > .item {
  border-color: var(--jpei-line);
}
.obj_article_details .citation_display .value {
  background: var(--jpei-peach-light);
  border-radius: var(--jpei-radius);
  padding: 10px 12px;
  font-size: .9rem;
}

/* ---------- Sidebar blocks ---------- */
.pkp_structure_sidebar .pkp_block {
  background: #FFFFFF;
  border: 1px solid var(--jpei-line);
  border-radius: var(--jpei-radius);
  padding: 14px 16px;
  margin-bottom: 16px;
}
.pkp_block .title {
  display: block;
  font-size: .85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--jpei-orange-dark);
  border-bottom: 2px solid var(--jpei-peach);
  padding-bottom: 6px;
  margin-bottom: 10px;
}
.pkp_block ul { margin: 0; padding: 0; list-style: none; }
.pkp_block ul li { padding: 5px 0; border-bottom: 1px dashed var(--jpei-line); }
.pkp_block ul li:last-child { border-bottom: 0; }
.pkp_block ul li a { color: var(--jpei-ink); }
.pkp_block ul li a:hover { color: var(--jpei-orange-dark); }
.pkp_block img { max-width: 100%; height: auto; }

/* "Make a Submission" button */
.pkp_structure_sidebar .block_make_submission { padding: 0; border: 0; background: transparent; }
.pkp_structure_sidebar .block_make_submission a,
.block_make_submission_link {
  display: block;
  text-align: center;
  background: var(--jpei-orange);
  color: #FFFFFF;
  border: 0;
  border-radius: var(--jpei-radius);
  padding: 14px 16px;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  background: var(--jpei-orange) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 12px rgba(255, 121, 51, .3);
}
.pkp_structure_sidebar .block_make_submission a:hover,
.block_make_submission_link:hover,
.block_make_submission_link:focus {
  background: var(--jpei-orange-deep);
  color: #FFFFFF;
  text-decoration: none;
}
.block_make_submission_link:before { display: none; }

/* ---------- Buttons & forms ---------- */
.cmp_button,
.cmp_form .buttons button,
.pkp_button_primary {
  background: var(--jpei-orange-dark);
  border-color: var(--jpei-orange-dark);
  color: #FFFFFF;
  border-radius: 6px;
}
.cmp_button:hover,
.cmp_form .buttons button:hover,
.pkp_button_primary:hover {
  background: var(--jpei-orange-deep);
  border-color: var(--jpei-orange-deep);
  color: #FFFFFF;
}
.cmp_form input[type="text"]:focus,
.cmp_form input[type="email"]:focus,
.cmp_form input[type="password"]:focus,
.cmp_form textarea:focus {
  border-color: var(--jpei-orange);
  box-shadow: 0 0 0 3px rgba(255, 121, 51, .18);
  outline: none;
}

/* ---------- Footer ---------- */
.pkp_structure_footer_wrapper {
  background: #2E2A27;
  color: #E9E4DF;
  border-top: 4px solid var(--jpei-orange);
}
.pkp_footer_content { padding: 28px 30px; font-size: .92rem; line-height: 1.6; }
.pkp_footer_content a { color: #FFC9A8; }
.pkp_footer_content a:hover { color: #FFFFFF; }
/* Hide the OJS/PKP brand logo in the footer */
.pkp_brand_footer,
.pkp_structure_footer .pkp_brand_footer,
.pkp_footer_content + .pkp_brand_footer {
  display: none !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 767px) {
  .pkp_site_name .is_text { font-size: 1.15rem; text-align: center; }
  .pkp_site_nav_toggle {
    z-index: 2;
    background: var(--jpei-orange-dark);
    border-radius: 4px;
  }
  .pkp_site_nav_toggle span { background: #FFFFFF; }
  .pkp_navigation_primary_row {
    background: #FFFFFF;
  }
  .pkp_navigation_primary_row::before { display: none; }
  .highlights .swiper-slide-button { padding: 5px 12px; font-size: .8rem; }
  .pkp_navigation_primary > li > a { color: var(--jpei-ink); }
  .pkp_navigation_primary > li > a:hover { color: var(--jpei-orange-dark); }
  .homepage_about { padding: 16px; }
  .pkp_footer_content { padding: 20px 16px; }
}
