/* ===============================
   Publications – Global structure
   =============================== */

.publications-page {
  font-size: 0.9rem;
}

/* ===============================
   Publications – Headings
   =============================== */

.publications-page h1 {
  font-size: 1.6rem;
  margin-top: 1.8rem;
  margin-bottom: 0.4rem;
}

.publications-page h2 {
  font-size: 1.1rem;
  margin-top: 0.8rem;
  margin-bottom: 0.3rem;
  font-weight: 600;
}

/* ===============================
   Publications – Lists
   =============================== */

.publications-page .publication-list {
  list-style: disc;
  padding-left: 1.3rem;
}

.publications-page .publication-list li::marker {
  font-size: 0.75rem;
  color: #666;
}

/* ===============================
   Publications – Journal highlighting
   =============================== */

.publications-page .journal-list li,
.publications-page .publication-list.journal li {
  font-weight: 500;
}

.publications-page .journal-list li strong,
.publications-page .publication-list.journal li strong {
  font-weight: 600;
}

.publications-page .journal-list li {
  border-left: 3px solid rgba(0, 0, 0, 0.08);
  padding-left: 0.6em;
}

.publications-page .conference-list li {
  font-weight: 400;
  border-left: none;
}

/* ===============================
   Publications – DOI
   =============================== */

.doi-icon {
  width: 22px;
  height: auto;
  vertical-align: middle;
  margin-left: 4px;
  display: inline-block;
}

.doi-link:hover {
  opacity: 0.75;
}

.doi-text {
  font-size: 0.85em;
  color: #888;
  margin-left: 4px;
}

/* ===============================
   Publications – Language badge
   =============================== */

.publications-page span[title="Publication in Portuguese"] {
  margin-left: 4px;
  font-size: 0.9em;
}

/* ===============================
   Publications – Responsive
   =============================== */

@media (max-width: 768px) {
  .publications-page {
    font-size: 0.93rem;
  }

  .publications-page h1 {
    font-size: 1.45rem;
  }

  .publications-page h2 {
    font-size: 1.05rem;
  }
}

/* ===============================
   Legend
   =============================== */

.quick-access-legend {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9em;
  color: #555;
  margin-top: 4px;
}

.quick-access-legend img {
  vertical-align: middle;
  opacity: 0.9;
}

/* ============================================================
   Service – Global structure (academicpages-compatible)
   ============================================================ */

.service-page {
  font-size: 0.9rem;
}

.service-page h1 {
  font-size: 1.6rem;
  margin-top: 1.8rem;
  margin-bottom: 0.4rem;
}

.service-page h2 {
  font-size: 1.1rem;
  margin-top: 0.8rem;
  margin-bottom: 0.3rem;
  font-weight: 600;
}

