.ne-image-carousel{position:relative;--ne-car-n:var(--ne-car-per,3)}
@media (max-width:1024px){.ne-image-carousel{--ne-car-n:var(--ne-car-per-t,2)}}
@media (max-width:767px){.ne-image-carousel{--ne-car-n:var(--ne-car-per-m,1)}}
.ne-image-carousel .ne-image-carousel__viewport{overflow:hidden}
.ne-image-carousel.has-arrows-outside .ne-image-carousel__viewport{margin-left:30px;margin-right:30px}
.ne-image-carousel.has-dots-outside .ne-image-carousel__viewport{padding-bottom:30px}
.ne-image-carousel .ne-image-carousel__track{display:flex;align-items:var(--ne-car-valign,flex-start);gap:var(--ne-car-gap,0px)}
.ne-image-carousel .ne-image-carousel__slide{position:relative;flex:0 0 calc((100% - (var(--ne-car-n) - 1) * var(--ne-car-gap,0px)) / var(--ne-car-n));min-width:0;text-align:center}
.ne-image-carousel:not(.is-enhanced) .ne-image-carousel__viewport{overflow-x:auto;scroll-snap-type:x mandatory}
.ne-image-carousel:not(.is-enhanced) .ne-image-carousel__slide{scroll-snap-align:start}
.ne-image-carousel:not(.is-enhanced) .ne-image-carousel__arrow,.ne-image-carousel:not(.is-enhanced) .ne-image-carousel__dots{display:none}
.ne-image-carousel.is-enhanced .ne-image-carousel__track{transition:transform var(--ne-car-speed,500ms) ease;touch-action:pan-y}
.ne-image-carousel.is-enhanced.is-dragging .ne-image-carousel__track{transition:none}
.ne-image-carousel.is-enhanced.is-fade .ne-image-carousel__track{display:grid;transform:none!important;transition:none;gap:0}
.ne-image-carousel.is-enhanced.is-fade .ne-image-carousel__slide{grid-area:1/1;opacity:0;pointer-events:none;transition:opacity var(--ne-car-speed,500ms) ease}
.ne-image-carousel.is-enhanced.is-fade .ne-image-carousel__slide.is-active{opacity:1;pointer-events:auto}
.ne-image-carousel .ne-image-carousel__arrow{position:absolute;top:50%;z-index:1;display:flex;width:1em;height:1em;margin:0;padding:0;border:0;background:none;color:rgba(237,237,237,.9);font-size:25px;line-height:1.5;cursor:pointer;transform:translateY(-50%);-webkit-tap-highlight-color:transparent}
.ne-image-carousel .ne-image-carousel__arrow[hidden]{display:none}
.ne-image-carousel .ne-image-carousel__prev{left:10px}
.ne-image-carousel .ne-image-carousel__next{right:10px}
.ne-image-carousel.has-arrows-outside .ne-image-carousel__prev{left:0}
.ne-image-carousel.has-arrows-outside .ne-image-carousel__next{right:0}
.ne-image-carousel.has-dots-outside .ne-image-carousel__arrow{top:calc(50% - 15px)}
.ne-image-carousel .ne-image-carousel__arrow.is-disabled{opacity:.3;cursor:auto}
.ne-image-carousel .ne-image-carousel__chev{display:block;width:1em;height:1em;overflow:hidden}
.ne-image-carousel .ne-image-carousel__arrow:focus-visible,.ne-image-carousel .ne-image-carousel__dot:focus-visible{outline:3px solid var(--ne-accent,#2563eb);outline-offset:2px}
.ne-image-carousel .ne-image-carousel__dots{position:absolute;right:0;bottom:5px;left:0;z-index:10;line-height:24px;text-align:center}
.ne-image-carousel .ne-image-carousel__dots[hidden]{display:none}
.ne-image-carousel .ne-image-carousel__dot{display:inline-block;width:6px;height:6px;margin:0 6px;padding:0;border:0;border-radius:50%;background:#000;opacity:.2;vertical-align:baseline;font-size:0;line-height:0;cursor:pointer}
.ne-image-carousel .ne-image-carousel__dot.is-active{opacity:1}
@media (prefers-reduced-motion:reduce){.ne-image-carousel.is-enhanced .ne-image-carousel__track,.ne-image-carousel.is-enhanced.is-fade .ne-image-carousel__slide{transition:none}}
.ne-image-carousel .ne-image-carousel__dots.is-fraction{line-height:24px}
.ne-image-carousel .ne-image-carousel__dots.is-progressbar{top:0;bottom:auto;height:4px;line-height:0;background:rgba(0,0,0,.25)}
.ne-image-carousel .ne-image-carousel__bar{display:block;width:100%;height:100%;background:#000;transform:scaleX(0);transform-origin:left center;transition:transform var(--ne-car-speed,500ms) ease}
.ne-image-carousel .ne-image-carousel__figure{margin:0}
.ne-image-carousel .ne-image-carousel__img{max-width:100%;height:auto;vertical-align:baseline}
.ne-image-carousel .ne-image-carousel__link{display:inline}
.ne-image-carousel .ne-image-carousel__caption{margin:0;line-height:1.4;text-align:center;font-style:italic}
.ne-lightbox{border:0;padding:0;margin:0;max-width:100vw;max-height:100vh;width:100vw;height:100vh;background:rgba(0,0,0,.9);color:#fff}
.ne-lightbox::backdrop{background:rgba(0,0,0,.9)}
.ne-lightbox[open]{display:flex;align-items:center;justify-content:center}
.ne-lightbox__figure{margin:0;max-width:90vw;max-height:90vh;text-align:center}
.ne-lightbox__img{max-width:90vw;max-height:80vh;object-fit:contain}
.ne-lightbox__caption{margin-top:8px}
.ne-lightbox__btn{position:absolute;background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:50%;width:44px;height:44px;font-size:22px;line-height:1;cursor:pointer}
.ne-lightbox__btn:hover{background:rgba(255,255,255,.3)}
.ne-lightbox__btn:focus-visible{outline:3px solid var(--ne-accent,#2563eb);outline-offset:2px}
.ne-lightbox__close{top:16px;right:16px}
