/*
 * Journal of Societal Sustainability (JSS)
 * OJS custom stylesheet
 * Vertex Academic Publishing, United Kingdom
 */

:root {
  --jss-navy: #075e49;
  --jss-green: #087b55;
  --jss-copper: #c45a1a;
  --jss-background: #ffffff;
  --jss-white: #ffffff;
  --jss-text: #2f3742;
  --jss-muted: #66717d;
  --jss-border: #d9dedb;
  --jss-soft-green: #f1f8f4;
}

/* Header and page structure */
@media (min-width: 992px) {
  .pkp_head_wrapper {
    padding-top: 15vw !important;
  }

  .pkp_structure_sidebar {
    float: right;
    width: 300px !important;
  }

  .pkp_block {
    padding: 5px;
  }
}

html,
body,
.pkp_structure_page,
.pkp_structure_content,
.pkp_structure_main,
.pkp_structure_sidebar {
  background-color: var(--jss-background) !important;
}

.pkp_block {
  padding: 8px;
  font-size: 14px;
  line-height: 20px;
}

.pkp_block .content {
  padding: 0;
  background-color: var(--jss-white);
}

/* Sidebar tables and highlighted blocks */
.hover {
  width: 100%;
  border-collapse: collapse;
}

.hover tr {
  color: var(--jss-white);
  background: var(--jss-navy);
}

.hover tr:hover {
  background: var(--jss-green);
}

.hover td {
  height: 30px;
  padding: 8px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 2px solid var(--jss-white);
}

/* Links and buttons */
.pkp_structure_main a,
.pkp_structure_sidebar a {
  color: var(--jss-navy);
}

.pkp_structure_main a:hover,
.pkp_structure_sidebar a:hover {
  color: var(--jss-green);
}

.cmp_button,
.pkp_button,
button.submit {
  color: var(--jss-white) !important;
  background: var(--jss-navy) !important;
  border-color: var(--jss-navy) !important;
}

.cmp_button:hover,
.pkp_button:hover,
button.submit:hover {
  background: var(--jss-green) !important;
  border-color: var(--jss-green) !important;
}

/* Footer */
.pkp_structure_footer_wrapper {
  background: var(--jss-navy) !important;
  border-top: 5px solid var(--jss-green);
  box-shadow: inset 0 2px 0 var(--jss-copper);
}

.pkp_structure_footer_wrapper,
.pkp_structure_footer_wrapper a {
  color: var(--jss-white) !important;
}

.pkp_brand_footer {
  display: none !important;
}

/* Editorial board profile cards */
.profile-card {
  display: flex;
  align-items: center;
  gap: 15px;
  max-width: 100%;
  margin-bottom: 15px;
  padding: 15px;
  background-color: var(--jss-white);
  border: 1px solid var(--jss-border);
  border-left: 4px solid var(--jss-green);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(5, 45, 92, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease,
    background-color 0.3s ease;
}

.profile-card:hover {
  background-color: var(--jss-soft-green);
  box-shadow: 0 4px 15px rgba(5, 45, 92, 0.14);
  transform: translateY(-3px);
}

.profile-img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border: 2px solid var(--jss-green);
  border-radius: 50%;
  transition: transform 0.3s ease;
}

.profile-card:hover .profile-img {
  transform: scale(1.05);
}

.profile-details {
  flex: 1;
}

.profile-name {
  margin: 10px 0 !important;
  color: var(--jss-navy);
  font-size: 18px;
  font-weight: 700;
}

.profile-info p {
  margin: 5px 0;
  color: var(--jss-text);
  font-size: 14px;
}

.profile-info small {
  color: var(--jss-muted);
  font-size: 13px;
}

/* Main content */
.pkp_structure_main p,
.pkp_structure_main ul {
  text-align: justify;
}

.additional_content h2 {
  margin-top: 0;
  color: var(--jss-navy);
}

/* Submission guideline tables */
.page_submissions table {
  width: 100%;
  margin-top: 20px;
  border-collapse: collapse;
  font-family: Arial, sans-serif;
}

.page_submissions table th,
.page_submissions table td {
  padding: 12px;
  text-align: left;
  border: 1px solid var(--jss-border);
}

.page_submissions table th,
.page_submissions table tr:first-child td {
  color: var(--jss-white);
  background-color: var(--jss-navy);
  font-weight: 700;
  text-transform: uppercase;
}

.page_submissions table tr:nth-child(even) {
  background-color: var(--jss-soft-green);
}

.page_submissions table td:first-child {
  color: var(--jss-navy);
  font-weight: 700;
}

.page_submissions table p {
  margin-top: 0 !important;
  margin-bottom: 0;
}

/* Site logo and custom content layout */
.pkp_site_name {
  display: none;
}

.container {
  display: flex;
  gap: 20px;
}

.container img {
  max-width: 25%;
  height: auto;
}

.container p {
  max-width: 75%;
}

/* Hide author role labels on article pages */
.obj_article_details .authors .userGroup {
  display: none !important;
}

/* Primary navigation toolbar */
.pkp_navigation_primary_wrapper,
.pkp_navigation_primary_row {
  background-color: var(--jss-navy) !important;
}

.pkp_navigation_primary > li > a {
  color: var(--jss-white) !important;
  background-color: transparent !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > a:active {
  color: var(--jss-white) !important;
  background-color: var(--jss-green) !important;
}

.pkp_navigation_primary ul {
  background-color: var(--jss-navy) !important;
}

.pkp_navigation_primary ul a {
  color: var(--jss-white) !important;
  background-color: transparent !important;
}

.pkp_navigation_primary ul a:hover,
.pkp_navigation_primary ul a:focus {
  color: var(--jss-white) !important;
  background-color: var(--jss-green) !important;
}

.pkp_navigation_search_wrapper a,
.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_search_wrapper a:focus {
  color: var(--jss-white) !important;
}

/* User account menu over the light header */
.pkp_navigation_user > li > a,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus {
  color: var(--jss-navy) !important;
}

.pkp_navigation_user .task_count {
  color: var(--jss-white) !important;
  background-color: var(--jss-copper) !important;
}

.pkp_navigation_user ul {
  background-color: var(--jss-white) !important;
}

.pkp_navigation_user ul a {
  color: var(--jss-navy) !important;
}

.pkp_navigation_user ul a:hover,
.pkp_navigation_user ul a:focus {
  color: var(--jss-white) !important;
  background-color: var(--jss-green) !important;
}

/* Mobile layout */
@media (max-width: 600px) {
  .profile-card {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .profile-img {
    width: 70px;
    height: 70px;
  }

  .profile-name {
    font-size: 16px;
  }

  .profile-info p,
  .profile-info small {
    font-size: 13px;
  }

  .container {
    flex-direction: column;
    align-items: flex-start;
  }

  .container img {
    max-width: 50%;
  }

  .container p {
    max-width: 100%;
  }

  .pkp_site_name_wrapper {
    height: 9rem;
  }
}
