/*
 * JDDAT Journal Style Sheet
 * Target: Open Journal Systems (OJS) 3.4 - Default Theme
 * Palette: Navy / Teal / Slate
 * Install: Settings > Website > Appearance > Advanced > Journal Style Sheet
 *
 * This file styles existing OJS elements. It does not add or remove content.
 */

:root {
  --jddat-navy: #102A43;
  --jddat-navy-2: #243B53;
  --jddat-teal: #087E8B;
  --jddat-teal-dark: #066570;
  --jddat-aqua: #16A6A1;
  --jddat-bg: #F4F7FB;
  --jddat-text: #243B53;
  --jddat-muted: #627D98;
  --jddat-border: #D9E2EC;
  --jddat-white: #FFFFFF;
  --jddat-shadow: 0 8px 26px rgba(16, 42, 67, .07);
}

/* ---------- Global typography and layout ---------- */
html { scroll-behavior: smooth; }

body {
  color: var(--jddat-text);
  background: var(--jddat-white);
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}

.pkp_structure_page {
  max-width: 1480px;
  margin: 0 auto;
  background: var(--jddat-white);
  box-shadow: 0 0 34px rgba(16, 42, 67, .045);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--jddat-navy);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.018em;
}

h1 { font-size: clamp(1.8rem, 3vw, 2.55rem); }
h2 { font-size: clamp(1.45rem, 2.2vw, 1.95rem); }
h3 { font-size: 1.25rem; }

p { margin: 0 0 1rem; }

a {
  color: var(--jddat-teal);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .18s ease;
}

a:hover, a:focus { color: var(--jddat-navy); }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--jddat-aqua);
  outline-offset: 3px;
}

/* ---------- Header / journal identity ---------- */
.pkp_structure_head {
  background: var(--jddat-navy);
  border-bottom: 4px solid var(--jddat-teal);
}

.pkp_site_name_wrapper {
  padding-top: 28px;
  padding-bottom: 28px;
}

.pkp_site_name {
  margin: 0;
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .015em;
}

.pkp_site_name > a,
.pkp_site_name > a:hover {
  color: var(--jddat-white);
  text-decoration: none;
}

