/* Article browse: volume tree, issue list, article detail (Home/SearchArticle) */

.article-browse-page {
  padding: 32px 0 48px;
}

.article-browse-layout {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

.article-browse-layout--detail {
  gap: 28px;
}

/* ---------- Sidebar: volume tree ---------- */
.browse-sidebar {
  flex: 0 0 240px;
  position: sticky;
  top: 20px;
}

.browse-sidebar__inner {
  background: var(--white, #fff);
  border: 1px solid var(--line, #e3e9f0);
  border-radius: 12px;
  padding: 16px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15, 42, 82, 0.06));
}

.browse-year-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 8px 4px;
  font-size: 16px;
  font-weight: 800;
  color: var(--navy-900, #0f2a52);
  cursor: pointer;
  border: none;
  background: none;
  font-family: var(--font-display, "Playfair Display", serif);
  text-align: left;
}

.browse-year-toggle:hover {
  color: var(--red-600, #c8102e);
}

.browse-year-panel {
  padding: 4px 0 12px 8px;
  font-size: 14px;
}

.browse-year-panel[hidden] {
  display: none;
}

.browse-volume-link {
  display: block;
  padding: 5px 0;
  color: var(--navy-700, #1b4a8a);
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  transition: color 0.15s;
}

.browse-volume-link:hover {
  color: var(--red-600, #c8102e);
}

.browse-volume-link.is-active {
  color: var(--red-600, #c8102e);
}

.browse-more-toggle {
  display: inline-block;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--navy-700, #1b4a8a);
  cursor: pointer;
}

.browse-more-toggle:hover {
  color: var(--red-600, #c8102e);
}

.browse-years-old[hidden] {
  display: none;
}

/* ---------- Main panel ---------- */
.browse-main {
  flex: 1;
  min-width: 0;
}

.browse-panel {
  background: var(--white, #fff);
  border: 1px solid var(--line, #e3e9f0);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15, 42, 82, 0.06));
}

.browse-panel__head {
  padding: 24px 24px 16px;
  border-bottom: 1px solid var(--line, #e3e9f0);
  text-align: center;
}

.browse-panel__title {
  font-family: var(--font-display, "Playfair Display", serif);
  font-size: clamp(20px, 2.5vw, 26px);
  font-weight: 800;
  color: var(--navy-900, #0f2a52);
  margin: 0;
  line-height: 1.3;
}

.browse-panel__subtitle {
  font-size: 14px;
  color: var(--ink-500, #5c6a7d);
  margin: 6px 0 0;
}

.browse-panel__body {
  padding: 8px 0;
}

/* ---------- Article list (issue browse) ---------- */
.browse-article-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.browse-article-item {
  padding: 20px 24px;
  border-bottom: 1px solid var(--line, #e3e9f0);
}

.browse-article-item:last-child {
  border-bottom: none;
}

.browse-article-item__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--navy-900, #0f2a52);
  text-decoration: none;
  line-height: 1.45;
  display: inline;
  transition: color 0.15s;
}

.browse-article-item__title:hover {
  color: var(--red-600, #c8102e);
}

.browse-article-item__title mark,
.browse-article-item__authors mark {
  background: #fff3b0;
  color: inherit;
  border-radius: 2px;
  padding: 0 2px;
}

.browse-article-item__pages {
  font-weight: 600;
  color: var(--ink-500, #5c6a7d);
}

.browse-article-item__authors {
  font-size: 13px;
  color: var(--ink-700, #2e3a4b);
  margin: 6px 0 4px;
}

.browse-article-item__meta {
  font-size: 13px;
  color: var(--ink-400, #8494a7);
  margin-bottom: 10px;
}

.browse-article-item__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 13px;
  font-weight: 600;
}

.browse-article-item__actions a {
  color: var(--navy-700, #1b4a8a);
  text-decoration: none;
}

.browse-article-item__actions a:hover {
  color: var(--red-600, #c8102e);
}

.browse-article-item__actions .browse-action-sep {
  color: var(--ink-300, #a8b2c1);
}

.browse-btn-pdf {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 6px;
  background: var(--sky-50, #eef4fa);
  color: var(--navy-800, #133a6f) !important;
  font-weight: 600;
}

.browse-btn-pdf:hover {
  background: #dce8f5;
}

.browse-btn-buy {
  color: var(--red-600, #c8102e) !important;
}

.browse-abstract-box {
  display: none;
  margin-top: 12px;
  padding: 14px 16px;
  background: var(--sky-50, #eef4fa);
  border: 1px solid var(--line, #e3e9f0);
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.6;
}

.browse-abstract-box strong {
  display: block;
  margin-bottom: 6px;
  color: var(--navy-900, #0f2a52);
}

/* ---------- Article detail ---------- */
.article-detail {
  padding: 28px 28px 32px;
}

.article-detail__journal {
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
}

.article-detail__journal a {
  color: var(--navy-700, #1b4a8a);
  text-decoration: none;
}

.article-detail__journal a:hover {
  color: var(--red-600, #c8102e);
}

.article-detail__volume {
  text-align: center;
  font-size: 15px;
  color: var(--ink-700, #2e3a4b);
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line, #e3e9f0);
}

.article-detail__volume a {
  color: var(--navy-700, #1b4a8a);
  font-weight: 700;
  text-decoration: none;
}

.article-detail__volume a:hover {
  color: var(--red-600, #c8102e);
}

.article-detail__title {
  font-family: var(--font-display, "Playfair Display", serif);
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 800;
  color: var(--navy-900, #0f2a52);
  line-height: 1.3;
  margin: 0 0 8px;
}

.article-detail__comments {
  font-size: 16px;
  font-weight: 600;
  color: var(--ink-700, #2e3a4b);
  margin-bottom: 10px;
}

.article-detail__authors {
  font-size: 15px;
  font-weight: 600;
  color: var(--red-600, #c8102e);
  margin-bottom: 16px;
}

.article-detail__doi {
  font-size: 14px;
  color: var(--ink-700, #2e3a4b);
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line, #e3e9f0);
}

.article-detail__doi a {
  color: var(--navy-700, #1b4a8a);
  word-break: break-all;
}

.article-detail__doi a:hover {
  color: var(--red-600, #c8102e);
}

/* Tabs */
.article-detail-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border: 1px solid var(--line, #e3e9f0);
  border-radius: 8px 8px 0 0;
  overflow: hidden;
  background: var(--navy-800, #133a6f);
}

.article-detail-tabs button {
  flex: 1;
  min-width: 0;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 0.15s;
  font-family: inherit;
}

.article-detail-tabs button:hover {
  background: var(--navy-900, #0f2a52);
}

.article-detail-tabs button.active {
  background: var(--navy-900, #0f2a52);
  color: #fff;
}

.article-detail-tabpanel {
  display: none;
  padding: 16px 18px;
  border: 1px solid var(--line, #e3e9f0);
  border-top: none;
  border-radius: 0 0 8px 8px;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
}

.article-detail-tabpanel.is-open {
  display: block;
}

.article-detail-tabpanel div {
  margin-bottom: 6px;
}

.article-detail__section-title {
  font-family: var(--font-display, "Playfair Display", serif);
  font-size: 18px;
  font-weight: 800;
  color: var(--navy-900, #0f2a52);
  margin: 20px 0 10px;
}

.article-detail__section-title:first-of-type {
  margin-top: 0;
}

.article-detail__downloads {
  margin: 20px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.article-detail__downloads .image-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--sky-50, #eef4fa);
  color: var(--navy-800, #133a6f);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  border: 1px solid var(--line, #e3e9f0);
}

.article-detail__downloads .image-button:hover {
  background: #dce8f5;
  color: var(--navy-900, #0f2a52);
}

.article-detail__downloads .js-article-buy {
  color: var(--red-600, #c8102e);
}

.article-detail__citation-select {
  margin-top: 10px;
  max-width: 220px;
  min-height: 36px;
  padding: 6px 10px;
  border: 1px solid var(--line, #e3e9f0);
  border-radius: 6px;
  font-size: 14px;
  font-family: inherit;
}

.article-detail__refs-toggle {
  margin-top: 10px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--navy-800, #133a6f);
  background: var(--sky-50, #eef4fa);
  border: 1px solid var(--line, #e3e9f0);
  border-radius: 6px;
  cursor: pointer;
  font-family: inherit;
}

.article-detail__refs-toggle:hover {
  background: #dce8f5;
}

.collapse-content {
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.collapse-content.collapsed {
  max-height: 0;
}

.collapse-content.expanded {
  max-height: 20000px;
}

/* ---------- Recommended aside ---------- */
.browse-aside {
  flex: 0 0 300px;
  position: sticky;
  top: 20px;
}

.browse-aside__inner {
  background: var(--white, #fff);
  border: 1px solid var(--line, #e3e9f0);
  border-radius: 12px;
  padding: 18px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15, 42, 82, 0.06));
}

.browse-aside__title {
  font-family: var(--font-display, "Playfair Display", serif);
  font-size: 16px;
  font-weight: 800;
  color: var(--navy-900, #0f2a52);
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--gold-500, #c9a227);
}

.browse-rec-item {
  padding: 14px 0;
  border-bottom: 1px solid var(--line, #e3e9f0);
}

.browse-rec-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.browse-rec-item__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--navy-900, #0f2a52);
  text-decoration: none;
  line-height: 1.4;
  display: block;
  margin-bottom: 4px;
}

.browse-rec-item__title:hover {
  color: var(--red-600, #c8102e);
}

.browse-rec-item__meta {
  font-size: 12px;
  color: var(--ink-400, #8494a7);
  margin-bottom: 6px;
}

.browse-rec-item__more {
  font-size: 12px;
  font-weight: 600;
  color: var(--navy-700, #1b4a8a);
  cursor: pointer;
  text-decoration: none;
}

.browse-rec-item__more:hover {
  color: var(--red-600, #c8102e);
}

.browse-rec-item__abstract {
  display: none;
  margin-top: 8px;
  padding: 10px 12px;
  background: var(--sky-50, #eef4fa);
  border-radius: 6px;
  font-size: 13px;
  line-height: 1.5;
}

.browse-rec-item__actions {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.browse-rec-item__actions .image-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--navy-700, #1b4a8a);
  text-decoration: none;
}

/* ---------- Home partials (latest section widgets) ---------- */
.latest-article-meta {
  color: var(--ink-500, #5c6a7d);
  margin: 4px 0;
}

.latest-article-actions a,
.latest-article-detail-link a {
  color: var(--navy-700, #1b4a8a);
  font-weight: 600;
  text-decoration: none;
}

.latest-article-actions a:hover,
.latest-article-detail-link a:hover {
  color: var(--red-600, #c8102e);
}

.latest-article-abstract-box {
  display: none;
  border: 1px solid var(--line, #e3e9f0);
  padding: 10px 12px;
  margin-top: 8px;
  background: var(--sky-50, #eef4fa);
  border-radius: 8px;
  font-size: 13px;
}

.browse-short-item__meta {
  color: var(--ink-500, #5c6a7d);
  font-size: 13px;
  margin: 4px 0;
}

.browse-short-item__actions {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
}

.browse-short-item__actions a {
  color: var(--navy-700, #1b4a8a);
  text-decoration: none;
}

.browse-short-item__actions a:hover {
  color: var(--red-600, #c8102e);
}

.browse-short-abstract {
  display: none;
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid var(--line, #e3e9f0);
  border-radius: 8px;
  background: var(--sky-50, #eef4fa);
  font-size: 13px;
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
  .article-browse-layout {
    flex-direction: column;
    gap: 20px;
  }

  .browse-sidebar,
  .browse-aside {
    position: static;
    flex: none;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .article-browse-page {
    padding: 20px 0 36px;
  }

  .article-detail {
    padding: 20px 16px 24px;
  }

  .article-detail-tabs button {
    font-size: 11px;
    padding: 8px 6px;
  }
}