.service-list {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.service-page .service-list li {
  margin-bottom: 0.45em;
  line-height: 1.45;
}

.service-page .service-list em {
  font-style: italic;
}

/* Service – Responsive */
@media (max-width: 768px) {
  .service-page {
    font-size: 0.93rem;
  }

  .service-page h1 {
    font-size: 1.45rem;
  }

  .service-page h2 {
    font-size: 1.05rem;
  }
}

/* ============================================================
   Books – FINAL, HARD FIX for academicpages
   ============================================================ */

.books-page {
  font-size: 0.95rem;
}

/* Entry layout */
.books-page .book-entry {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  margin-bottom: 2rem;
}

/* HARD FIX: cover NEVER grows */
.books-page .book-cover {
  flex: 0 0 auto;
}

.books-page .book-cover img {
  width: 80px !important;
  max-width: 80px !important;
  min-width: 80px !important;
  height: auto !important;
  display: block;
  margin: 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

/* Meta */
.books-page .book-meta h2 {
  font-size: 1.25rem;
  margin-top: 0;
  margin-bottom: 0.2rem;
}

.books-page .book-subtitle {
  font-size: 0.95rem;
  font-style: italic;
  margin-bottom: 0.4rem;
}

.books-page .book-authors {
  font-size: 0.9rem;
  margin-bottom: 0.6rem;
}

.books-page .book-abstract {
  font-size: 0.9rem;
  line-height: 1.45;
}

.books-page .book-doi {
  font-size: 0.85rem;
  margin-top: 0.4rem;
}

/* Books – Responsive */
@media (max-width: 768px) {
  .books-page .book-entry {
    flex-direction: column;
  }

  .books-page .book-cover img {
    width: 110px !important;
    max-width: 110px !important;
    min-width: 110px !important;
  }
}

/* ===============================
   Book Chapters – spaced editorial layout
   =============================== */

.books-page .chapter-list {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.books-page .chapter-entry {
  padding: 0.8rem 0 1.2rem 0;
  margin-bottom: 1.6rem;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

/* Title */
.books-page .chapter-title {
  display: block;
  font-weight: 600;
  margin-bottom: 0.4rem;
}

/* Meta line */
.books-page .chapter-meta {
  font-size: 0.9rem;
  margin-bottom: 0.4rem;
  line-height: 1.35;
}

/* DOI separated */
.books-page .chapter-doi {
  font-size: 0.85rem;
  margin-bottom: 0.6rem;
}

/* Abstract clearly separated */
.books-page .chapter-abstract {
  margin-top: 0.4rem;
  padding-top: 0.4rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #555;
}


.badge-icon {
  width: 26px;
  height: auto;
  margin-left: 4px;
  vertical-align: middle;
}

.artifact-badges {
  margin-left: 6px;
}

.quick-access-legend {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  align-items: center;
}

.legend-item img {
  vertical-align: middle;
  margin-left: 4px;
}

.supervision-title {
  margin-top: 0.2em;
}

.supervision-summary {
  margin-top: 0.2em;
}

.supervision-dates {
  display: block;
  margin-top: 0.2em;
  font-size: 0.9em;
  color: #666;
}

.timeline {
  margin-top: 1.5em;
  border-left: 3px solid #ddd;
  padding-left: 1em;
}

.timeline-item {
  position: relative;
  margin-bottom: 1.2em;
}

.timeline-year {
  font-weight: 600;
  color: #333;
  margin-bottom: 0.2em;
  display: block;
}

.timeline-content {
  padding-left: 0.5em;
}

.timeline-item::before {
  content: "";
  position: absolute;
  left: -0.55em;
  top: 0.4em;
  width: 10px;
  height: 10px;
  background-color: #666;
  border-radius: 50%;
}

.book-toc {
  font-size: 0.95em;
}

.book-toc a {
  text-decoration: none;
}

.book-toc a:hover {
  text-decoration: underline;
}

/* ===============================
   Academic Appointments page
   =============================== */

.appointments-page h2 {
  margin-top: 1.2em;
  padding-top: 0.4em;
  border-top: 1px solid #e6e6e6;
}

.appointments-page h3 {
  margin-top: 0.8em;
}

.appointments-page p {
  margin-bottom: 0.9em;
}

.appointments-page ul {
  margin-top: 0.6em;
  padding-left: 1.1em;
}

.appointments-page li {
  margin-bottom: 0.8em;
  line-height: 1.45;
}

/* Make role titles stand out a bit without looking like a callout */
.appointments-page strong {
  font-weight: 600;
}


.appointments-page hr {
  margin: 1.2em 0;
}

.appointments-page h2 + p {
  background: #fafafa;
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 0.9em 1em;
}

/* ===============================
   Teaching page
   =============================== */

.teaching-page h2 {
  margin-top: 1.3em;
  padding-top: 0.4em;
  border-top: 1px solid #e6e6e6;
}

.teaching-list {
  list-style: none;
  padding-left: 0;
}

.teaching-list li {
  margin-bottom: 0.8em;
  line-height: 1.45;
}

/* ===============================
   Projects page
   =============================== */

.projects-page h1 {
  margin-top: 1.8em;
}

.projects-page hr {
  margin: 1.2em 0;
}

.project-entry {
  margin: 1.6em 0;
}

.project-entry h2 {
  margin-bottom: 0.25em;
}

.project-meta {
  font-size: 0.95em;
  color: #555;
  margin-bottom: 0.6em;
  line-height: 1.4;
}

.projects-note {
  margin-top: 1.6em;
}

.preprint-icon {
  width: 22px;
  height: 22px;
  margin-left: 6px;
  vertical-align: middle;
  opacity: 0.85;
}

.preprint-icon:hover {
  opacity: 1.0;
}

/* ===============================
   FINAL FIX – Publications Font Size
   =============================== */

.publications-page {
  font-size: 0.88rem !important;
}

.publications-page .publication-list li {
  font-size: inherit !important;
  line-height: 1.35 !important;
  margin-bottom: 0.55rem !important;
}

.publications-page h1 {
  font-size: 1.3rem !important;
}

.publications-page h2 {
  font-size: 1.05rem !important;
}

/* Icons smaller */
.publications-page .doi-icon,
.publications-page .preprint-icon,
.publications-page .badge-icon {
  width: 18px !important;
}

.publications-page .artifact-icon {
  width: 22px !important;
}
