/* ==========================================================================
   Eurasia Baike — Design Refresh  ·  LISTING PAGES
   Styles archive.php, taxonomy.php, tag.php, search.php, author.php, index.php,
   the year-grouped timeline, child-terms grid, sidebar widgets, pagination,
   and 404. Load AFTER eurasia-refresh.css (reuses the same --eb-* tokens).
   ========================================================================== */

/* ---- Shared layout ------------------------------------------------------ */
.site-content .standard-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: clamp(28px, 4vw, 48px) !important;
  align-items: start;
  max-width: 1180px;
  margin: 0 auto;
}
.site-content .content-area,
.site-content .main-content { min-width: 0; flex: unset !important; }
.standard-sidebar {
  min-width: 0;
  position: sticky;
  top: 82px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  font-family: var(--eb-sans);
  flex: unset !important;
}

/* ==========================================================================
   TAXONOMY / ARCHIVE HEADERS
   ========================================================================== */
.taxonomy-header,
.archive-header {
  margin-bottom: 26px;
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.taxonomy-header .archive-label,
.archive-label {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--eb-accent);
  font-weight: 700;
  margin-bottom: 8px;
}
.taxonomy-header .archive-title,
.archive-header .page-title,
.page-title {
  font-family: var(--eb-serif) !important;
  font-weight: 600;
  font-size: clamp(2rem, 4.6vw, 3.3rem) !important;
  line-height: 1.03;
  letter-spacing: -0.018em;
  margin: 0 0 16px !important;
  color: var(--eb-ink);
  text-transform: none !important;
}
.archive-description,
.taxonomy-description.bio-content {
  font-family: var(--eb-serif);
  font-size: 1.14rem;
  line-height: 1.55;
  color: var(--eb-ink-soft) !important;
  max-width: 64ch;
}
.taxonomy-description.bio-content { margin-top: 8px; }

/* Foldable term description (Read more / Read less — injected by JS) */
.eb-bio-clamp {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.eb-bio-toggle {
  margin-top: 8px;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: var(--eb-sans);
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--eb-accent);
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.eb-bio-toggle:hover { color: var(--eb-accent-2); }
.eb-bio-toggle .eb-caret { font-size: 0.7rem; }

/* Taxonomy breadcrumbs (custom_taxonomy_breadcrumbs output) */
.taxonomy-breadcrumbs,
.custom-breadcrumbs,
.breadcrumbs,
.tax-breadcrumbs {
  font-size: 0.76rem;
  color: var(--eb-muted);
  margin-bottom: 14px;
}
.taxonomy-breadcrumbs a,
.custom-breadcrumbs a,
.breadcrumbs a,
.tax-breadcrumbs a { color: var(--eb-muted); text-decoration: none; }
.taxonomy-breadcrumbs a:hover,
.custom-breadcrumbs a:hover,
.breadcrumbs a:hover,
.tax-breadcrumbs a:hover { color: var(--eb-accent); }
.taxonomy-breadcrumbs .sep,
.custom-breadcrumbs .sep,
.breadcrumbs .separator { margin: 0 8px; color: var(--eb-line); }

/* Category archive gets a rule under the header */
body.archive:not(.tax-localizare):not(.tax-gen_fmc) .archive-header,
.category .archive-header {
  border-bottom: 2px solid var(--eb-ink) !important;
  padding-bottom: 12px !important;
}

/* ==========================================================================
   CHILD TERMS GRID  (hierarchical taxonomies)
   ========================================================================== */
.child-terms-container { margin: 26px 0 32px; }
.child-terms-title {
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--eb-muted);
  font-weight: 700;
  margin: 0 0 12px;
}
.child-terms-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px;
}
.child-term-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 11px 14px;
  background: var(--eb-paper-2);
  border: 1px solid var(--eb-line);
  border-radius: 9px;
  text-decoration: none;
  position: relative;
}
.child-term-item:hover { border-color: var(--eb-accent); }
.child-term-name {
  font-family: var(--eb-serif);
  font-size: 1rem;
  color: var(--eb-ink);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.child-term-count {
  flex: none;
  font-size: 0.72rem;
  color: #fff;
  background: var(--eb-accent);
  border-radius: 999px;
  padding: 1px 8px;
  font-variant-numeric: tabular-nums;
}
.child-term-description {
  flex-basis: 100%;
  font-size: 0.8rem;
  color: var(--eb-muted);
  margin-top: 4px;
  line-height: 1.4;
}

/* ==========================================================================
   YEAR-GROUPED TIMELINE  (archive.php + taxonomy.php)
   ========================================================================== */
.timeline-container,
.timeline-wrapper { position: relative; }
.timeline-wrapper .timeline-line { position: relative; }

.year-group { margin-bottom: 14px; }

/* Sticky year heading — replaces the theme's inline red styles */
.sticky-heading,
.sticky-year {
  position: sticky;
  top: 70px;
  z-index: 5;
  font-family: var(--eb-serif) !important;
  font-weight: 700 !important;
  font-size: 1.5rem !important;
  color: var(--eb-accent) !important;
  margin: 0 0 6px !important;
  padding: 8px 0 !important;
  background: var(--eb-paper) !important;
  backdrop-filter: none !important;
  border-bottom: 0 !important;
}

/* Compact list item (content-right / timeline-entry) */
.timeline-item,
.timeline-entry {
  padding: 0 !important;
  border-bottom: 1px solid var(--eb-line) !important;
}
.taxonomy-side-recent-item {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 14px 0;
  text-decoration: none;
}
.taxonomy-side-thumb {
  width: 60px; height: 60px;
  flex: none;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--eb-line);
}
.taxonomy-side-thumb img { width: 100%; height: 100%; object-fit: cover; }
.taxonomy-side-text { min-width: 0; flex: 1; }

