/* Image Gallery Lightbox 0.7.12 — viewport image layer, independent controls. */
.single-content .image-lightbox-link,
.entry-content .image-lightbox-link,
.ct-entry-content .image-lightbox-link {
 display:block; width:100%; height:100%; margin:0; padding:0; border:0;
 background:transparent; color:inherit; font:inherit; text-align:inherit;
 text-decoration:none; appearance:none; cursor:zoom-in;
}
.image-lightbox-frame { display:block; width:100%; height:100%; }
.image-lightbox-gallery--single .image-lightbox-link { display:inline-block; width:auto; height:auto; max-width:100%; }
#image-lightbox-overlay,
#image-lightbox-overlay * { box-sizing:border-box; }
#image-lightbox-overlay[hidden],
#image-lightbox-overlay [hidden] { display:none !important; }
#image-lightbox-overlay {
 position:fixed; inset:0; height:100%; height:100dvh; z-index:999999;
 margin:0; padding:0; border:0; background:transparent; overflow:hidden;
 isolation:isolate; touch-action:none; overscroll-behavior:contain;
 user-select:none; -webkit-user-select:none; font-family:Arial,sans-serif;
 --igl-safe-top:env(safe-area-inset-top,0px);
 --igl-safe-bottom:env(safe-area-inset-bottom,0px);
}
#image-lightbox-overlay.is-closing,
#image-lightbox-overlay.is-closing * { pointer-events:none !important; }
#image-lightbox-overlay .image-lightbox-backdrop {
 position:absolute; inset:0; z-index:0; background:rgba(0,0,0,.8);
 opacity:1; transition:none; pointer-events:auto;
}
#image-lightbox-overlay .image-lightbox-stage {
 position:absolute; inset:0; z-index:2; overflow:visible; pointer-events:none;
 margin:0; padding:0; border:0; background:none;
}
#image-lightbox-overlay.image-lightbox-zoomed .image-lightbox-stage,
#image-lightbox-overlay.image-lightbox-dragging .image-lightbox-stage { z-index:4; }
#image-lightbox-overlay .image-lightbox-main {
 position:absolute; display:block; margin:0; padding:0; border:0; border-radius:0;
 max-width:none !important; max-height:none !important; object-fit:fill;
 background:none; box-shadow:none; transform-origin:50% 50%;
 pointer-events:auto; touch-action:none; -webkit-user-drag:none;
 transition:none !important; animation:none; will-change:transform;
}
#image-lightbox-overlay .image-lightbox-flight {
 position:absolute; z-index:3; margin:0; padding:0; border:0; overflow:hidden; pointer-events:none;
 background:transparent; box-shadow:none; will-change:left,top,width,height,border-radius;
}
#image-lightbox-overlay .image-lightbox-flight-image {
 position:absolute; display:block; max-width:none !important; max-height:none !important; margin:0; padding:0;
 border:0; border-radius:0; object-fit:fill; background:none; box-shadow:none; pointer-events:none;
 will-change:left,top,width,height;
}
#image-lightbox-overlay .image-lightbox-ui {
 position:absolute; inset:0; z-index:3; pointer-events:none;
 background:none; overflow:visible; transition:none;
}
#image-lightbox-overlay .image-lightbox-topbar {
 position:absolute; top:var(--igl-safe-top); left:0; right:0;
 display:flex; align-items:center; justify-content:space-between; gap:12px;
 padding:12px; color:#fff; pointer-events:none;
}
#image-lightbox-overlay .image-lightbox-actions { display:flex; align-items:center; gap:8px; pointer-events:none; }
#image-lightbox-overlay .image-lightbox-counter-wrap {
 position:relative; display:flex; align-items:center; pointer-events:auto;
}
#image-lightbox-overlay .image-lightbox-counter {
 appearance:none; display:flex; align-items:center; justify-content:center; min-width:54px;
 height:40px; padding:0 12px; margin:0; border:0; color:#fff; cursor:pointer;
 font:inherit; font-size:14px; font-weight:600; line-height:1; border-radius:999px;
 background:rgba(0,0,0,.45); pointer-events:auto; touch-action:manipulation;
}
#image-lightbox-overlay .image-lightbox-page-picker {
 position:absolute; top:48px; left:0; z-index:20; width:92px; max-height:min(52dvh,420px);
 padding:6px; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain;
 border:1px solid rgba(255,255,255,.18); border-radius:12px; background:rgba(20,20,20,.96);
 box-shadow:0 12px 32px rgba(0,0,0,.38); pointer-events:auto; touch-action:none;
 scrollbar-width:thin; -webkit-overflow-scrolling:touch;
}
#image-lightbox-overlay .image-lightbox-page-option {
 appearance:none; display:flex; align-items:center; justify-content:center; width:100%; height:36px;
 margin:0; padding:0 8px; border:0; border-radius:8px; background:transparent; color:#fff;
 font:inherit; font-size:14px; font-weight:500; line-height:1; cursor:pointer; pointer-events:auto;
}
#image-lightbox-overlay .image-lightbox-page-option:hover,
#image-lightbox-overlay .image-lightbox-page-option:focus-visible { background:rgba(255,255,255,.12); }
#image-lightbox-overlay .image-lightbox-page-option.is-active { background:#fff; color:#111; font-weight:700; }
#image-lightbox-overlay .image-lightbox-btn,
#image-lightbox-overlay .image-lightbox-nav {
 appearance:none; display:flex; align-items:center; justify-content:center;
 width:40px; height:40px; flex:0 0 auto; padding:0; margin:0;
 border:0; border-radius:999px; background:rgba(0,0,0,.45);
 color:#fff; cursor:pointer; text-decoration:none; pointer-events:auto;
 touch-action:none; line-height:1; transition:background-color 120ms ease;
}
#image-lightbox-overlay .image-lightbox-btn svg,
#image-lightbox-overlay .image-lightbox-nav svg {
 display:block; width:20px; height:20px; stroke:currentColor; fill:none;
 stroke-width:2; stroke-linecap:round; stroke-linejoin:round; pointer-events:none;
}
#image-lightbox-overlay .image-lightbox-nav { position:absolute; top:50%; width:48px; height:48px; transform:translateY(-50%); }
#image-lightbox-overlay .image-lightbox-prev { left:12px; }
#image-lightbox-overlay .image-lightbox-next { right:12px; }
#image-lightbox-overlay .image-lightbox-nav svg { width:24px; height:24px; }
#image-lightbox-overlay .image-lightbox-nav:disabled { opacity:.3; cursor:default; }
#image-lightbox-overlay .image-lightbox-strip {
 position:absolute; left:0; right:0; bottom:var(--igl-safe-bottom); height:136px;
 display:flex; justify-content:center; align-items:center; pointer-events:none;
 overflow:visible; margin:0; padding:0; background:none;
}
#image-lightbox-overlay .image-lightbox-fan {
 position:relative; width:240px; height:110px; flex:0 0 auto;
 pointer-events:none; touch-action:none; overflow:visible;
}
#image-lightbox-overlay .image-lightbox-thumb {
 appearance:none; position:absolute; top:50%; left:50%; width:62px; height:87px;
 padding:0; margin:0; border:1px solid rgba(255,255,255,.85); border-radius:0;
 overflow:hidden; background:#111117; color:#fff; box-shadow:none;
 cursor:grab; pointer-events:auto; touch-action:none;
 transform-origin:center; transition:none !important; will-change:transform;
}
#image-lightbox-overlay .image-lightbox-thumb:active { cursor:grabbing; }
#image-lightbox-overlay .image-lightbox-thumb img {
 display:block; width:100%; height:100%; max-width:none; max-height:none;
 object-fit:cover; border:0; border-radius:0; margin:0; padding:0;
 pointer-events:none; -webkit-user-drag:none; transition:none; opacity:0;
}
#image-lightbox-overlay .image-lightbox-thumb.is-loaded img { opacity:1; }
#image-lightbox-overlay .image-lightbox-loading {
 position:absolute; top:50%; left:50%; z-index:2; width:36px; height:36px;
 margin:0; padding:0; transform:translate(-50%,-50%); pointer-events:none;
}
#image-lightbox-overlay .image-lightbox-loading::before {
 content:''; display:block; width:100%; height:100%; box-sizing:border-box;
 border:3px solid rgba(255,255,255,.25); border-top-color:#fff; border-radius:50%;
 animation:image-lightbox-spin .8s linear infinite;
}
#image-lightbox-overlay .image-lightbox-loading-text {
 position:absolute; width:1px; height:1px; padding:0; margin:-1px;
 overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
}
@keyframes image-lightbox-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) {
 #image-lightbox-overlay .image-lightbox-loading::before { animation:none; }
}
#image-lightbox-overlay .image-lightbox-status {
 position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
 z-index:5; max-width:90%; padding:12px 16px; border-radius:8px;
 background:rgba(0,0,0,.85); color:#fff; text-align:center; font-size:14px;
}
#image-lightbox-overlay .image-lightbox-retry { cursor:pointer; font:inherit; margin:6px; padding:6px 12px; }
#image-lightbox-overlay button:focus-visible,
#image-lightbox-overlay a:focus-visible { outline:2px solid #fff; outline-offset:3px; }
@media (hover:hover) and (pointer:fine) {
 #image-lightbox-overlay .image-lightbox-main { cursor:zoom-in; }
 #image-lightbox-overlay.image-lightbox-zoomed .image-lightbox-main { cursor:zoom-out; }
 #image-lightbox-overlay .image-lightbox-btn:hover,
 #image-lightbox-overlay .image-lightbox-nav:hover { background:rgba(0,0,0,.7); }
}
@media (max-width:1024px), (pointer:coarse) {
 #image-lightbox-overlay .image-lightbox-nav { display:none; }
}
@media (max-width:690px) {
 #image-lightbox-overlay .image-lightbox-thumb { width:58px; height:81px; }
}
