/* ============================================================
   Learning Success — AUTHOR ARCHIVE (/author/<name>/)
   Loaded only on author archives (ls_wanted_page_css()).
   Header card: ls_render_author_header() in functions.php.
   Post grid: Astra's own loop, restyled here with the theme's card tokens.
   ============================================================ */

/* ---- Header card --------------------------------------------------- */
.ls-author {
  display: flex; align-items: flex-start; gap: 32px;
  background: var(--surface-card); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm); padding: 36px 40px; margin: 0 0 40px;
}
.ls-author__photo { flex-shrink: 0; }
.ls-author__photo img {
  display: block; width: 128px; height: 128px; border-radius: 50%;
  object-fit: cover; box-shadow: 0 0 0 6px var(--blue-50);
}
.ls-author__body { min-width: 0; flex: 1; }
.ls-author__body .ls-eyebrow { margin-bottom: 8px; }
.ls-author__name {
  font: var(--font-h1); font-size: var(--text-2xl);
  color: var(--text-strong); margin: 0 0 6px;
}
.ls-author__role {
  font: var(--font-label); font-size: var(--text-base);
  color: var(--text-muted); margin: 0 0 16px;
}
.ls-author__bio { font: var(--font-body-md); color: var(--text-body); max-width: 68ch; }
.ls-author__bio p { margin: 0 0 12px; }
.ls-author__bio > :last-child { margin-bottom: 0; }
.ls-author__bio h2,
.ls-author__bio h3 {
  font: var(--font-h3); font-size: var(--text-lg); color: var(--text-strong); margin: 22px 0 8px;
}
.ls-author__bio ul,
.ls-author__bio ol { margin: 0 0 12px 1.25em; padding: 0; }
.ls-author__bio li { margin-bottom: 4px; }
.ls-author__bio a { color: var(--text-link); }
.ls-author__social { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.ls-author__social a {
  display: inline-block; padding: 5px 14px; border-radius: var(--radius-pill);
  border: 1.5px solid var(--blue-200); color: var(--blue-600);
  font: var(--font-label); text-decoration: none;
  transition: background var(--dur-fast) var(--ease-out);
}
.ls-author__social a:hover { background: var(--blue-50); }
.ls-author__topics-label {
  font: var(--font-label); color: var(--text-muted); margin: 20px 0 10px;
}
.ls-author__topics { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ls-author__topics a {
  display: inline-block; padding: 6px 14px; border-radius: var(--radius-pill);
  background: var(--blue-50); color: var(--blue-700);
  font: var(--font-label); text-decoration: none;
  transition: background var(--dur-fast) var(--ease-out);
}
.ls-author__topics a:hover { background: var(--blue-100); }

/* ---- Post cards (Astra blog layout, author archives only) ---------- */
/* :hover is listed because Astra's own hover selector outranks the plain one. */
body.author .ast-article-post .ast-article-inner,
body.author .ast-article-post .ast-article-inner:hover {
  border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); overflow: hidden;
  transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
}
body.author .ast-article-post .ast-article-inner:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
body.author .ast-article-post .cat-links a {
  font: var(--font-eyebrow); text-transform: uppercase; letter-spacing: var(--tracking-caps);
  color: var(--color-secondary); text-decoration: none;
}
body.author .ast-article-post .entry-title {
  font: var(--font-h3); font-size: var(--text-lg); line-height: var(--leading-snug);
}
body.author .ast-article-post .entry-title a { color: var(--text-strong); text-decoration: none; }
body.author .ast-article-post .entry-title a:hover { color: var(--blue-600); }
body.author .ast-article-post .entry-meta,
body.author .ast-article-post .entry-meta a { font: var(--font-label); color: var(--text-muted); }
body.author .ast-article-post .ast-excerpt-container,
body.author .ast-article-post .ast-excerpt-container p { font: var(--font-body-base); color: var(--text-body); }

/* ---- Pagination ---------------------------------------------------- */
body.author .ast-pagination .page-numbers {
  border-radius: var(--radius-pill); font: var(--font-label);
}
body.author .ast-pagination .page-numbers.current { background: var(--blue-500); color: var(--text-on-color); }

/* ---- Small screens ------------------------------------------------- */
@media (max-width: 640px) {
  .ls-author { flex-direction: column; align-items: center; text-align: center; padding: 28px 22px; gap: 18px; }
  .ls-author__photo img { width: 104px; height: 104px; }
  .ls-author__name { font-size: var(--text-xl); }
  .ls-author__bio { margin: 0 auto; text-align: left; } /* long bios read badly centered */
  .ls-author__topics,
  .ls-author__social { justify-content: center; }
}
