/* Carosello v25: finestra virtuale corta, stabile anche su Safari/iOS. */
.gallery[data-carousel-engine="v25"] {
  isolation: isolate;
  contain: layout paint;
  touch-action: pan-y;
}

.gallery[data-carousel-engine="v25"] .gallery-track.carousel-virtual-track {
  position: absolute;
  top: 0;
  left: 0;
  width: max-content;
  height: 100%;
  display: flex;
  animation: none !important;
  animation-delay: 0s !important;
  transition: none !important;
  transform-style: flat;
  backface-visibility: visible;
  will-change: transform;
}

.gallery[data-carousel-engine="v25"] .project-slide,
.gallery[data-carousel-engine="v25"] .project-slide img {
  transform: none !important;
  backface-visibility: visible !important;
}

.gallery[data-carousel-engine="v25"] .project-slide {
  pointer-events: none;
  contain: layout paint;
}

.gallery[data-carousel-engine="v25"] .project-slide img {
  opacity: 0;
  image-rendering: auto;
  transition: opacity 120ms linear !important;
}

.gallery[data-carousel-engine="v25"] .project-slide img.is-loaded {
  opacity: 1;
}

/* Le due tavole approvate con inquadratura completa conservano il loro fondo. */
.gallery[data-carousel-engine="v25"] .project-slide img[src*="/005.webp"] {
  object-fit: contain !important;
  object-position: center !important;
  background: #000 !important;
}

.gallery[data-carousel-engine="v25"] .project-slide img[src*="/079.webp"] {
  object-fit: contain !important;
  object-position: center !important;
  background: #fff !important;
}

.carousel-manual-control[data-carousel-control="v25"] {
  position: relative;
  z-index: 3;
}

.carousel-manual-control[data-carousel-control="v25"] .carousel-control-auto[aria-pressed="true"] {
  color: #000;
  background: #fff;
  border-color: #fff;
}
