.sag-gallery{ position:relative; max-width:980px; margin:0 auto; }
.sag-stage{ position:relative; overflow:hidden; border-radius:14px; }
.sag-slide{ position:absolute; inset:0; opacity:0; pointer-events:none; display:block; }
.sag-slide.is-active{ opacity:1; pointer-events:auto; position:relative; }
.sag-slide img{ width:100%; height:auto; display:block; }

.sag-slide{ transition-property: opacity; transition-timing-function:ease; }

.sag-dots{ display:flex; gap:8px; justify-content:center; margin-top:12px; }
.sag-dot{ width:10px; height:10px; border-radius:999px; border:0; background:rgba(0,0,0,.25); cursor:pointer; }
.sag-dot.is-active{ background:rgba(0,0,0,.75); }

.sag-prev,.sag-next{
  position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:999px; border:0;
  background:rgba(0,0,0,.55); color:#fff; font-size:28px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
}
.sag-prev{ left:10px; }
.sag-next{ right:10px; }
.sag-prev:hover,.sag-next:hover{ background:rgba(0,0,0,.75); }

.sag-lightbox{ position:fixed !important; inset:0 !important; z-index:9999999 !important; width:100vw !important; height:100vh !important; }
.sag-lightbox__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.72); }
.sag-lightbox__content{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  padding:24px;
}
.sag-lightbox__img{ max-width:min(1100px, 92vw); max-height:88vh; border-radius:16px; background:#111; }
.sag-lightbox__close{
  position:absolute; top:18px; right:18px;
  width:44px; height:44px; border-radius:999px; border:0;
  background:rgba(0,0,0,.55); color:#fff; font-size:26px; cursor:pointer;
}
.sag-empty{ padding:12px 14px; border:1px dashed #ccc; border-radius:12px; }

/* --- Size constraint (requested) --- */
.sag-gallery{
  max-width: 636px;
}

.sag-stage{
  max-width: 636px;
  max-height: 626px;
  margin: 0 auto;
}

/* Ensure images fit the fixed stage */
.sag-slide img{
  width: 100%;
  height: 626px;
  object-fit: cover;
  display: block;
}

/* Responsive fallback */
@media (max-width: 680px){
  .sag-gallery,
  .sag-stage{
    max-width: 100%;
    max-height: none;
  }
  .sag-slide img{
    height: auto;
  }
}
