/* Static-hosting shims: replace behaviour that Squarespace's JS used to provide */

/* Carousels: native horizontal scroll with snap instead of JS transforms */
.user-items-list-carousel__slides {
  display: grid !important;
  grid-auto-flow: column;
  grid-template-columns: none !important;
  grid-auto-columns: calc((100% - 40px) / 3);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  height: auto !important;
}
.user-items-list-carousel__slides::-webkit-scrollbar { display: none; }
.user-items-list-carousel__slide {
  position: relative !important;
  transform: none !important;
  left: auto !important;
  grid-area: auto !important;
  grid-column: auto !important;
  grid-row: auto !important;
  scroll-snap-align: start;
  opacity: 1 !important;
  visibility: visible !important;
}
@media (max-width: 767px) {
  .user-items-list-carousel__slides { grid-auto-columns: 100%; }
}
.carousel-no-overflow .user-items-list-carousel__arrow-wrapper,
.carousel-no-overflow .mobile-arrows { display: none !important; }

/* Content Squarespace fades in via JS animations: make it visible */
[data-animation-role], .preFade, .preSlide, .preScale, .preClip {
  opacity: 1 !important;
  transform: none !important;
  clip-path: none !important;
}

.local-video { background: #000; width: 100%; height: auto; object-fit: contain; display: block; }

/* Gallery grid: Squarespace JS switched to 2 columns on phones */
@media (max-width: 767px) {
  .gallery-grid-wrapper { grid-template-columns: repeat(2, 1fr) !important; }
}
