/* NK Lightbox 1.0.1 — all visual rules are isolated from Joomla/template controls. */
body .nklb-overlay {
    position: fixed;
    z-index: 2147483000;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, .9);
    color: #fff;
    font: 400 1rem/1.45 system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    text-align: center;
    isolation: isolate;
    overscroll-behavior: contain;
}
body .nklb-overlay[hidden], body .nklb-overlay [hidden] { display: none !important; }
body .nklb-overlay *, body .nklb-overlay *::before, body .nklb-overlay *::after { box-sizing: border-box; }
body .nklb-overlay .nklb-stage {
    position: absolute;
    inset: 3.75rem 4.25rem 5.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
body .nklb-overlay .nklb-picture { display: contents; }
body .nklb-overlay .nklb-image {
    display: block;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    object-fit: contain;
    box-shadow: 0 .5rem 2rem #0005;
    animation: nklb-appear .16s ease-out;
}
body .nklb-overlay .nklb-button {
    position: absolute;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    min-width: 0;
    margin: 0;
    padding: .7rem;
    border: .0625rem solid #ffffff66;
    border-radius: 50%;
    background: #151515cc;
    color: #fff;
    font: inherit;
    line-height: 1;
    box-shadow: none;
    transform: none;
    cursor: pointer;
    appearance: none;
    touch-action: manipulation;
    transition: color .25s ease, background-color .25s ease, border-color .25s ease;
}
body .nklb-overlay .nklb-button::before, body .nklb-overlay .nklb-button::after { content: none; }
body .nklb-overlay .nklb-button svg { display: block; width: 100%; height: 100%; margin: 0; padding: 0; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
body .nklb-overlay .nklb-button:hover { background: #292929; border-color: currentColor; transform: none; }
body .nklb-overlay .nklb-button:focus { outline: .15rem solid currentColor; outline-offset: .2rem; }
body .nklb-overlay .nklb-button[aria-disabled="true"] { opacity: .35; cursor: default; }
body .nklb-overlay .nklb-close { top: .6rem; right: .65rem; }
body .nklb-overlay .nklb-prev { top: calc(50% - 1.5rem); left: .65rem; }
body .nklb-overlay .nklb-next { top: calc(50% - 1.5rem); right: .65rem; }
body .nklb-overlay .nklb-footer { position: absolute; bottom: .65rem; left: 4.25rem; right: 4.25rem; max-height: 4.6rem; overflow-y: auto; padding: 0; }
body .nklb-overlay .nklb-footer p { margin: 0; padding: 0; color: #fff; font: inherit; font-size: .9em; text-align: center; }
body .nklb-overlay .nklb-footer .nklb-counter { font-weight: 600; font-variant-numeric: tabular-nums; }
body .nklb-overlay .nklb-original { display: inline-block; margin: .2rem 0 0; padding: 0; color: #fff; text-decoration: underline; font: inherit; }
@keyframes nklb-appear { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 40rem) {
    body .nklb-overlay .nklb-stage { inset: 4rem .5rem 7.5rem; }
    body .nklb-overlay .nklb-prev, body .nklb-overlay .nklb-next { top: auto; bottom: .65rem; }
    body .nklb-overlay .nklb-footer { left: 4.25rem; right: 4.25rem; bottom: .6rem; max-height: 6rem; }
}
@media (max-height: 28rem) and (min-width: 40.01rem) {
    body .nklb-overlay .nklb-stage { top: .5rem; bottom: 3rem; }
    body .nklb-overlay .nklb-footer { max-height: 2.3rem; bottom: .25rem; }
}
@media (prefers-reduced-motion: reduce) {
    body .nklb-overlay .nklb-image { animation: none; }
    body .nklb-overlay .nklb-button { transition: none; }
}
@media (forced-colors: active) {
    body .nklb-overlay { background: Canvas; color: CanvasText; }
    body .nklb-overlay .nklb-button { border-color: ButtonText; background: ButtonFace; color: ButtonText; }
}