.timeline-title-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.timeline-creator {
  font-size: 0.82rem;
  color: var(--eb-accent);
  font-weight: 700;
}
.timeline-separator { color: var(--eb-line); }
.timeline-title-text {
  font-family: var(--eb-serif);
  font-size: 1.18rem;
  color: var(--eb-ink);
  line-height: 1.2;
}
.taxonomy-side-recent-item:hover .timeline-title-text { color: var(--eb-accent); }
.timeline-excerpt {
  font-size: 0.88rem;
  color: var(--eb-ink-soft);
  margin-top: 4px;
  line-height: 1.4;
}
.timeline-meta {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--eb-muted);
  margin-top: 6px;
}
.timeline-arrow {
  flex: none;
  color: var(--eb-muted);
  font-size: 1.2rem;
}

/* Simple category-archive rows (content-right without a person) */
.category .timeline-item .entry-title,
.archive .timeline-item .entry-title {
  font-family: var(--eb-serif);
  font-size: 1.4rem;
  line-height: 1.2;
  margin: 0;
}
.timeline-item .entry-title a { color: var(--eb-ink); text-decoration: none; }
.timeline-item .entry-title a:hover { color: var(--eb-accent); }

.no-posts-found,
.no-posts-message {
  padding: 40px !important;
  background: var(--eb-paper-2) !important;
  border: 1px solid var(--eb-line);
  border-radius: 10px !important;
  text-align: center;
  color: var(--eb-muted) !important;
}

/* ==========================================================================
   SEARCH RESULTS  (search.php)
   ========================================================================== */
.search-container { max-width: 1180px; margin: 0 auto; padding: 26px clamp(16px,4vw,36px) 60px; }
.search-header { margin-bottom: 26px; }
.search-header .page-title {
  font-family: var(--eb-serif);
  font-weight: 600;
  color: var(--eb-ink);
}
.search-header .page-title span { color: var(--eb-accent); font-style: italic; }
.search-form-wrap {
  margin-top: 16px;
  max-width: 460px;
}
.search-form-wrap .search-form,
.search-form {
  display: flex;
  align-items: center;
  border: 1px solid var(--eb-line);
  border-radius: 999px;
  overflow: hidden;
  background: var(--eb-paper-2);
}
.search-form .search-field {
  flex: 1;
  border: none;
  background: transparent;
  padding: 12px 16px;
  font-family: var(--eb-serif);
  font-size: 1.05rem;
  color: var(--eb-ink);
  outline: none;
}
.search-form .search-submit {
  border: none;
  background: var(--eb-accent);
  color: #fff;
  padding: 12px 20px;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}

/* matched taxonomies block (eurasia_display_taxonomy_search_results) */
.taxonomy-results {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.taxonomy-results a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--eb-line);
  border-radius: 999px;
  padding: 6px 14px;
  text-decoration: none;
  background: var(--eb-paper-2);
  font-size: 0.9rem;
  color: var(--eb-ink);
}
.taxonomy-results a:hover { border-color: var(--eb-accent); }
.section-divider {
  border: 0;
  border-top: 1px solid var(--eb-line);
  margin: 24px 0;
}

