/* Poplar Gallery - personalizzabile con le variabili --pg-* */
.poplar-gallery {
  --pg-min: 220px;
  --pg-gap: 0.5rem;
  --pg-ratio: 4/3;
  --pg-radius: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(var(--pg-min), 100%), 1fr));
  gap: var(--pg-gap);
  margin: 1.5rem 0;
}

.poplar-gallery__item {
  margin: 0;
  min-width: 0;
}

.poplar-gallery__link {
  display: block;
  overflow: hidden;
  border-radius: var(--pg-radius);
}

.poplar-gallery__link:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 2px;
}

.poplar-gallery__img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.4s ease, opacity 0.3s ease;
}

.poplar-gallery--grid .poplar-gallery__img {
  aspect-ratio: var(--pg-ratio);
  object-fit: cover;
}

/* Effetto "zoom": leggero ingrandimento al passaggio del mouse */
.poplar-gallery--hover-zoom .poplar-gallery__link:hover .poplar-gallery__img,
.poplar-gallery--hover-zoom .poplar-gallery__link:focus-visible .poplar-gallery__img {
  transform: scale(1.05);
}

/* Effetto "pan": la foto si ingrandisce e scorre seguendo il mouse (punto di origine aggiornato da poplargallery.js) */
.poplar-gallery--hover-pan {
  --pg-pan-scale: 1.35;
}
.poplar-gallery--hover-pan .poplar-gallery__img {
  transition: transform 0.5s ease, transform-origin 0.15s ease-out;
  transform-origin: var(--pg-x, 50%) var(--pg-y, 50%);
}
.poplar-gallery--hover-pan .poplar-gallery__link:hover .poplar-gallery__img,
.poplar-gallery--hover-pan .poplar-gallery__link:focus-visible .poplar-gallery__img {
  transform: scale(var(--pg-pan-scale));
}

.poplar-gallery__caption {
  font-size: 0.85em;
  padding: 0.35em 0 0;
}

/* Masonry: colonne con immagini nelle proporzioni originali */
.poplar-gallery--masonry {
  display: block;
  columns: var(--pg-min);
  column-gap: var(--pg-gap);
}

.poplar-gallery--masonry .poplar-gallery__item {
  break-inside: avoid;
  margin-bottom: var(--pg-gap);
}

@media (prefers-reduced-motion: reduce) {
  .poplar-gallery__img {
    transition: none;
  }
}
