.kig-gallery { margin:1em 0; max-width:1100px; }
.kig-photo { position:relative; background:#f0f0f0; display:flex; justify-content:center; align-items:center; min-height:120px; }
.kig-photo img { display:block; max-width:100%; height:auto; }
.kig-loading { padding:1rem; font-size:.9em; color:#555; }
.kig-gallery figcaption { font-size:.88em; line-height:1.5; margin:.45em 0; }
.kig-consent { display:block; font-size:.8em; margin:.5em 0; }
.kig-consent input { vertical-align:middle; margin-right:.35em; }
.kig-privacy { display:block; line-height:1.4; color:#5c5c5c; }
/* These deter ordinary right-click / drag / long-press copying; they do NOT prevent
   direct URL requests, browser developer tools, AI editing or screen captures. */
.kig-block-copy .kig-photo, .kig-block-copy .kig-photo img {
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
  -webkit-user-drag:none;
}
/* Optional focus-loss shield. It does NOT activate for most OS screenshot hotkeys. */
.kig-focus-shield.kig-shielded .kig-photo { background:#000 !important; }
.kig-focus-shield.kig-shielded .kig-photo img,
.kig-focus-shield.kig-shielded .kig-loading { visibility:hidden !important; }
.kig-focus-shield.kig-shielded .kig-photo::after {
  content:'Protected preview'; position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  color:#fff; background:#000; font-size:.9rem;
}
/* Print and browser PDF previews omit the photograph; print backgrounds vary by browser. */
@media print {
  .kig-gallery .kig-photo { background:#000 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .kig-gallery .kig-photo img, .kig-gallery .kig-photo .kig-loading { visibility:hidden !important; }
  .kig-gallery .kig-photo::after {
    content:'PROTECTED IMAGE - PRINTING DISABLED'; position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    color:#fff !important; background:#000 !important;
    -webkit-print-color-adjust:exact; print-color-adjust:exact;
  }
}

/* This session reference appears in ordinary screenshots, not extracted JPEG bytes.
 * The JPEG response itself contains several server-rendered session marks. */
.kig-photo .kig-screen-id { z-index:2; position:absolute; top:18%; left:7%; max-width:85%;
  color:rgba(255,255,255,.62); font:700 clamp(10px,1.7vw,20px)/1.5 sans-serif;
  text-shadow:1px 1px 2px #000,-1px -1px 2px #000; pointer-events:none;
  user-select:none; transform:rotate(-12deg); }
.kig-focus-shield.kig-shielded .kig-photo .kig-screen-id { visibility:hidden !important; }
@media print { .kig-gallery .kig-screen-id { visibility:hidden !important; } }
