/* KK Swipe Gallery – dark overlay */
.kksg-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.96);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  touch-action: pan-y pinch-zoom;
}
.kksg-overlay.show { display:flex; }
.kksg-stage { position:relative; width:100%; height:100%; display:grid; place-items:center; }
.kksg-img-wrap { width:100%; height:100%; display:grid; place-items:center; overflow:hidden; }
.kksg-img { max-width:92vw; max-height:92vh; transition: transform .25s ease, opacity .2s ease; will-change: transform; pointer-events:none; -webkit-user-drag:none; }
.kksg-btn { position:absolute; top:50%; transform:translateY(-50%); width:48px;height:48px; border-radius:12px; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; display:grid;place-items:center; cursor:pointer; }
.kksg-prev{ left:16px; } .kksg-next{ right:16px; }
.kksg-close{ top:20px; right:20px; transform:none; width:42px; height:42px; }
.kksg-dots{ position:absolute; bottom:18px; left:50%; transform:translateX(-50%); display:flex; gap:8px; }
.kksg-dot{ width:8px; height:8px; border-radius:999px; background:rgba(255,255,255,.35) }
.kksg-dot.active{ background:#fff }
@media (hover:hover){ .kksg-btn:hover{ background:rgba(255,255,255,.18);} }
