.kepp-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.7);opacity:0;transition:opacity .25s ease}
.kepp-overlay[hidden]{display:none}
.kepp-overlay.is-visible{opacity:1}
.kepp-box{position:relative;max-width:min(92vw,800px);max-height:92vh;background:#fff;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.4);transform:translateY(12px) scale(.98);transition:transform .25s ease}
.kepp-overlay.is-visible .kepp-box{transform:none}
.kepp-slides{border-radius:8px;overflow:hidden;line-height:0}
.kepp-slide{display:none}
.kepp-slide.is-active{display:block}
.kepp-slide a{display:block}
.kepp-img{display:block;width:auto;height:auto;max-width:100%;max-height:92vh;margin:0 auto;object-fit:contain}
.kepp-close{position:absolute;top:-14px;right:-14px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#111;font:700 24px/36px Arial,sans-serif;text-align:center;padding:0;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.kepp-close:hover,.kepp-close:focus-visible{background:#111;color:#fff;outline:2px solid #fff}
.kepp-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:36px;height:48px;border:0;background:rgba(0,0,0,.45);color:#fff;font:400 30px/48px Arial,sans-serif;padding:0;cursor:pointer}
.kepp-prev{left:0;border-radius:0 6px 6px 0}
.kepp-next{right:0;border-radius:6px 0 0 6px}
.kepp-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:8px;z-index:2}
.kepp-dot{width:10px;height:10px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.6);box-shadow:0 0 0 1px rgba(0,0,0,.35);cursor:pointer}
.kepp-dot.is-active{background:#fff;transform:scale(1.25)}
body.kepp-open{overflow:hidden}
@media (max-width:600px){
	.kepp-overlay{padding:12px}
	.kepp-close{top:-10px;right:-6px;width:40px;height:40px;line-height:40px}
}
@media (prefers-reduced-motion:reduce){.kepp-overlay,.kepp-box{transition:none}}
