/* Full-screen, opaque image viewer. Only opt-in Colorbox elements are styled. */
.kb-image-colorbox-link{cursor:zoom-in;}
.kb-image-colorbox-link:focus-visible{outline:3px solid #c9261b;outline-offset:4px;}
dialog.kb-image-colorbox{
  position:fixed;inset:0;box-sizing:border-box;width:100vw;height:100vh;height:100dvh;
  max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;
  background:#08090b;color:#fff;overflow:hidden;overscroll-behavior:contain;box-shadow:none;
}
dialog.kb-image-colorbox:not([open]){display:none;}
dialog.kb-image-colorbox[open]{display:flex;align-items:center;justify-content:center;}
dialog.kb-image-colorbox::backdrop{background:#08090b;}
.kb-image-colorbox__panel{
  position:relative;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;align-items:center;
  width:100%;height:100%;min-width:0;min-height:0;gap:10px;
  padding:72px max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));
  pointer-events:none;
}
/* Empty areas pass clicks to the dialog, preserving click-on-background close. */
.kb-image-colorbox__panel>img,.kb-image-colorbox__panel>p,.kb-image-colorbox__panel>button{pointer-events:auto;}
dialog.kb-image-colorbox .kb-image-colorbox__image{
  display:block;grid-column:1;grid-row:1;min-width:0;min-height:0;
  width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain;margin:0;border:0;border-radius:6px;box-shadow:0 12px 55px #0009;
  animation:kb-colorbox-reveal .18s ease-out both;
}
dialog.kb-image-colorbox .kb-image-colorbox__close{
  position:fixed;z-index:2;top:max(16px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));
  display:grid;place-items:center;box-sizing:border-box;width:46px;height:46px;padding:0;
  border:1px solid #ffffff38;border-radius:50%;background:#ffffff12;color:#fff;
  font:34px/1 Roboto,Arial,sans-serif;cursor:pointer;transition:background .15s,transform .15s;
}
.kb-image-colorbox .kb-image-colorbox__close:hover{background:#ffffff29;transform:scale(1.05);}
.kb-image-colorbox .kb-image-colorbox__close:focus-visible{outline:3px solid #ffce2b;outline-offset:3px;}
.kb-image-colorbox__caption,.kb-image-colorbox__status{
  box-sizing:border-box;grid-column:1;width:auto;max-width:min(1100px,100%);max-height:16vh;
  margin:0;padding:0 8px;text-align:center;color:#e5e7eb;overflow:auto;overflow-wrap:anywhere;
  font:500 15px/1.5 Roboto,Arial,sans-serif;
}
.kb-image-colorbox__caption{grid-row:2;}
.kb-image-colorbox__status{grid-row:3;color:#b7bec9;font-weight:400;}
.kb-image-colorbox__caption[hidden],.kb-image-colorbox__status[hidden]{display:none!important;}
@keyframes kb-colorbox-reveal{from{opacity:0;transform:scale(.985);}to{opacity:1;transform:scale(1);}}
@media(max-width:600px){
  .kb-image-colorbox__panel{padding:66px max(10px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));gap:10px;}
  .kb-image-colorbox__caption,.kb-image-colorbox__status{font-size:13px;}
  .kb-image-colorbox .kb-image-colorbox__close{width:42px;height:42px;font-size:32px;}
}
@media(prefers-reduced-motion:reduce){
  dialog.kb-image-colorbox .kb-image-colorbox__image{animation:none;}
  .kb-image-colorbox .kb-image-colorbox__close{transition:none;}
}
