/*
 * PALANTA OJS 3 — Maroon & Gold Theme
 * Target: OJS 3.3 / 3.4 Default Theme
 * Rebuilt for PALANTA: Journal of Social Science and Humanities
 * -------------------------------------------------------------
 * Design goals:
 * - Dominant maroon + gold visual identity
 * - Large responsive header/banner
 * - Clean centered journal shell inspired by classic academic OJS layouts
 * - Two-column content with strong right sidebar
 * - Homepage image capped at 250px height
 * - Responsive tablet/mobile behavior
 */

:root {
  --palanta-maroon-900: #4a0b16;
  --palanta-maroon-800: #5b0f1d;
  --palanta-maroon-700: #6f1424;
  --palanta-maroon-600: #7d1829;
  --palanta-maroon-500: #8f2032;
  --palanta-gold-700: #a97714;
  --palanta-gold-600: #bd8b1f;
  --palanta-gold-500: #d3a02d;
  --palanta-gold-400: #e2b646;
  --palanta-gold-300: #f0d27b;
  --palanta-cream: #fbf7ee;
  --palanta-cream-2: #f6efe1;
  --palanta-white: #ffffff;
  --palanta-ink: #26221f;
  --palanta-text: #403a35;
  --palanta-muted: #756b63;
  --palanta-line: #ddcfb8;
  --palanta-width: 1200px;
  --palanta-sidebar: 290px;
  --palanta-radius: 6px;
  --palanta-shadow: 0 7px 26px rgba(45, 10, 17, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--palanta-text);
  background-color: #651521;
  background-image:
    radial-gradient(circle at 18px 18px, rgba(255,255,255,.035) 0 2px, transparent 2px),
    radial-gradient(circle at 42px 42px, rgba(214,170,56,.06) 0 2px, transparent 2px),
    linear-gradient(135deg, rgba(255,255,255,.02) 25%, transparent 25%),
    linear-gradient(315deg, rgba(0,0,0,.045) 25%, transparent 25%);
  background-size: 60px 60px, 60px 60px, 44px 44px, 44px 44px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body a {
  color: var(--palanta-maroon-700);
  text-decoration: none;
}
body a:hover,
body a:focus {
  color: var(--palanta-gold-700);
  text-decoration: underline;
}

/* ===== Main page shell ===== */
.pkp_structure_page {
  width: min(var(--palanta-width), calc(100% - 34px));
  margin: 0 auto 34px;
  background: var(--palanta-white);
  border: 1px solid rgba(255,255,255,.35);
  box-shadow: var(--palanta-shadow);
}

/* ===== Header / journal banner ===== */
.pkp_structure_head {
  margin: 0;
  background: var(--palanta-white);
  border: 0;
  box-shadow: none;
}

.pkp_head_wrapper,
.pkp_site_name_wrapper {
  max-width: none !important;
  width: 100%;
  margin: 0;
  padding: 0;
}

.pkp_site_name_wrapper {
  position: relative;
  background: var(--palanta-white);
  border-top: 7px solid var(--palanta-maroon-900);
  border-bottom: 4px solid var(--palanta-gold-500);
}

.pkp_site_name {
  width: 100%;
  margin: 0;
  padding: 0;
}

.pkp_site_name .is_img,
.pkp_site_name .is_img a,
.pkp_site_name > a {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
}

/* Uploaded header scales to the available OJS width while preserving ratio. */
.pkp_site_name .is_img img,
.pkp_site_name img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto;
  padding: 0;
  object-fit: contain;
}

/* Fallback text title if no image header is uploaded */
.pkp_site_name .is_text {
  display: block;
  padding: 28px 34px 24px;
  color: var(--palanta-maroon-900) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 4vw, 48px);
  font-weight: 700;
  letter-spacing: .015em;
  line-height: 1.06;
  text-align: center;
}

/* ===== User navigation ===== */
.pkp_navigation_user_wrapper {
  min-height: 34px;
  max-width: none !important;
  margin: 0;
  padding: 0 16px;
  background: #351018;
  border-bottom: 1px solid #270b11;
}

.pkp_navigation_user {
  margin: 0;
  padding: 5px 0;
}

