/* Shared by the standard and resort gallery templates. */
.footer-top > * { min-width: 0; }
.footer-logo svg { max-width: 100%; height: auto; }
.footer-links { flex-wrap: wrap; }
@media (max-width: 640px) {
  .site-footer .footer-top { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .site-footer .footer-social { justify-content: flex-start; margin-top: 0; }
  .footer-bottom { align-items: flex-start; }
  .footer-links { gap: 12px 16px; }
}
@media (max-width: 768px) {
  .journal-cat-nav {
    justify-content: flex-start;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: thin;
    padding-bottom: 8px;
    scroll-padding-inline: 12px;
  }
  .journal-cat-nav::-webkit-scrollbar { display: block; height: 3px; }
  .journal-cat-nav::-webkit-scrollbar-thumb { background: var(--muted); border-radius: 3px; }
}
.journal-cat-link.is-active { border-bottom-color: var(--dark-green); }
.journal-cat-link:focus-visible { outline: 2px solid var(--dark-green); outline-offset: -3px; }
.fullcircle-hero { height: auto; padding: 0; }
.fullcircle-hero__inner { height: auto; }
.fc-carousel { flex: 1 0 auto; }
.fc-carousel__motion {
  display: block;
  margin: 8px auto 0;
  min-height: 44px;
  padding: 8px 18px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
}
.fc-carousel__motion[hidden] { display: none; }
.fc-carousel__motion:disabled { cursor: default; }
.fc-carousel__motion:focus-visible { outline: 2px solid var(--white); outline-offset: 4px; }
.fc-carousel__motion:active { background: rgba(255,255,255,.15); }
.fc-carousel__btn { min-width: 44px; min-height: 44px; }
.glide__arrow:focus-visible, .glide__bullet:focus-visible { outline: 2px solid var(--white); outline-offset: -3px; }
/* Preserve a generous hit target around each small gallery indicator. */
.glide__bullets { display: flex; flex-wrap: wrap; justify-content: center; gap: 0; width: max-content; max-width: calc(100% - 24px); }
.glide__bullets .glide__bullet {
  position: relative;
  width: 44px; height: 44px;
  margin: 0; padding: 0;
  border: 0; border-radius: 0;
  background: transparent;
  transform: none; transition: opacity .2s ease;
}
.glide__bullet::after {
  content: ''; display: block; width: 10px; height: 10px;
  margin: auto; border-radius: 50%; background: rgba(255,255,255,.55);
}
.glide__bullet.glide__bullet--active::after { background: var(--gold); }
@media (prefers-reduced-motion: reduce) {
  .fc-slide, .fc-slide__ring, .fc-slide__label,
  .glide__slides, .glide__slide, .menu, .col-hero-nav { transition: none !important; }
}
