/* Innova lightbox */
.ilb-thumb { cursor: zoom-in; transition: opacity .15s ease, transform .25s ease; }
.ilb-thumb:hover { opacity: .9; }
.ilb-thumb:focus-visible { outline: 3px solid #f25d21; outline-offset: 3px; }

.ilb-open, .ilb-open body { overflow: hidden; }
.ilb { position: fixed; inset: 0; z-index: 100001; background: rgba(22, 23, 25, .94); display: flex; align-items: center; justify-content: center; animation: ilb-fade .18s ease-out; }
.ilb[hidden] { display: none; }
@keyframes ilb-fade { from { opacity: 0; } to { opacity: 1; } }

.ilb__stage { position: absolute; inset: 64px 80px 24px; display: flex; align-items: center; justify-content: center; }
.ilb__figure { position: relative; margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; }
.ilb__img { display: block; max-width: 100%; max-height: calc(100vh - 140px); width: auto; height: auto; object-fit: contain; border-radius: 6px; box-shadow: 0 20px 60px rgba(0, 0, 0, .45); transition: opacity .2s ease; }
.ilb.is-loading .ilb__img { opacity: .25; }
.ilb__loader { position: absolute; top: 50%; left: 50%; width: 38px; height: 38px; margin: -19px 0 0 -19px; border: 3px solid rgba(255, 255, 255, .25); border-top-color: #f25d21; border-radius: 50%; animation: ilb-spin .8s linear infinite; display: none; }
.ilb.is-loading .ilb__loader { display: block; }
@keyframes ilb-spin { to { transform: rotate(360deg); } }
.ilb__caption { margin-top: 14px; max-width: 70ch; text-align: center; font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, .82); }
.ilb__caption[hidden] { display: none; }

.ilb__bar { position: absolute; top: 0; left: 0; right: 0; height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px 0 28px; color: rgba(255, 255, 255, .8); font-size: 14px; }
.ilb__close, .ilb__nav { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; cursor: pointer; transition: background-color .15s ease; }
.ilb__close { width: 44px; height: 44px; }
.ilb__nav { position: absolute; top: 50%; width: 52px; height: 52px; margin-top: -26px; }
.ilb__nav--prev { left: 16px; }
.ilb__nav--next { right: 16px; }
.ilb__nav[hidden] { display: none; }
.ilb__close:hover, .ilb__nav:hover { background: #f25d21; }
.ilb__close:focus-visible, .ilb__nav:focus-visible { outline: 3px solid #f25d21; outline-offset: 3px; }

@media (max-width: 700px) {
    .ilb__stage { inset: 60px 8px 76px; }
    .ilb__img { max-height: calc(100vh - 170px); border-radius: 4px; }
    .ilb__nav { top: auto; bottom: 14px; margin-top: 0; width: 48px; height: 48px; }
    .ilb__nav--prev { left: calc(50% - 60px); }
    .ilb__nav--next { right: calc(50% - 60px); }
}
@media (prefers-reduced-motion: reduce) { .ilb, .ilb__loader { animation: none; } .ilb-thumb { transition: none; } }