.pkp_navigation_user > li > a,
.pkp_navigation_user > li > a:link,
.pkp_navigation_user > li > a:visited {
  color: #f9edd1;
  font-size: 12px;
  font-weight: 700;
}
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus {
  color: var(--palanta-gold-300);
  text-decoration: none;
}

/* ===== Primary navigation ===== */
.pkp_site_nav_menu {
  background: var(--palanta-maroon-800);
  border: 0;
}

.pkp_navigation_primary_row {
  min-height: 45px;
  padding: 0;
  background: linear-gradient(90deg,
    var(--palanta-maroon-900) 0%,
    var(--palanta-maroon-700) 70%,
    #7a1a28 86%,
    var(--palanta-gold-600) 86%,
    var(--palanta-gold-500) 100%);
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 3px solid var(--palanta-gold-500);
}

.pkp_navigation_primary_wrapper,
.pkp_navigation_user_wrapper {
  max-width: none !important;
}

.pkp_navigation_primary {
  margin: 0;
  padding-left: 0;
}

.pkp_navigation_primary > li {
  margin: 0;
  border-right: 1px solid rgba(255,255,255,.17);
}

.pkp_navigation_primary > li > a,
.pkp_navigation_primary > li > a:link,
.pkp_navigation_primary > li > a:visited,
.pkp_navigation_search_wrapper a {
  display: block;
  padding: 13px 18px 12px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .01em;
  text-transform: none;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > a[aria-expanded="true"],
.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_search_wrapper a:focus {
  background: rgba(255,255,255,.08);
  color: #ffe7a0;
  text-decoration: none;
}

.pkp_navigation_primary ul {
  min-width: 215px;
  padding: 0;
  overflow: hidden;
  background: var(--palanta-white);
  border: 1px solid var(--palanta-line);
  border-top: 4px solid var(--palanta-gold-500);
  border-radius: 0 0 4px 4px;
  box-shadow: 0 7px 20px rgba(58, 11, 20, .22);
}

.pkp_navigation_primary ul a {
  padding: 10px 14px;
  background: var(--palanta-white);
  border-bottom: 1px solid #eee6db;
  color: var(--palanta-maroon-800);
  font-size: 13px;
  font-weight: 700;
}

.pkp_navigation_primary ul a:hover,
.pkp_navigation_primary ul a:focus {
  background: var(--palanta-cream-2);
  color: var(--palanta-gold-700);
  text-decoration: none;
}

/* ===== Breadcrumbs ===== */
.cmp_breadcrumbs {
  margin: 0;
  padding: 8px 18px;
  background: linear-gradient(90deg, #fbf7ee, #f4ead7);
  border-bottom: 1px solid var(--palanta-line);
  color: #665b53;
  font-size: 12px;
}

.cmp_breadcrumbs a { color: var(--palanta-maroon-700); }

/* ===== Main two-column layout ===== */
.pkp_structure_content {
  display: flex;
  gap: 0;
  max-width: none !important;
  margin: 0;
  padding: 0;
  background: var(--palanta-white);
}

.pkp_structure_main {
  min-width: 0;
  flex: 1 1 auto;
  width: calc(100% - var(--palanta-sidebar));
  padding: 28px 32px 42px;
  background: #fff;
}

.pkp_structure_sidebar {
  flex: 0 0 var(--palanta-sidebar);
  width: var(--palanta-sidebar);
  margin: 0;
  padding: 28px 16px 42px;
  background:
    linear-gradient(rgba(250,245,232,.95), rgba(246,236,215,.95)),
    radial-gradient(circle at 18px 18px, rgba(111,20,36,.045) 0 2px, transparent 2px);
  background-size: auto, 36px 36px;
  border-left: 1px solid var(--palanta-line);
}

/* ===== Homepage image ===== */
.page_index_journal .homepage_image,
.homepage_image {
  width: 100%;
  margin: 0 auto 24px;
  padding: 8px 0 2px;
  overflow: hidden;
  text-align: center;
}

.page_index_journal .homepage_image img,
.homepage_image img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 250px !important;
  margin: 0 auto;
  object-fit: contain;
}

/* ===== Content typography ===== */
.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3,
.page h1,
.page h2,
.page h3 {
  color: var(--palanta-maroon-800);
}

.pkp_structure_main > h1,
.page > h1,
.page_index_journal > h1 {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 11px;
  color: var(--palanta-maroon-900);
  border-bottom: 1px solid var(--palanta-line);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
  line-height: 1.25;
}

.pkp_structure_main > h1::after,
.page > h1::after,
.page_index_journal > h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 92px;
  height: 4px;
  background: linear-gradient(90deg, var(--palanta-maroon-700) 0 72%, var(--palanta-gold-500) 72% 100%);
}

