/* Small compatibility layer for the preserved theme styling. */
.navbar[data-overlay] { position: fixed; top: 0; left: 0; }
.navbar-brand { white-space: normal; max-width: calc(100% - 3rem); }
.navbar-toggler { min-width: 32px; min-height: 32px; }
.navbar-toggler-close { top: 4px; }
.navbar-toggler:focus-visible, a:focus-visible { outline: 3px solid #ffcc66; outline-offset: 3px; }
.navbar-collapse { max-height: calc(100dvh - var(--header-height, 80px)); }
/* Give the hero enough space before JavaScript measures the header. */
section[data-overlay] { padding-top: 90px !important; }
/* Keep wide tables and old teaching images usable on small screens. */
.sidebar_content { overflow-x: auto; }
.sidebar_content img, .gallery img { max-width: 100%; height: auto; }
@media (min-width: 992px) {
  .navbar-brand { max-width: none; }
}
@media (max-width: 575.98px) {
  .navbar-brand { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media print {
  section[data-overlay] { padding-top: 0 !important; }
}
