/* Static-site additions on top of the original sjtu theme */
body { background: #EBEBEC; }
img { max-width: 100%; height: auto; }
.share-links .share-label { font-family: "Exo 2", "PT Sans", sans-serif; font-size: .8em; font-weight: 700; color: #777; margin-right: .6em; }
.share-links .share-link { display: inline-block; margin-right: .7em; font-family: "Exo 2", "PT Sans", sans-serif; font-size: .85em; color: #1d75cc; text-decoration: none; }
.share-links .share-link:hover { text-decoration: underline; }
.article-cover-extra { margin: 10px 0 15px; }
.article-cover-extra .sjtu-author { color: #777; font-style: italic; }
.field-item table { width: 100%; margin: 1em 0; }
.field-item table th, .field-item table td { border: 1px solid #ddd; padding: 6px 8px; vertical-align: top; }
.field-item pre { overflow-x: auto; }
mjx-container { overflow-x: auto; overflow-y: hidden; max-width: 100%; }
.pager { margin-top: 20px; }
.panel-content .views-row { margin-bottom: 10px; }
.frontpage-list li { margin-bottom: 25px; }
.node-teaser, .thesis-single, .publication-single { margin-bottom: 10px; }
.page-header { margin-top: 0; }
.pub-date, .pub-vol, .pub-pgnum { color: #666; }
#nav-toggle { display: none; border: 0; background: transparent; padding: 10px; position: absolute; right: 15px; top: 30px; z-index: 10; }
#nav-toggle .icon-bar { display: block; width: 26px; height: 3px; margin: 5px 0; background: #fff; border-radius: 2px; }
#nav-toggle .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
@media (max-width: 767px) {
  #navbar { min-height: 90px; }
  #sj-navbar { height: 90px; }
  #logo img { width: 220px; height: auto; margin-top: 12px; }
  #nav-toggle { display: block; }
  #rg-menu { display: none; float: none; width: 100%; margin: 0; padding: 0 10px 12px; }
  body.nav-open #rg-menu { display: block; }
  ul#superfish-1 { position: static; right: auto; bottom: auto; margin: 0; }
  #block-superfish-1 .sf-style-none li { float: none; width: 100%; }
  #block-superfish-1 .sf-style-none ul { position: static; display: block; width: 100%; left: auto; top: auto; }
  #block-superfish-1 .sf-style-none li li { background: #2184e6; }
  #block-superfish-1 .sf-style-none a { padding: 10px 15px; }
  .main-container.container { margin-top: 15px; }
  .fp-block-bottom { font-size: 1.05em; }
  .fp-block { margin-bottom: 25px; }
  .field-item table { display: block; overflow-x: auto; }
}
.fp-block.fp-highlight a { color: #fff; text-decoration: underline; }
.fp-block.fp-highlight a:hover, .fp-block.fp-highlight a:focus { color: #fdc82f; }
.element-invisible { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); overflow: hidden; height: 1px; width: 1px; }
.element-invisible.element-focusable:active, .element-invisible.element-focusable:focus { position: static !important; clip: auto; height: auto; width: auto; overflow: visible; }
@media (max-width: 767px) {
  div.region.region-content { width: auto; }
  .news-post-container { width: auto; }
  .fp-block-top img, .field-item img { width: auto; max-width: 100%; }
}
@media (max-width: 767px) {
  #block-superfish-1 .sf-style-none ul { width: 100% !important; left: 0 !important; }
  #block-superfish-1 .sf-style-none li { width: 100% !important; }
}
/* Homepage 2026 content structure */
.home-feature { display: flex; gap: 28px; background: #fff; padding: 20px; margin-bottom: 40px; }
.home-feature-media { flex: 0 0 40%; max-width: 40%; }
.home-feature-media img { width: 100%; height: auto; }
.home-feature-media img:first-child { max-height: 430px; object-fit: contain; }
.home-feature-secondary { margin-top: 12px; }
.home-feature-body { flex: 1; font-family: "Exo 2", "PT Sans", "Roboto", "Helvetica", "Arial", sans-serif; font-size: 1.02em; }
.home-feature-body h2 { margin-top: 0; }
.home-section-title { font-family: "Exo 2", "PT Sans", "Roboto", "Helvetica", "Arial", sans-serif; font-size: 24px; font-weight: 700; margin: 0 0 20px; }
.home-phases { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 0; }
.home-phases:before, .home-phases:after { display: none; }
.home-phases > * { width: auto; min-width: 0; }
.home-phases .fp-block { margin-bottom: 0; }
.home-phase { height: 100%; }
.home-phase .fp-block-top { height: 220px; overflow: hidden; }
.home-phase .fp-block-top img { width: 100%; height: 220px; object-fit: cover; }
.home-phase-placeholder { height: 220px; display: flex; align-items: center; justify-content: center; background: #1d75cc; color: #fff; font-family: "Exo 2", "PT Sans", sans-serif; font-size: 1.6em; font-weight: 700; }
.home-phase .fp-block-bottom { font-size: 1.02em; }
.home-news-item { margin-bottom: 14px; }
.home-news-item a { font-family: "Exo 2", "PT Sans", sans-serif; font-weight: 700; color: #333; }
.home-news-date { color: #777; font-size: .82em; }
.home-news-more { margin-top: 15px; }
.home-news-more a { font-family: "Exo 2", "PT Sans", sans-serif; font-weight: 700; }
@media (max-width: 767px) {
  .home-feature { display: block; padding: 12px; }
  .home-feature-media { max-width: 100%; }
  .home-feature-body { margin-top: 15px; }
  .home-phase .fp-block-top { height: 180px; }
  .home-phase .fp-block-top img { height: 180px; }
  .home-phase-placeholder { height: 180px; }
}
/* Publications landing */
.publication-categories { margin-top: 25px; }
.pub-category { background: #fff; border-top: 3px solid #24a3a5; padding: 18px 22px; margin-bottom: 25px; min-height: 170px; }
.pub-category h2 { margin-top: 0; font-size: 22px; }
.pub-category h2 a { color: #1d75cc; }
.pub-category p { color: #555; }
/* Remember Karl gallery */
.karl-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 25px 0; }
.karl-gallery figure { margin: 0; background: #fff; padding: 8px; }
.karl-gallery img { width: 100%; height: 180px; object-fit: cover; display: block; }
.karl-gallery figcaption { font-family: "Exo 2", "PT Sans", sans-serif; font-size: .82em; color: #666; padding-top: 6px; }
@media (max-width: 767px) { .karl-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } .karl-gallery img { height: 140px; } }
.home-phase .fp-block-top video { width: 100%; height: 220px; object-fit: cover; display: block; }
@media (max-width: 767px) { .home-phase .fp-block-top video { height: 180px; } }
@media (max-width: 767px) { .home-phases { grid-template-columns: 1fr; gap: 25px; } }
