/* Site-specific additions on top of the al-folio v0.1 stylesheet (main.css).
   Accent color: Michigan Arboretum Blue #2f65a7. */

/* The base theme uses font-weight 100 for body text, so <strong> needs an explicit weight */
.post-content strong, .news strong { font-weight: bold; }

/* Footer: include padding in its width (prevents horizontal scroll) */
footer { box-sizing: border-box; }

/* Social icons: smaller than al-folio's 60px default */
.contacticon { font-size: 2.25rem; margin: 10px 0; }
.contacticon a { display: inline-block; margin: 0 0.3em; }

/* ---- Header / nav ---- */
.site-header a.site-title { color: inherit; }
.site-header a.site-title:hover { color: #2f65a7; }
.site-nav .page-link.active { color: #2f65a7; }

/* ---- About page header ---- */
.post-description .job-market { display: block; margin-top: 0.35em; color: #2f65a7; font-weight: bold; }
.post-description .email-line { display: block; margin-top: 0.6em; }

/* ---- News table ---- */
.news table .date { width: 7em; white-space: nowrap; padding-right: 1em; color: #666; }
.news table .announcement { width: auto; }

/* ---- Publications ---- */
.scholar-link { margin-bottom: 0.5em; }
.publication-category h4 { margin-top: 1.6em; }
.bibliography li .note { font-size: 0.85em; color: #666; }
.bibliography li .links { font-size: 0.85em; margin-top: 0.15em; }
.bibliography li .author strong { font-weight: bold; color: #333; }

/* ---- Teaching ---- */
.course-list { list-style: none; padding-left: 0; }
.course-list li { display: flex; justify-content: space-between; gap: 1em; padding: 0.35em 0; border-bottom: 1px solid #eee; }
.course-list .term { white-space: nowrap; color: #666; }

/* ---- CV page ---- */
.cv-download { display: flex; align-items: center; flex-wrap: wrap; gap: 0.75em; margin-bottom: 1.5em; }
.cv-download a.button-blue, article .cv-download a.button-blue { color: #fff; font-weight: normal; }
.cv-download a.button-blue:hover { background-color: #00274c; text-decoration: none; }
.cv-updated { color: #888; font-size: 0.85em; }
.cv-section h4 { margin-top: 1.6em; margin-bottom: 0.4em; border-bottom: 1px solid #e8e8e8; padding-bottom: 0.2em; }
.cv-list { list-style: none; padding-left: 0; margin: 0; }
.cv-list li { display: flex; justify-content: space-between; align-items: baseline; gap: 1.25em; padding: 0.3em 0; }
.cv-list .cv-what { flex: 1 1 auto; color: #333; }
.course-list .course { color: #333; }
.cv-list .cv-when { flex: 0 0 auto; white-space: nowrap; color: #666; }
.cv-list .cv-year { order: -1; min-width: 2.75em; }

/* ---- Profile photo ---- */
.profile { margin-left: 1.25em; margin-bottom: 0.75em; }
.profile img { height: auto; }

/* ---- Small screens ---- */
@media screen and (max-width: 600px) {
  .wrapper { padding-left: 20px; padding-right: 20px; }
  .page-content { padding: 80px 0 40px; }
  .post-title { font-size: 36px; }
  /* Photo above the text instead of a narrow float */
  .profile.right { float: none; width: 62%; margin: 0 auto 1.25em; }
  /* Footer in normal flow so it does not cover content */
  footer { position: static; }
  .cv-list li { flex-direction: column; gap: 0; }
  .cv-list .cv-year { order: 0; font-weight: bold; }
  .course-list li { flex-direction: column; gap: 0; }
  .news table .date { width: 6.2em; }
  .contacticon { font-size: 2rem; }
}

/* ---- Homepage highlights ---- */
.post-header .social { text-align: left; }
.post-header .contacticon { font-size: 1.6rem; margin: 6px 0 0; }
.post-header .contacticon a { margin: 0 0.55em 0 0; }
.highlights, .recognition { clear: both; margin-top: 2.2em; padding-top: 1.2em; border-top: 1px solid #e8e8e8; }
.highlights h2, .recognition h2 { margin-bottom: 0.7em; }
.hl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.hl-card { border: 1px solid #e3e8ef; border-top: 3px solid #2f65a7; border-radius: 6px; padding: 14px 16px 12px; background: #fbfcfe; }
.hl-tag { display: inline-block; font-size: 0.72em; font-weight: bold; letter-spacing: 0.04em; text-transform: uppercase; color: #fff; background: #2f65a7; border-radius: 3px; padding: 2px 7px; }
.hl-title { font-weight: bold; color: #222; margin-top: 0.5em; line-height: 1.3; }
.hl-with { font-size: 0.85em; color: #777; margin-top: 0.15em; }
.hl-finding { font-size: 0.92em; color: #333; margin: 0.55em 0 0.3em; line-height: 1.45; }
.hl-note { font-size: 0.82em; color: #666; font-style: italic; margin: 0 0 0.3em; }
.hl-links a { font-size: 0.85em; font-weight: bold; margin-right: 1em; }
.rec-col { margin-bottom: 1.6em; }
.rec-table { width: 100%; border-collapse: collapse; }
.rec-table td { padding: 0.28em 0; vertical-align: top; color: #333; }
.rec-table td.date { width: 7em; white-space: nowrap; padding-right: 1em; color: #666; }
.media-list { list-style: none; padding-left: 0; margin: 0; }
.media-list li { padding: 0.28em 0; }
.media-list .outlet { display: inline-block; min-width: 11.5em; font-weight: bold; color: #555; }
@media screen and (max-width: 600px) {
  .hl-grid { grid-template-columns: 1fr; }
  .media-list .outlet { display: block; min-width: 0; }
  .rec-table td.date { width: 5.5em; }
}

/* ---- Highlight polish ---- */
.post-header .social { border: none; padding: 0; margin: 0.5em 0 0; text-align: left; }
.post-header .contacticon.center, .post-header .contacticon { display: block; text-align: left; }
.rec-table, .rec-table tr, .rec-table td { border: none !important; }
.rec-table tr + tr td { border-top: 1px solid #f0f0f0 !important; }
.media-list .outlet { min-width: 14em; }
.media-list a { color: #2f65a7; }
.media-list li { display: grid; grid-template-columns: 14em 1fr; gap: 0.75em; }
.media-list .outlet { min-width: 0; }
@media screen and (max-width: 600px) { .media-list li { grid-template-columns: 1fr; gap: 0; } }
.recognition strong { font-weight: bold; color: #222; }

/* ---- CV page: full PDF embedded in the site ---- */
.cv-embed iframe { width: 100%; height: calc(100vh - 220px); min-height: 640px; border: 1px solid #e3e3e3; border-radius: 4px; }
.cv-mobile-note { display: none; color: #666; font-size: 0.9em; }
@media screen and (max-width: 600px) {
  .cv-embed { display: none; }
  .cv-mobile-note { display: block; }
}