.search-results-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
}
.search-item {
  display: flex;
  flex-direction: column;
  background: var(--eb-paper);
  border: 1px solid var(--eb-line);
  border-radius: 10px;
  overflow: hidden;
}
.search-item:hover { border-color: var(--eb-accent); }
.search-item .post-thumbnail { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.search-item .post-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.search-item .post-content { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1; }
.search-item .entry-meta {
  font-size: 0.64rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--eb-muted);
}
.search-item .entry-title {
  font-family: var(--eb-serif);
  font-weight: 600;
  font-size: 1.16rem;
  line-height: 1.22;
  margin: 8px 0;
}
.search-item .entry-title a { color: var(--eb-ink); text-decoration: none; }
.search-item .entry-title a:hover { color: var(--eb-accent); }
.search-item .entry-summary { font-size: 0.85rem; line-height: 1.45; color: var(--eb-ink-soft); }
.search-item .read-more {
  margin-top: auto;
  padding-top: 12px;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--eb-accent);
  text-decoration: none;
}
.no-results {
  padding: 44px;
  background: var(--eb-paper-2);
  border: 1px solid var(--eb-line);
  border-radius: 12px;
  text-align: center;
}
.no-results h2 { font-family: var(--eb-serif); color: var(--eb-ink); }
.no-results p { color: var(--eb-ink-soft); }

/* ==========================================================================
   PAGINATION  (the_posts_pagination)
   ========================================================================== */
.archive-pagination .nav-links,
.pagination .nav-links,
.navigation.pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 34px;
  flex-wrap: wrap;
}
.pagination .page-numbers,
.nav-links .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--eb-line);
  border-radius: 8px;
  color: var(--eb-ink-soft);
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.pagination .page-numbers:hover,
.nav-links .page-numbers:hover { border-color: var(--eb-accent); color: var(--eb-accent); }
.pagination .page-numbers.current,
.nav-links .page-numbers.current {
  background: var(--eb-accent);
  border-color: var(--eb-accent);
  color: #fff;
}

/* ==========================================================================
   SIDEBAR WIDGETS  (gallery, related people, external links)
   ========================================================================== */
.standard-sidebar .widget-title,
.sidebar-gallery-box h4,
.external-links-sidebar .widget-title,
.widget_related_people .widget-title {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--eb-ink);
  font-weight: 700;
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--eb-ink);
}

/* Related people list */
.widget_related_people ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.widget_related_people a { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.widget_related_people img {
  width: 42px; height: 42px;
  flex: none;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--eb-line);
}
.widget_related_people .person-name {
  font-family: var(--eb-serif);
  font-size: 0.98rem;
  color: var(--eb-ink);
  line-height: 1.2;
}
.widget_related_people a:hover .person-name { color: var(--eb-accent); }
.widget_related_people .person-role {
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  color: var(--eb-muted);
  margin-top: 2px;
}

/* External links */
.external-links-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.external-link-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 12px;
  background: var(--eb-paper-2);
  border: 1px solid var(--eb-line);
  border-radius: 7px;
  text-decoration: none;
  font-size: 0.86rem;
  color: var(--eb-ink);
}
.external-link-item:hover { border-color: var(--eb-accent); }
.external-link-item small { margin-left: auto; color: var(--eb-muted); font-size: 0.66rem; }
.external-links-list .link-icon { color: var(--eb-accent); }

/* Sidebar photo gallery */
.sidebar-gallery-box .gallery,
.sidebar-gallery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.sidebar-gallery-box img,
.sidebar-gallery-grid img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--eb-line);
}

/* ==========================================================================
   404
   ========================================================================== */
.error-404 {
  max-width: 620px;
  margin: 60px auto;
  padding: 0 24px;
  text-align: center;
}
.error-404 .page-title {
  font-family: var(--eb-serif);
  font-size: clamp(3rem, 10vw, 6rem);
  color: var(--eb-accent);
  margin: 0;
}
.error-404 .page-content { color: var(--eb-ink-soft); }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 900px) {
  .site-content .standard-layout { grid-template-columns: 1fr !important; }
  .standard-sidebar { position: static; }
}
@media (max-width: 560px) {
  .sticky-year, .sticky-heading { position: static; }
  .taxonomy-side-thumb { width: 52px; height: 52px; }
}
