/* Projects listing + detail widgets */
.fps-card--grid {
  aspect-ratio: 453 / 467;
}
.fps-card--carousel {
  width: min(705px, 86vw);
  aspect-ratio: 705 / 469;
}

.fps-scroll-track {
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
}
.fps-scroll-track::-webkit-scrollbar {
  display: none;
}

/* Mobile horizontal scroll for project sector filters; wrap normally on desktop */
@media (max-width: 767.98px) {
  .fps-filters {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .fps-filters::-webkit-scrollbar {
    display: none;
  }
  .fps-filters .fps-filter-btn {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }
}

.fps-projects-grid.is-updating {
  opacity: 0.4;
  transition: opacity 0.2s;
  pointer-events: none;
}

.fps-gallery-slide {
  transition: opacity 0.5s ease;
}
.fps-gallery-slide:not(.is-active) {
  opacity: 0;
  pointer-events: none;
}

/* SiteOrigin adds bottom margins to widgets; these sections handle their own spacing */
.panel-grid .so-panel.widget:has(.fps-section) {
  margin-bottom: 0;
}
