.navoto-fmg{width:100%;position:relative}
.navoto-fmg *{box-sizing:border-box}
.navoto-fmg__filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 24px;padding:0}
.navoto-fmg__filter{appearance:none;border:0;cursor:pointer;padding:10px 18px;background:#f2f2f2;color:#333;font:inherit;line-height:1.25;transition:background-color .2s,color .2s;white-space:nowrap}
.navoto-fmg__filter:hover,.navoto-fmg__filter:focus-visible{filter:brightness(.94);outline-offset:3px}
.navoto-fmg__filter.is-active{background:#222;color:#fff}
.navoto-fmg__items{display:grid;grid-template-columns:repeat(var(--navoto-fmg-columns,3),minmax(0,1fr));gap:var(--navoto-fmg-gap,20px);align-items:start}
.navoto-fmg__card{min-width:0;margin:0;break-inside:avoid}
.navoto-fmg__card.is-hidden{display:none!important}
.navoto-fmg__media{position:relative;display:block;width:100%;padding:0!important;margin:0;border:0!important;background:transparent!important;overflow:hidden;cursor:pointer;text-align:inherit;line-height:0;min-width:0;appearance:none;-webkit-appearance:none;box-shadow:none!important;text-decoration:none!important}
.navoto-fmg__media img{display:block;width:100%;height:auto;object-fit:var(--navoto-fmg-fit,cover);transition:transform .35s ease}
.navoto-fmg[data-ratio="1/1"] .navoto-fmg__media img{aspect-ratio:1/1}
.navoto-fmg[data-ratio="4/3"] .navoto-fmg__media img{aspect-ratio:4/3}
.navoto-fmg[data-ratio="3/2"] .navoto-fmg__media img{aspect-ratio:3/2}
.navoto-fmg[data-ratio="16/9"] .navoto-fmg__media img{aspect-ratio:16/9}
.navoto-fmg[data-ratio="3/4"] .navoto-fmg__media img{aspect-ratio:3/4}
.navoto-fmg[data-ratio="auto"] .navoto-fmg__media img{height:auto}
.navoto-fmg__media:after{content:"";position:absolute;z-index:1;inset:0;background:rgba(0,0,0,.18);opacity:0;transition:opacity .25s;pointer-events:none}
.navoto-fmg__media:hover:after,.navoto-fmg__media:focus-visible:after{opacity:1}
.navoto-fmg__media:hover img{transform:scale(1.025)}
.navoto-fmg__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;z-index:3;line-height:0}
.navoto-fmg__play svg{width:100%;height:100%;display:block}
.navoto-fmg__play circle{fill:rgba(0,0,0,.58);stroke:#fff;stroke-width:2}
.navoto-fmg__play path{fill:#fff}
.navoto-fmg__title{margin-top:10px;line-height:1.4}
.navoto-fmg__lightbox{display:none;position:fixed;z-index:999999;inset:0;background:rgba(0,0,0,.9);align-items:center;justify-content:center;padding:60px 24px 24px}
.navoto-fmg__lightbox.is-open{display:flex}
.navoto-fmg__lightbox-content{max-width:min(1100px,100%);max-height:100%;width:auto;display:flex;align-items:center;justify-content:center}
.navoto-fmg__lightbox-content img{display:block;max-width:100%;max-height:calc(100vh - 100px);width:auto;height:auto;object-fit:contain}
.navoto-fmg__lightbox-content iframe,.navoto-fmg__lightbox-content video{display:block;width:min(1100px,85vw);height:min(62vw,75vh);max-height:75vh;border:0;background:#000}
.navoto-fmg__close{position:absolute;right:20px;top:10px;color:#fff;background:transparent;border:0;font-size:44px;line-height:1;cursor:pointer;padding:4px 10px}
.navoto-fmg-empty{padding:20px;border:1px dashed #aaa}
@media(max-width:1024px){.navoto-fmg__items{grid-template-columns:repeat(var(--navoto-fmg-columns-tablet,var(--navoto-fmg-columns,2)),minmax(0,1fr))}}
@media(max-width:767px){.navoto-fmg__items{grid-template-columns:repeat(var(--navoto-fmg-columns-mobile,var(--navoto-fmg-columns,1)),minmax(0,1fr))}.navoto-fmg__filters{gap:8px}.navoto-fmg__filter{padding:9px 13px}.navoto-fmg__lightbox{padding:56px 12px 12px}.navoto-fmg__lightbox-content iframe,.navoto-fmg__lightbox-content video{width:94vw;height:53vw;max-height:70vh}}
/* Masonry uses CSS columns so variable-height images stack without blank row gaps. */
.navoto-fmg[data-layout="masonry"] .navoto-fmg__items{display:block;column-count:var(--navoto-fmg-columns,3);column-gap:var(--navoto-fmg-gap,20px)}
.navoto-fmg[data-layout="masonry"] .navoto-fmg__card{display:inline-block;width:100%;margin:0 0 var(--navoto-fmg-gap,20px);vertical-align:top}
.navoto-fmg[data-layout="masonry"] .navoto-fmg__card.is-hidden{display:none!important}
@media(max-width:1024px){.navoto-fmg[data-layout="masonry"] .navoto-fmg__items{column-count:var(--navoto-fmg-columns-tablet,2)}}
@media(max-width:767px){.navoto-fmg[data-layout="masonry"] .navoto-fmg__items{column-count:var(--navoto-fmg-columns-mobile,1)}}
/* Smooth filter transitions and popup fade/zoom. */
.navoto-fmg__card{opacity:1;transform:translateY(0) scale(1);transition:opacity .22s ease,transform .22s ease}
.navoto-fmg__card.is-hiding{opacity:0;transform:translateY(8px) scale(.985);pointer-events:none}
.navoto-fmg__card.is-hidden{display:none!important}
.navoto-fmg__lightbox{display:flex;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .26s ease,visibility .26s ease;background:rgba(0,0,0,.9)}
.navoto-fmg__lightbox.is-open{visibility:visible;opacity:1;pointer-events:auto}
.navoto-fmg__lightbox-content{transform:scale(.96);opacity:0;transition:transform .26s ease,opacity .26s ease}
.navoto-fmg__lightbox.is-open .navoto-fmg__lightbox-content{transform:scale(1);opacity:1}
.navoto-fmg__media img,.navoto-fmg__media .navoto-fmg__preview-video{display:block;width:100%;height:auto;object-fit:var(--navoto-fmg-fit,cover);transition:transform .35s ease}
.navoto-fmg__media .navoto-fmg__preview-video{aspect-ratio:16/9;object-fit:cover}
.navoto-fmg[data-ratio="1/1"] .navoto-fmg__media .navoto-fmg__preview-video{aspect-ratio:1/1}
.navoto-fmg[data-ratio="4/3"] .navoto-fmg__media .navoto-fmg__preview-video{aspect-ratio:4/3}
.navoto-fmg[data-ratio="3/2"] .navoto-fmg__media .navoto-fmg__preview-video{aspect-ratio:3/2}
.navoto-fmg[data-ratio="16/9"] .navoto-fmg__media .navoto-fmg__preview-video{aspect-ratio:16/9}
.navoto-fmg[data-ratio="3/4"] .navoto-fmg__media .navoto-fmg__preview-video{aspect-ratio:3/4}
.navoto-fmg__title--overlay{position:absolute!important;z-index:6!important;left:0;right:0;display:block!important;margin:0!important;padding:14px 16px!important;line-height:1.35!important;font-size:16px;font-weight:600;white-space:normal;overflow-wrap:anywhere;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .25s ease,transform .3s ease,visibility .25s ease;background:rgba(0,0,0,.68)!important;color:#fff!important;text-align:inherit}
.navoto-fmg__title--top{top:0;bottom:auto}
.navoto-fmg__title--center{top:50%;bottom:auto;transform:translateY(-35%)}
.navoto-fmg__title--bottom{bottom:0;top:auto}
.navoto-fmg__media:hover .navoto-fmg__title--overlay,.navoto-fmg__media:focus-visible .navoto-fmg__title--overlay{opacity:1!important;visibility:visible!important}
.navoto-fmg__media:hover .navoto-fmg__title--slide,.navoto-fmg__media:focus-visible .navoto-fmg__title--slide{transform:translateY(0)}
.navoto-fmg__title--slide.navoto-fmg__title--top{transform:translateY(-100%)}
.navoto-fmg__title--slide.navoto-fmg__title--bottom{transform:translateY(100%)}
.navoto-fmg__title--slide.navoto-fmg__title--center{transform:translateY(-25%)}
.navoto-fmg__media:hover .navoto-fmg__title--zoom,.navoto-fmg__media:focus-visible .navoto-fmg__title--zoom{transform:translateY(-50%) scale(1.04)}
.navoto-fmg__title--zoom.navoto-fmg__title--top,.navoto-fmg__title--zoom.navoto-fmg__title--bottom{transform:scale(.92)}
.navoto-fmg__media:hover .navoto-fmg__title--zoom.navoto-fmg__title--top,.navoto-fmg__media:hover .navoto-fmg__title--zoom.navoto-fmg__title--bottom{transform:scale(1)}
.navoto-fmg__title--fade{transform:none}
.navoto-fmg__title--below{position:static;display:block;margin-top:10px;opacity:1;background:transparent;color:inherit;pointer-events:auto}
.navoto-fmg__image-icon{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;max-width:64px;max-height:64px;pointer-events:none}
.navoto-fmg__image-icon img{width:100%;height:100%;object-fit:contain}
.navoto-fmg__media:hover .navoto-fmg__image-icon{animation:navotoFmgIconPop .28s ease both}
@keyframes navotoFmgIconPop{from{opacity:0;transform:translate(-50%,-50%) scale(.75)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(prefers-reduced-motion:reduce){.navoto-fmg__card,.navoto-fmg__media img,.navoto-fmg__lightbox,.navoto-fmg__lightbox-content,.navoto-fmg__title--overlay{transition:none!important;animation:none!important}}
.navoto-fmg__media .navoto-fmg__preview-embed{position:absolute;z-index:0;inset:0;width:100%;height:100%;border:0;pointer-events:none;background:#000}
.navoto-fmg__media:has(.navoto-fmg__preview-embed){aspect-ratio:16/9}

/* Keep video preview below the hover shade and title overlay. */
.navoto-fmg__media[data-type="video"] .navoto-fmg__preview-video{position:relative;z-index:0}
.navoto-fmg__media[data-type="video"]:hover:after,.navoto-fmg__media[data-type="video"]:focus-visible:after{opacity:1}
.navoto-fmg__media[data-type="video"] .navoto-fmg__title--overlay{z-index:6!important}

/* Stable filter reflow: hide non-matching cards immediately and animate only the content opacity. */
.navoto-fmg__card{transition:none!important}
.navoto-fmg__card.is-hidden{display:none!important}
.navoto-fmg__card.is-filter-enter{animation:navotoFmgFilterIn .22s ease both}
@keyframes navotoFmgFilterIn{from{opacity:.35}to{opacity:1}}
/* Lightbox previous/next navigation */
.navoto-fmg__nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:48px;height:58px;padding:0;border:0;border-radius:4px;background:rgba(0,0,0,.55);color:#fff;font-size:30px;line-height:1;cursor:pointer;transition:background .2s ease}
.navoto-fmg__nav:hover,.navoto-fmg__nav:focus-visible{background:rgba(255,255,255,.22);outline:2px solid #fff;outline-offset:2px}
.navoto-fmg__prev{left:18px}
.navoto-fmg__next{right:18px}
.navoto-fmg__nav[hidden]{display:none!important}
@media(max-width:767px){.navoto-fmg__nav{width:38px;height:46px;font-size:24px}.navoto-fmg__prev{left:7px}.navoto-fmg__next{right:7px}}

/* Keep filtered results in a true, stable grid (including Elementor/theme overrides). */
.navoto-fmg[data-layout="grid"] .navoto-fmg__items{display:grid!important;grid-template-columns:repeat(var(--navoto-fmg-columns,3),minmax(0,1fr))!important;align-items:start;grid-auto-flow:row;}
.navoto-fmg[data-layout="grid"] .navoto-fmg__card{display:block!important;width:auto!important;min-width:0!important;break-inside:avoid;vertical-align:initial;}
@media(max-width:1024px){.navoto-fmg[data-layout="grid"] .navoto-fmg__items{grid-template-columns:repeat(var(--navoto-fmg-columns-tablet,var(--navoto-fmg-columns,2)),minmax(0,1fr))!important}}
@media(max-width:767px){.navoto-fmg[data-layout="grid"] .navoto-fmg__items{grid-template-columns:repeat(var(--navoto-fmg-columns-mobile,var(--navoto-fmg-columns,1)),minmax(0,1fr))!important}}
/* Smooth cross-fade when the popup advances to another image/video. */
.navoto-fmg__lightbox-content{transition:opacity .22s ease,transform .22s ease!important}
.navoto-fmg__lightbox-content.is-changing{opacity:0!important;transform:scale(.975)!important}
.navoto-fmg__arrows--circle .navoto-fmg__nav{border-radius:50%!important}
.navoto-fmg__arrows--square .navoto-fmg__nav{border-radius:0!important}
.navoto-fmg__arrows--minimal .navoto-fmg__nav{background:transparent!important;box-shadow:none}
.navoto-fmg__arrows--minimal .navoto-fmg__nav:hover{background:rgba(0,0,0,.35)!important}

/* Ensure the hidden state wins over the grid card display rule. */
.navoto-fmg[data-layout="grid"] .navoto-fmg__card.is-hidden{display:none!important}

/* Popup description */
.navoto-fmg__lightbox-content{flex-direction:column;gap:16px;overflow:auto;padding:0 12px 12px;box-sizing:border-box}
.navoto-fmg__lightbox-media{display:flex;align-items:center;justify-content:center;max-width:100%;min-height:0;flex:0 0 auto}
.navoto-fmg__lightbox-media img{display:block;max-width:min(1100px,90vw);max-height:calc(100vh - 190px);width:auto;height:auto;object-fit:contain}
.navoto-fmg__lightbox-media iframe,.navoto-fmg__lightbox-media video{display:block;width:min(1100px,85vw);height:min(62vw,65vh);max-height:65vh;border:0;background:#000}
.navoto-fmg__lightbox-description{color:#fff;text-align:center;max-width:min(900px,90vw);width:100%;font-size:16px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 auto}
@media(max-width:767px){.navoto-fmg__lightbox-content{gap:12px;max-height:calc(100vh - 68px)}.navoto-fmg__lightbox-media img{max-width:90vw;max-height:calc(100vh - 180px)}.navoto-fmg__lightbox-media iframe,.navoto-fmg__lightbox-media video{width:92vw;height:52vw;max-height:58vh}.navoto-fmg__lightbox-description{font-size:14px}}
