/* Enhancement styles appear only during interaction, preserving the original design. */
main img.site-lightbox-trigger { cursor: zoom-in; }
main img.site-lightbox-trigger:focus-visible { outline: 3px solid #14757c; outline-offset: 4px; }
.site-lightbox-overlay {
  position: fixed; inset: 0; z-index: 1000000;
  display: grid; grid-template-columns: minmax(40px,70px) minmax(0,1fr) minmax(40px,70px);
  align-items: center; box-sizing: border-box; padding: 24px;
  background: rgba(10,22,40,.96); color: #fff;
}
.site-lightbox-figure { grid-column: 2; margin: 0 auto; max-width: min(1100px,100%); max-height: 92vh; text-align: center; }
.site-lightbox-image { display: block; width: auto; height: auto; max-width: 100%; max-height: 75vh; object-fit: contain; margin: 0 auto; }
.site-lightbox-caption { font: inherit; font-size: 14px; line-height: 1.5; padding-top: 12px; max-width: 75ch; margin: auto; }
.site-lightbox-counter { display: block; color: #cbd5e1; font-size: 12px; margin-top: 5px; }
.site-lightbox-overlay button {
  border: 1px solid rgba(255,255,255,.6); background: rgba(0,0,0,.28);
  color: #fff; border-radius: 999px; cursor: pointer; font-size: 28px;
  line-height: 1; width: 44px; height: 44px;
}
.site-lightbox-overlay button:hover { background: rgba(255,255,255,.16); }
.site-lightbox-overlay button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.site-lightbox-close { position: absolute; top: 16px; right: 16px; }
.site-lightbox-prev { grid-column: 1; grid-row: 1; justify-self: start; }
.site-lightbox-next { grid-column: 3; grid-row: 1; justify-self: end; }
@media (max-width:600px) {
  .site-lightbox-overlay { grid-template-columns: 42px minmax(0,1fr) 42px; padding: 10px; }
  .site-lightbox-overlay button { width: 36px; height: 36px; font-size: 23px; }
  .site-lightbox-caption { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-lightbox-overlay * { animation: none !important; transition: none !important; }
}