.page_index_journal .homepage_about,
.page_index_journal .additional_content,
.page_index_journal .current_issue,
.cmp_announcements {
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.page_index_journal .homepage_about h2,
.page_index_journal .additional_content h2,
.page_index_journal .current_issue h2,
.cmp_announcements h2,
.obj_issue_toc > .heading h2 {
  margin: 0 0 15px;
  padding: 9px 13px 8px;
  color: #fff;
  background: linear-gradient(90deg, var(--palanta-maroon-900), var(--palanta-maroon-700));
  border-left: 5px solid var(--palanta-gold-500);
  border-bottom: 2px solid var(--palanta-gold-500);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .015em;
}

.page_index_journal .homepage_about,
.page_index_journal .additional_content {
  color: var(--palanta-text);
}

.page_index_journal .homepage_about p,
.page_index_journal .additional_content p,
.page p,
.obj_article_details .abstract {
  text-align: justify;
}

.page_index_journal .homepage_about strong,
.page_index_journal .additional_content strong {
  color: var(--palanta-maroon-800);
}

/* ===== Current issue and table of contents ===== */
.obj_issue_toc {
  overflow: hidden;
  border: 1px solid var(--palanta-line);
  border-radius: var(--palanta-radius);
  background: #fff;
  box-shadow: 0 3px 12px rgba(71, 17, 26, .06);
}

.obj_issue_toc > .heading {
  margin: 0;
  padding: 0;
  border: 0;
}

.obj_issue_toc > .heading .description {
  padding: 0 16px 14px;
  color: var(--palanta-muted);
}

.obj_issue_toc .section {
  margin: 0;
  padding: 0;
}

.obj_issue_toc .section > h2,
.obj_issue_toc .section > h3 {
  margin: 0;
  padding: 9px 14px;
  background: #f7f0e4;
  border-top: 1px solid #e4d5bd;
  border-bottom: 1px solid #e4d5bd;
  color: var(--palanta-maroon-800);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.obj_issue_toc .articles,
.obj_issue_toc .articles > li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.obj_issue_toc .articles > li {
  position: relative;
  padding: 16px 16px 15px;
  background: #fff;
  border-bottom: 1px dotted #cdbb9f;
}

.obj_issue_toc .articles > li:last-child { border-bottom: 0; }
.obj_issue_toc .articles > li:hover { background: #fffdf9; }

.obj_article_summary .title,
.obj_article_summary .title a {
  color: var(--palanta-maroon-900);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.38;
}

.obj_article_summary .title a:hover,
.obj_article_summary .title a:focus {
  color: var(--palanta-gold-700);
}

.obj_article_summary .authors {
  margin-top: 5px;
  color: #514942;
  font-size: 13px;
}

.obj_article_summary .pages,
.obj_article_summary .meta {
  color: #83786f;
  font-size: 12px;
}

/* ===== Buttons / galley links ===== */
.obj_galley_link,
.cmp_button,
.pkp_button,
button.pkp_button,
input[type="submit"].pkp_button,
input[type="submit"] {
  display: inline-block;
  border: 1px solid var(--palanta-maroon-900);
  border-radius: 3px;
  background: linear-gradient(#7e1c2d, #5c1020);
  color: #fff !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  box-shadow: inset 0 1px rgba(255,255,255,.12);
}

.obj_galley_link:hover,
.obj_galley_link:focus,
.cmp_button:hover,
.cmp_button:focus,
.pkp_button:hover,
.pkp_button:focus,
button.pkp_button:hover,
input[type="submit"].pkp_button:hover,
input[type="submit"]:hover {
  border-color: var(--palanta-gold-700);
  background: linear-gradient(#d5a334, #a97817);
  color: #2a1a0f !important;
  text-decoration: none;
}

/* ===== Sidebar blocks ===== */
.pkp_structure_sidebar .pkp_block {
  margin: 0 0 18px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #c8a45d;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(69, 15, 25, .10);
}

.pkp_structure_sidebar .pkp_block .title {
  display: block;
  margin: 0;
  padding: 9px 12px;
  background:
    linear-gradient(rgba(101,19,34,.96), rgba(78,12,24,.96)),
    linear-gradient(45deg, transparent 35%, rgba(255,255,255,.06) 35% 40%, transparent 40% 65%, rgba(255,255,255,.04) 65% 70%, transparent 70%);
  border: 0;
  border-bottom: 3px solid var(--palanta-gold-500);
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: none;
}

.pkp_structure_sidebar .pkp_block .content {
  padding: 11px 12px;
  background: #fffdf8;
  color: #494039;
  font-size: 13px;
}

.pkp_structure_sidebar .pkp_block .content p:first-child { margin-top: 0; }
.pkp_structure_sidebar .pkp_block .content p:last-child { margin-bottom: 0; }

/* Custom PALANTA vertical menu */
.pkp_structure_sidebar .pkp_block .content .palanta-sidebar-menu {
  margin: -11px -12px;
  padding: 0;
  list-style: none;
  background: var(--palanta-maroon-700);
}

.palanta-sidebar-menu li {
  margin: 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.palanta-sidebar-menu li:last-child { border-bottom: 0; }

.palanta-sidebar-menu a {
  position: relative;
  display: block;
  padding: 10px 30px 10px 13px;
  color: #fff;
  background: linear-gradient(90deg, #6f1424, #801b2c);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.palanta-sidebar-menu a::after {
  content: "›";
  position: absolute;
  right: 12px;
  top: 8px;
  color: var(--palanta-gold-300);
  font-size: 19px;
  font-weight: 800;
}

.palanta-sidebar-menu a:hover,
.palanta-sidebar-menu a:focus {
  color: #2a1a0f;
  background: linear-gradient(90deg, #e2b646, #d19b28);
  text-decoration: none;
}

/* Also style older custom block markup that contains direct <p><a> menu rows */
.pkp_structure_sidebar .pkp_block .content > p:has(> a:only-child) {
  margin: 0;
}

/* Inputs inside sidebar */
.pkp_structure_sidebar input[type="text"],
.pkp_structure_sidebar input[type="email"],
.pkp_structure_sidebar input[type="password"],
.pkp_structure_sidebar input[type="search"],
.pkp_structure_sidebar select {
  width: 100%;
  max-width: 100%;
  padding: 7px 8px;
  border: 1px solid #cbbd9f;
  background: #fff;
}

/* ===== Static pages / policy pages ===== */
.palanta-policy,
.palanta-page,
.palanta-team {
  display: block;
}

.palanta-policy-header,
.palanta-page-header {
  margin: 0 0 20px;
  padding: 18px 20px;
  color: #fff;
  background:
    linear-gradient(125deg, var(--palanta-maroon-900) 0 76%, var(--palanta-gold-500) 76% 82%, #f2d47d 82% 100%);
  border-radius: 5px;
}

.palanta-policy-header h1,
.palanta-page-header h1 {
  margin: 0 0 5px;
  color: #fff;
  border: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
}

.palanta-policy-header p,
.palanta-page-header p {
  margin: 0;
  color: #f9ecd6;
}

.palanta-policy-section,
.palanta-page-section,
.palanta-team-section {
  margin: 0 0 18px;
  overflow: hidden;
  border: 1px solid var(--palanta-line);
  border-radius: 5px;
  background: #fff;
}

.palanta-policy-section > h2,
.palanta-policy-section > h3,
.palanta-page-section > h2,
.palanta-page-section > h3,
.palanta-team-section > h2,
.palanta-team-section > h3 {
  margin: 0;
  padding: 9px 12px;
  color: var(--palanta-maroon-900);
  background: #f7efe1;
  border-bottom: 3px solid var(--palanta-gold-500);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 800;
}

.palanta-policy-section > div,
.palanta-page-section > div {
  padding: 13px 14px;
}

.palanta-team-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.palanta-team-list li {
  padding: 10px 12px;
  border-bottom: 1px dotted #d0bea2;
}
.palanta-team-list li:last-child { border-bottom: 0; }
.palanta-team-name { display: block; color: var(--palanta-maroon-900); font-weight: 700; }
.palanta-team-meta { display: block; margin-top: 2px; color: var(--palanta-muted); font-size: 12px; }

/* ===== Article page ===== */
.obj_article_details .page_title {
  color: var(--palanta-maroon-900);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
  line-height: 1.3;
}

.obj_article_details .main_entry .item .label,
.obj_article_details .entry_details .item .label {
  color: var(--palanta-maroon-800);
  font-weight: 800;
}

.obj_article_details .authors,
.obj_article_details .affiliations {
  color: #5d534b;
}

/* ===== Forms / tables ===== */
table { max-width: 100%; border-collapse: collapse; }

table th {
  background: #efe2cd;
  color: var(--palanta-maroon-900);
  font-weight: 800;
}

table th,
table td {
  border-color: #dac8aa;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="search"],
textarea,
select {
  border: 1px solid #cbbd9f;
  border-radius: 3px;
  background: #fff;
  color: #302923;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--palanta-gold-600);
  outline: 2px solid rgba(211,160,45,.15);
}

/* ===== Footer ===== */
.pkp_structure_footer_wrapper {
  margin: 0;
  background: var(--palanta-maroon-900);
  border-top: 5px solid var(--palanta-gold-500);
}

.pkp_structure_footer {
  max-width: none !important;
  padding: 22px 24px;
  color: #f6ead9;
  background: transparent;
}

.pkp_structure_footer a { color: #ffd879; }
.pkp_structure_footer a:hover { color: #fff; }

/* ===== Utility refinements ===== */
.cmp_notification,
.cmp_form .fields > .field,
.pkp_page_index .journals > ul > li {
  border-color: var(--palanta-line);
}

.pkp_page_index .journals > ul > li:hover { background: var(--palanta-cream); }

/* ===== Responsive ===== */
@media (max-width: 992px) {
  .pkp_structure_page {
    width: calc(100% - 18px);
  }

  .pkp_structure_content {
    display: block;
  }

  .pkp_structure_main {
    width: 100%;
    padding: 24px 24px 34px;
  }

  .pkp_structure_sidebar {
    width: 100%;
    padding: 22px 24px 30px;
    border-top: 1px solid var(--palanta-line);
    border-left: 0;
  }

  .pkp_structure_sidebar .pkp_block {
    max-width: none;
  }

  .pkp_navigation_primary > li > a,
  .pkp_navigation_primary > li > a:link,
  .pkp_navigation_primary > li > a:visited {
    padding-left: 13px;
    padding-right: 13px;
  }
}

@media (max-width: 767px) {
  body { background-image: none; }

  .pkp_structure_page {
    width: 100%;
    margin: 0;
    border: 0;
    box-shadow: none;
  }

  .pkp_site_name_wrapper { border-top-width: 5px; }

  .pkp_site_name .is_text {
    padding: 19px 16px 17px;
    font-size: 27px;
  }

  .pkp_navigation_user_wrapper { padding: 0 12px; }

  .pkp_navigation_primary_row {
    background: var(--palanta-maroon-800);
    border-bottom: 3px solid var(--palanta-gold-500);
  }

  .pkp_structure_main {
    padding: 20px 16px 28px;
  }

  .pkp_structure_sidebar {
    padding: 20px 16px 26px;
  }

  .page_index_journal .homepage_image img,
  .homepage_image img {
    max-height: 220px !important;
  }

  .page_index_journal .homepage_about p,
  .page_index_journal .additional_content p,
  .page p,
  .obj_article_details .abstract {
    text-align: left;
  }

  .pkp_structure_main > h1,
  .page > h1,
  .page_index_journal > h1 {
    font-size: 23px;
  }

  .obj_article_details .page_title { font-size: 23px; }
}

@media (max-width: 480px) {
  .cmp_breadcrumbs { padding: 7px 12px; }

  .pkp_structure_main,
  .pkp_structure_sidebar {
    padding-left: 12px;
    padding-right: 12px;
  }

  .page_index_journal .homepage_image img,
  .homepage_image img {
    max-height: 190px !important;
  }

  .page_index_journal .homepage_about h2,
  .page_index_journal .additional_content h2,
  .page_index_journal .current_issue h2,
  .cmp_announcements h2,
  .obj_issue_toc > .heading h2 {
    font-size: 15px;
  }
}
