/* Scoped accessibility and loading improvements; retain the magazine design. */
#b2t-button { border: 0; padding: 0; }
#b2t-button::after { font-family: "Font Awesome 5 Free"; font-weight: 900; }
.skip-link:focus { position: fixed; top: 0; left: 0; z-index: 10001; padding: 12px 20px; background: #fff; color: #000; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #555; outline-offset: 3px; }
.closeup-search-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.closeup-search-form .is-search-input { flex: 1 1 180px; min-width: 0; width: auto; min-height: 44px; }
.closeup-search-form button { min-height: 44px; padding: 10px 20px; font-size: 16px; }
.reader-help { font-size: 14px; line-height: 1.5; margin: 12px 0; }
.reader-help a { text-decoration: underline; }
.reader-loading { margin-bottom: 4px; }
.reader-loading[hidden] { display: none; }
.card-excerpt, .search-excerpt { font-size: 16px; line-height: 1.5; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.pagination .page-numbers { padding: 10px 14px; min-width: 44px; min-height: 44px; border: 1px solid #ccc; font-size: 16px; }
@media (max-width: 991.98px) {
  .navbar-toggler, button#search.nav-link { min-width: 44px; min-height: 44px; padding: 10px; }
  .navbar .navbar-nav > li > a.nav-link { min-height: 44px; display: flex; align-items: center; padding: 10px 12px; color: #444; }
}
@media (max-width: 575.98px) {
  #testimonial-slide .carousel-inner .carousel-caption p { font-size: 14px; line-height: 1.4; }
  #testimonial-slide .carousel-inner .carousel-caption p.name { font-size: 12px; line-height: 1.4; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .carousel-item { transition: none; }
}
