.pk-fest-overlay{
  position:fixed;inset:0;z-index:999999;
  display:flex;align-items:center;justify-content:center;
  padding:16px;
  background:rgba(8,4,2,.82);
  -webkit-overflow-scrolling:touch;
  animation:pkFestIn .18s ease-out;
}
@keyframes pkFestIn{from{opacity:0}to{opacity:1}}
.pk-fest-overlay[hidden]{display:none!important}
.pk-fest-dialog{
  position:relative;
  max-width:min(92vw, 520px);
  max-height:92vh;
  outline:0;
}
.pk-fest-viewport{overflow:hidden;border-radius:4px;max-height:92vh;}
.pk-fest-track{display:flex;transition:transform .28s ease;}
.pk-fest-slide{flex:0 0 100%;min-width:100%;}
.pk-fest-slide picture,.pk-fest-slide img,
.pk-fest-dialog picture,.pk-fest-dialog img{
  display:block;
  width:100%;
  height:auto;
  max-height:92vh;
  object-fit:contain;
  border-radius:4px;
  box-shadow:0 12px 40px rgba(0,0,0,.45);
  background:#1a0806;
}
.pk-fest-close,.pk-fest-nav{
  border:0;border-radius:50%;
  background:#111;color:#fff;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 2px #fff, 0 4px 12px rgba(0,0,0,.4);
  z-index:2;
}
.pk-fest-close{
  position:absolute;
  top:8px;right:8px;
  width:44px;height:44px;
  font-size:34px;line-height:1;font-weight:400;
  padding:0 0 3px;
}
.pk-fest-nav{
  position:absolute;
  top:50%;transform:translateY(-50%);
  width:40px;height:40px;
  font-size:26px;line-height:1;
  padding:0 0 2px;
}
.pk-fest-prev{left:8px;}
.pk-fest-next{right:8px;}
.pk-fest-close:hover,.pk-fest-close:focus,
.pk-fest-nav:hover,.pk-fest-nav:focus{
  background:#c4391c;
  outline:2px solid #ffe08a;
  outline-offset:2px;
}
.pk-fest-dots{
  position:absolute;left:0;right:0;bottom:10px;
  display:flex;justify-content:center;gap:8px;z-index:3;
  pointer-events:none;
}
.pk-fest-dots button{
  pointer-events:auto;
  width:10px;height:10px;padding:0;border:0;border-radius:50%;
  background:#fff8;box-shadow:0 0 0 1px #0006;
  cursor:pointer;
}
.pk-fest-dots button[aria-current="true"]{background:#ffe08a;transform:scale(1.2);}
.pk-fest-sr{
  position:absolute!important;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}
@media (min-width:900px){
  .pk-fest-dialog{max-width:min(92vw, 640px)}
  .pk-fest-close{top:-12px;right:-12px}
  .pk-fest-prev{left:-16px;}
  .pk-fest-next{right:-16px;}
}
@media (max-width:400px){
  .pk-fest-overlay{padding:8px}
  .pk-fest-dialog{max-width:96vw}
}
@media (prefers-reduced-motion:reduce){
  .pk-fest-overlay,.pk-fest-track{animation:none;transition:none}
}
body.pk-fest-lock,html.pk-fest-lock{overflow:hidden!important}
