/* Quick Slider Gallery - public.css (v1.5.0) */
.qs-slider{
  position:relative;
  width:100%;
  overflow:visible;
  --qs-gap:16px;
  --qs-per:3;
  --qs-border-w:2px;
  --qs-border-c:#ffffff;
  --qs-radius:12px;
  --qs-arrow-color:#ffffff;
  --qs-arrow-size:34px;
  --qs-arrow-offset:28px;
  --qs-meta-color:#ffffff;
  --qs-meta-bg:rgba(0,0,0,.55);
  --qs-meta-size:14px;
  --qs-lb-bg:rgba(0,0,0,.9);
  --qs-lb-arrow:#ffffff;
}
.qs-viewport{
  overflow:hidden;
  width:100%;
  position:relative;
  touch-action: pan-y;
}

/* Altezza fissa o ratio */
.qs-slider[style*="--qs-fixed-h"] .qs-viewport { height: var(--qs-fixed-h); }
.qs-slider[style*="--qs-ratio"] .qs-viewport::before {
  content:""; display:block; padding-top: var(--qs-ratio);
}
.qs-slider[style*="--qs-ratio"] .qs-viewport > .qs-track {
  position:absolute; inset:0;
}

.qs-track{
  display:flex;
  gap:var(--qs-gap);
  will-change:transform;
  transition: transform .28s ease;
}

.qs-slide{
  flex: 0 0 auto;
  width: calc((100% - (var(--qs-per) - 1)*var(--qs-gap)) / var(--qs-per));
  user-select: none;
  position:relative;
}
.qs-slide img.qs-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border: var(--qs-border-w) solid var(--qs-border-c);
  border-radius: var(--qs-radius);
  box-sizing: border-box;
  pointer-events:none;
}

/* Meta under/overlay */
.qs-slide .qs-meta{
  color: var(--qs-meta-color);
  font-size: var(--qs-meta-size);
  line-height: 1.4;
  margin-top: 6px;
}
.qs-slider[data-meta-pos="overlay"] .qs-slide .qs-meta{
  position:absolute;
  left:0; right:0; bottom:4px;
  background: var(--qs-meta-bg);
  margin:0;
  padding:8px 10px;
  border-radius: 0 0 var(--qs-radius) var(--qs-radius);
}
.qs-meta-title{ font-weight:600; }
.qs-meta-caption{ opacity:.95; }
.qs-meta-desc{ opacity:.85; }

/* Frecce */
.qs-arrow{
  position:absolute;
  top:50%; transform:translateY(-50%);
  background:transparent;
  color: var(--qs-arrow-color);
  border:none;
  cursor:pointer;
  z-index:2;
  font-size: var(--qs-arrow-size);
  line-height:1;
  padding:0;
}
.qs-prev{ left: calc(var(--qs-arrow-offset) * -1); }
.qs-next{ right: calc(var(--qs-arrow-offset) * -1); }
.qs-arrow:disabled{ opacity:.35; cursor:default; }

/* Dots */
.qs-dots{
  display:flex;
  gap:8px;
  justify-content:center;
  margin-top:10px;
}
.qs-dot{
  width:8px; height:8px; border-radius:50%;
  background:#cfcfcf; opacity:.6; cursor:pointer;
  border:none;
}
.qs-dot[aria-selected="true"]{ background:#fff; opacity:1; }

/* Drag feedback */
.qs-dragging { cursor: grabbing; }
.qs-dragging .qs-track{ transition: none !important; }

/* Lightbox */
.qs-lightbox{
  position:fixed; inset:0; z-index:9999;
  background: var(--qs-lb-bg);
  display:none;
  align-items:center;
  justify-content:center;
}
.qs-lightbox.qs-open{ display:flex; }
.qs-lb-img{
  max-width:90vw;
  max-height:85vh;
  object-fit:contain;
  border-radius:8px;
}
.qs-lb-prev, .qs-lb-next, .qs-lb-close{
  position:fixed;
  top:50%; transform:translateY(-50%);
  background:transparent;
  color: var(--qs-lb-arrow);
  border:none; cursor:pointer; font-size:44px; line-height:1;
}
.qs-lb-prev{ left:24px; }
.qs-lb-next{ right:24px; }
.qs-lb-close{
  top:24px; right:24px; transform:none; font-size:36px;
}
.qs-lb-meta{
  position:fixed; left:50%; bottom:24px; transform:translateX(-50%);
  color:#fff; text-align:center; max-width:86vw;
  font-size:14px; line-height:1.4;
}

/* Responsive breakpoints (fallback) */
@media (max-width: 980px){
  .qs-slider{ --qs-per: 2; }
}
@media (max-width: 767px){
  .qs-slider{ --qs-per: 1; }
}
