.site-footer-note {
  flex: 1 1 100%;
  margin: 0;
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--muted-2);
}
.site-footer-note { max-width: 100ch; }
.traj-estimate { font-family: var(--font-mono); font-size: 11.5px; color: var(--muted-2); margin-top: 6px; }

@media (max-width: 700px) {
  .layout-grid { grid-template-columns: 1fr; }

  .sidebar-card, .main-card { max-height: none; }
  .sidebar-card > .card-body { overflow-y: visible; padding-bottom: 16px; }
  .main-card > .card-body { overflow-y: visible; }

  .container { padding: 16px; }
  .hero-strip-inner { padding: 20px 16px; }
  .hero-strip h2 { font-size: 20px; }

  .header-inner { padding: 0 16px; gap: 8px; flex-wrap: wrap; min-height: auto; }
  .brand h1 { display: none; }
  .header-nav { width: 100%; justify-content: flex-start; flex-wrap: wrap; gap: 0; }
  .nav-anchor { font-size: 12.5px; padding: 6px 8px; }
  .logo { width: 22px; height: 22px; }

  .toolbar { flex-direction: column; }
  .toolbar button { width: 100%; }

  .card-body { padding: 12px; }
  .card-head { flex-wrap: wrap; }
  .card-head #btnDownload { width: 100%; }

  #molstarViewer { height: 360px !important; }

  #uploadResults .list.dark,
  #rcsbResults .list.dark {
    flex: none;
    height: 320px;
    max-height: 320px;
  }

  input[type="text"] { font-size: 16px; }
  .list { font-size: 11px; }
  footer, .site-footer { padding: 20px 0; font-size: 11px; }
}

@media (min-width: 701px) and (max-width: 1024px) {
  .layout-grid { grid-template-columns: minmax(260px, 300px) 1fr; }
  .container { padding: 16px; }
  .hero-strip-inner { padding: 20px 16px; }
  #molstarViewer { height: 440px !important; }
}

.nav-lang { display: inline-flex; align-items: center; justify-content: center; padding: 5px 8px; }
.lang-flag { width: 22px; height: 22px; display: block; object-fit: contain; }
.lang-flag[data-lang-flag="en"] { display: none; }