.pkp_site_name .is_img img {
  display: inline-block;
  max-height: 100px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

/* ---------- Primary navigation ---------- */
.pkp_navigation_primary_wrapper {
  background: var(--jddat-white);
  border-bottom: 1px solid var(--jddat-border);
  box-shadow: 0 3px 12px rgba(16, 42, 67, .035);
}

.pkp_navigation_primary > li > a {
  padding: 15px 13px;
  color: var(--jddat-navy);
  font-size: .91rem;
  font-weight: 650;
  border-bottom: 3px solid transparent;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
  color: var(--jddat-teal);
  background: var(--jddat-bg);
  border-bottom-color: var(--jddat-teal);
  text-decoration: none;
}

.pkp_navigation_primary .dropdown-menu a,
.pkp_navigation_user .dropdown-menu a {
  color: var(--jddat-navy);
}

.pkp_navigation_primary .dropdown-menu a:hover,
.pkp_navigation_user .dropdown-menu a:hover {
  color: var(--jddat-teal);
  background: var(--jddat-bg);
}

/* Search button and user navigation */
.pkp_navigation_search_wrapper a,
.pkp_navigation_user > li > a {
  color: var(--jddat-navy);
}

.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_user > li > a:hover {
  color: var(--jddat-teal);
}

/* ---------- Main content and page titles ---------- */
.pkp_structure_content {
  padding-top: 28px;
  padding-bottom: 44px;
}

.pkp_structure_main {
  min-width: 0;
}

.page h1,
.page_title,
.pkp_page_title {
  color: var(--jddat-navy);
  margin-top: 0;
  margin-bottom: 24px;
}

.page h2,
.pkp_structure_main .current_issue h2,
.pkp_structure_main .section h2 {
  padding-bottom: 11px;
  border-bottom: 2px solid var(--jddat-border);
  margin-top: 1.6rem;
  margin-bottom: 1.15rem;
}

/* Journal homepage summary and general content */
.homepage_about,
.homepage_about p,
.journal-description,
.pkp_structure_main .description {
  color: var(--jddat-text);
  line-height: 1.8;
}

.homepage_about {
  margin-bottom: 30px;
}

.homepage_image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

/* ---------- Current issue and issue listings ---------- */
.current_issue,
.obj_issue_toc {
  margin-bottom: 30px;
}

.obj_issue_toc .heading {
  margin-bottom: 22px;
}

.obj_issue_toc .cover img,
.current_issue .cover img {
  border-radius: 8px;
  box-shadow: 0 5px 18px rgba(16, 42, 67, .12);
}

.obj_issue_toc .published,
.current_issue .published {
  color: var(--jddat-muted);
  font-size: .9rem;
}

.obj_issue_toc .sections > h2,
.obj_issue_toc .section h2 {
  font-size: 1.2rem;
  color: var(--jddat-navy);
}

/* ---------- Article cards / summaries ---------- */
.obj_issue_toc .articles > li,
ul.articles > li {
  padding: 22px 24px;
  margin: 0 0 17px;
  background: var(--jddat-white);
  border: 1px solid var(--jddat-border);
  border-radius: 11px;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.obj_issue_toc .articles > li:hover,
ul.articles > li:hover {
  border-color: #8FCBD0;
  box-shadow: var(--jddat-shadow);
}

.obj_article_summary .title,
.article_summary .title {
  display: inline-block;
  color: var(--jddat-navy);
  font-size: 1.12rem;
  font-weight: 750;
  line-height: 1.5;
}

.obj_article_summary .title a,
.article_summary .title a {
  color: var(--jddat-navy);
}

.obj_article_summary .title a:hover,
.article_summary .title a:hover {
  color: var(--jddat-teal);
}

.obj_article_summary .authors,
.article_summary .authors,
.obj_article_summary .pages,
.obj_article_summary .doi {
  color: var(--jddat-muted);
  font-size: .9rem;
}

.obj_article_summary .meta,
.obj_article_summary .item,
.obj_issue_toc .galleys {
  font-size: .88rem;
}

/* Article galley links */
.obj_galley_link,
.obj_galley_link a,
a.obj_galley_link {
  color: var(--jddat-teal);
  font-weight: 700;
}

/* ---------- Article detail page ---------- */
.obj_article_details .page_title {
  color: var(--jddat-navy);
  font-size: clamp(1.65rem, 2.8vw, 2.35rem);
  line-height: 1.38;
  margin-bottom: 22px;
}

.obj_article_details .item {
  margin-bottom: 24px;
}

.obj_article_details .item > h2,
.obj_article_details .item > h3 {
  color: var(--jddat-navy);
  font-size: 1.22rem;
  border-bottom: 1px solid var(--jddat-border);
  padding-bottom: 9px;
}

.obj_article_details .authors,
.obj_article_details .author {
  color: var(--jddat-text);
}

.obj_article_details .abstract {
  line-height: 1.85;
  max-width: 78ch;
}

.obj_article_details .published,
.obj_article_details .copyright,
.obj_article_details .license {
  color: var(--jddat-muted);
  font-size: .92rem;
}

/* ---------- Sidebar blocks ---------- */
.pkp_structure_sidebar .pkp_block {
  padding: 19px;
  margin-bottom: 20px;
  background: var(--jddat-bg);
  border: 1px solid var(--jddat-border);
  border-radius: 10px;
}

.pkp_structure_sidebar .pkp_block .title {
  color: var(--jddat-navy);
  font-size: 1.03rem;
  font-weight: 750;
  line-height: 1.4;
  margin-bottom: 12px;
}

.pkp_structure_sidebar .pkp_block a {
  overflow-wrap: anywhere;
}

.pkp_structure_sidebar ul {
  padding-left: 20px;
}

.pkp_structure_sidebar li {
  margin-bottom: 7px;
}

/* ---------- Buttons and action links ---------- */
.pkp_button,
.cmp_button,
button,
input[type="submit"],
.obj_galley_link {
  border-radius: 7px;
  font-weight: 650;
}

.pkp_button,
.cmp_button,
input[type="submit"] {
  transition: background-color .18s ease, border-color .18s ease;
}

.pkp_button:hover,
.cmp_button:hover,
input[type="submit"]:hover {
  filter: brightness(.94);
}

/* ---------- Forms and search ---------- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="number"],
select,
textarea {
  max-width: 100%;
  padding: 10px 12px;
  color: var(--jddat-text);
  background: var(--jddat-white);
  border: 1px solid #BCCCDC;
  border-radius: 7px;
  box-shadow: none;
}

textarea {
  min-height: 120px;
}

label {
  color: var(--jddat-navy);
  font-weight: 600;
}

form .pkp_form_error,
.notification.error {
  color: #9B1C1C;
}

/* ---------- Tables ---------- */
.pkp_structure_main table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  font-size: .94rem;
}

.pkp_structure_main table th {
  color: var(--jddat-white);
  background: var(--jddat-navy);
  text-align: left;
  font-weight: 700;
}

.pkp_structure_main table th,
.pkp_structure_main table td {
  padding: 11px 13px;
  border: 1px solid var(--jddat-border);
  vertical-align: top;
}

.pkp_structure_main table tr:nth-child(even) td {
  background: #F8FAFC;
}

/* ---------- Notifications and metadata ---------- */
.notification,
.cmp_notification {
  border-radius: 8px;
}

.cmp_notification,
.notification {
  line-height: 1.65;
}

.label,
.cmp_manuscript_button {
  border-radius: 5px;
}

/* ---------- Footer ---------- */
.pkp_structure_footer_wrapper {
  color: #EAF2F8;
  background: var(--jddat-navy);
  border-top: 4px solid var(--jddat-teal);
}

.pkp_structure_footer {
  padding-top: 28px;
  padding-bottom: 28px;
}

.pkp_structure_footer_wrapper a {
  color: #8DE0DA;
  text-decoration: none;
}

.pkp_structure_footer_wrapper a:hover {
  color: var(--jddat-white);
  text-decoration: underline;
}

/* ---------- Responsive layouts ---------- */
@media (max-width: 991px) {
  .pkp_structure_content {
    padding-top: 22px;
    padding-bottom: 32px;
  }

  .pkp_structure_sidebar {
    margin-top: 28px;
  }

  .pkp_navigation_primary > li > a {
    padding: 12px 10px;
  }
}

@media (max-width: 767px) {
  body {
    font-size: 15px;
    line-height: 1.7;
  }

  .pkp_site_name_wrapper {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .pkp_site_name .is_img img {
    max-height: 76px;
  }

  .pkp_structure_content {
    padding: 20px 15px 30px;
  }

  .obj_issue_toc .articles > li,
  ul.articles > li {
    padding: 17px;
    margin-bottom: 13px;
    border-radius: 9px;
  }

  .obj_article_details .page_title {
    font-size: 1.65rem;
  }

  .pkp_structure_sidebar .pkp_block {
    padding: 16px;
  }

  .pkp_structure_main table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
