/* Scoped publication archive: retain the site's font, blue links and thumbnails. */
.publications-page { max-width: 1080px; margin: 48px auto; color: #292929; }
.publications-page [hidden] { display: none !important; }
.publications-page h1 { font-size: clamp(24px, 3vw, 34px); font-weight: 600; text-align: center; margin: 0 0 12px; }
.publication-intro { text-align: center; color: #615d59; margin-bottom: 32px; }
.publication-toolbar { padding: 20px; background: #f6f5f4; border: 1px solid #e4e2df; border-radius: 8px; }
.publication-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.publication-filters button { font: inherit; font-size: 14px; font-weight: 500; min-height: 44px; padding: 10px 14px; border: 1px solid #c8c7c4; background: white; color: #31302e; border-radius: 6px; cursor: pointer; }
.publication-filters button span { margin-left: 6px; font-size: 12px; }
.publication-filters button:hover { border-color: #185fa9; }
.publication-filters button[aria-pressed="true"] { background: #185fa9; color: white; border-color: #185fa9; }
.publications-page a:focus-visible, .publication-filters button:focus-visible { outline: 3px solid #185fa9; outline-offset: 3px; }
.publication-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding: 18px 0; font-size: 14px; }
.publication-summary p { margin: 0; }
.publication-summary a { padding: 10px 0; }
.publication-year, .patent-year, .publication-patents { scroll-margin-top: 100px; }
.publications-page h2, .publications-page .patent-year h3 { display: flex; align-items: baseline; gap: 12px; font-variant: normal; font-size: 26px; font-weight: 600; text-align: left; margin: 28px 0 0; padding-bottom: 14px; border-bottom: 1px solid #d9d7d4; }
.publications-page .year-count { font-size: 13px; font-weight: 400; color: #615d59; }
.publications-page .publication-list { list-style: none; margin: 0; padding: 0; }
.publications-page .elementPubli { display: flex; gap: 24px; margin: 0; padding: 24px 0; font-size: 14px; border-bottom: 1px solid #eeedeb; line-height: 1.65; }
.publications-page .imgPubli { float: none; flex: 0 0 100px; width: 100px; height: 100px; }
.publications-page .imgPubli img { display: block; width: 100px; height: 100px; object-fit: contain; border: 1px solid #ddd; border-radius: 4px; background: white; }
.publications-page .textPubli { padding: 0; display: block; min-width: 0; font-weight: 400; overflow-wrap: anywhere; }
.publications-page .titrePubli { margin: 6px 0; font-size: 16px; line-height: 1.5; font-weight: 600; font-variant: normal; text-align: left; }
.publication-type { display: inline-block; font-size: 11px; font-weight: 500; line-height: 1.6; padding: 2px 8px; color: #28547d; background: #edf4fa; border-radius: 4px; }
.publications-page .journalPubli { font-style: italic; }
.publication-links { display: flex; align-items: center; gap: 18px; margin-top: 6px; }
.publication-date { color: #615d59; }
.publications-page a:hover { text-decoration: underline; }
.publication-patents { margin-top: 56px; }
.publication-note { color: #615d59; font-size: 13px; line-height: 1.6; }
.publications-page .patent-year h3 { font-size: 22px; }
@media (max-width: 600px) {
  .publications-page { margin-top: 32px; }
  .publication-toolbar { padding: 12px; }
  .publication-filters { gap: 6px; }
  .publication-filters button { padding: 10px; font-size: 12px; }
  .publications-page .elementPubli { gap: 14px; }
  .publications-page .imgPubli { flex-basis: 64px; width: 64px; height: 80px; }
  .publications-page .imgPubli img { width: 64px; height: 80px; }
  .publications-page .titrePubli { font-size: 14px; }
  .publications-page .elementPubli { font-size: 12px; }
  .publications-page h2 { font-size: 23px; }
}
@media print {
  .publication-toolbar { display: none !important; }
  .publications-page .publication-year[hidden], .publications-page .publication-item[hidden] { display: block !important; }
  .publication-summary { display: none; }
  .publication-year .year-count { display: none; }
  .publications-page .elementPubli { break-inside: avoid; }
}
