.nvi-photo-gallery{--nvi-g-count:var(--nvi-g-columns,3);--nvi-g-gap:12px;--nvi-g-radius:12px;--nvi-g-frame:#fff;--nvi-g-text:#34463c;--nvi-g-accent:#476b51;width:100%;min-width:0;color:var(--nvi-g-text);font:inherit;box-sizing:border-box}.nvi-photo-gallery *{box-sizing:border-box}.nvi-photo-track{display:grid;grid-template-columns:repeat(var(--nvi-g-count),minmax(0,1fr));gap:var(--nvi-g-gap);align-items:start;min-width:0}.nvi-photo-tile{min-width:0;margin:0!important;padding:0}.nvi-photo-link{display:block!important;overflow:hidden;border-radius:var(--nvi-g-radius);color:inherit;text-decoration:none!important;line-height:0}.nvi-photo-gallery .nvi-photo-link img{display:block!important;width:100%!important;max-width:100%!important;height:auto;aspect-ratio:var(--nvi-g-ratio,3/4);object-fit:cover;object-position:center;margin:0!important;border-radius:0!important}.nvi-photo-gallery figcaption{font:inherit;font-size:.85em;text-align:center;line-height:1.5;padding:8px 4px;overflow-wrap:anywhere}.nvi-photo-link:focus-visible,.nvi-photo-navigation button:focus-visible,.nvi-photo-track:focus-visible{outline:3px solid var(--nvi-g-accent);outline-offset:3px}.nvi-photo-layout-masonry .nvi-photo-track{display:block;columns:var(--nvi-g-count);column-gap:var(--nvi-g-gap)}.nvi-photo-layout-masonry .nvi-photo-tile{display:inline-block;width:100%;break-inside:avoid;margin:0 0 var(--nvi-g-gap)!important}.nvi-photo-layout-masonry .nvi-photo-link img{aspect-ratio:auto}.nvi-photo-layout-mosaic .nvi-photo-track{grid-auto-flow:dense}.nvi-photo-layout-mosaic .nvi-photo-tile:nth-child(5n+1){grid-column:1 / -1}.nvi-photo-layout-mosaic .nvi-photo-tile:nth-child(5n+1) img{aspect-ratio:16/9}.nvi-photo-layout-polaroid .nvi-photo-track{padding:12px}.nvi-photo-layout-polaroid .nvi-photo-tile{padding:9px 9px 26px;background:var(--nvi-g-frame);box-shadow:0 3px 12px #0002;border-radius:2px;transform:rotate(-2deg);margin:6px 4px!important}.nvi-photo-layout-polaroid .nvi-photo-tile:nth-child(even){transform:rotate(2deg)}.nvi-photo-layout-polaroid .nvi-photo-link{border-radius:1px}.nvi-photo-layout-circle .nvi-photo-link{border-radius:50%}.nvi-photo-layout-circle .nvi-photo-link img{aspect-ratio:1/1}.nvi-photo-layout-arch .nvi-photo-link{border-radius:50% 50% var(--nvi-g-radius) var(--nvi-g-radius) / 38% 38% var(--nvi-g-radius) var(--nvi-g-radius)}.nvi-photo-layout-arch .nvi-photo-link img{aspect-ratio:3/4}.nvi-photo-layout-carousel .nvi-photo-track{display:flex;gap:var(--nvi-g-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain;padding:2px 0 6px;scroll-behavior:smooth}.nvi-photo-layout-carousel .nvi-photo-tile{flex:0 0 calc((100% - (var(--nvi-g-count) - 1)*var(--nvi-g-gap))/var(--nvi-g-count));scroll-snap-align:start;scroll-snap-stop:normal}.nvi-photo-navigation{display:flex;justify-content:center;align-items:center;gap:14px;padding:12px 0 0}.nvi-photo-navigation button{font:inherit!important;font-size:26px!important;line-height:1!important;display:grid;place-items:center;min-width:40px;min-height:40px;border-radius:50%;border:1px solid var(--nvi-g-accent);background:transparent;color:var(--nvi-g-accent);cursor:pointer;padding:4px!important}.nvi-photo-navigation button:disabled{opacity:.35;cursor:default}.nvi-photo-position{font:inherit;font-size:12px;min-width:48px;text-align:center}.nvi-photo-empty{padding:30px 16px;border:1px dashed currentColor;opacity:.65;text-align:center;font:14px/1.6 sans-serif}.nvi-gallery-dialog{position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:56px 16px!important;border:0!important;background:#141915f2!important;color:#fff!important;overflow:hidden!important;box-sizing:border-box!important}.nvi-gallery-dialog::backdrop{background:#141915}.nvi-gallery-dialog img{width:100%!important;height:calc(100% - 36px)!important;object-fit:contain!important;display:block!important}.nvi-gallery-dialog button{position:absolute;top:12px;right:16px;border:0;border-radius:8px;padding:6px 14px;background:#fff2;color:#fff;font:28px/1.2 sans-serif;cursor:pointer}.nvi-gallery-dialog [data-prev]{left:12px;right:auto;top:50%}.nvi-gallery-dialog [data-next]{top:50%}.nvi-gallery-dialog p{margin:8px 0;text-align:center;color:#fff;font:14px/1.5 sans-serif}@media(max-width:1024px){.nvi-photo-gallery{--nvi-g-count:var(--nvi-g-tablet,2)}}@media(max-width:767px){.nvi-photo-gallery{--nvi-g-count:var(--nvi-g-mobile,2)}}@media(prefers-reduced-motion:reduce){.nvi-photo-layout-carousel .nvi-photo-track{scroll-behavior:auto}}

.nvi-photo-layout-carousel .nvi-photo-track{scrollbar-width:none;-ms-overflow-style:none;cursor:grab}.nvi-photo-layout-carousel .nvi-photo-track::-webkit-scrollbar{display:none;width:0;height:0}.nvi-photo-navigation{display:none!important}.nvi-photo-gallery.nvi-photo-custom-corners .nvi-photo-link{border-radius:var(--nvi-g-photo-corners)!important}

.nvi-photo-layout-carousel .nvi-photo-track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}.nvi-photo-layout-carousel .nvi-photo-track.is-dragging a{cursor:grabbing}.nvi-photo-layout-carousel .nvi-photo-track img{-webkit-user-drag:none}

/* Per-photo controls preserve the gallery cell and its responsive columns. */
.nvi-photo-gallery .nvi-photo-edited .nvi-photo-link{width:var(--nvi-p-width,100%);max-width:100%;margin-inline:auto}
.nvi-photo-gallery .nvi-photo-edited .nvi-photo-link img{object-fit:var(--nvi-p-fit,cover);object-position:var(--nvi-p-focal-x,50%) var(--nvi-p-focal-y,50%);transform:scale(var(--nvi-p-zoom,1));transform-origin:var(--nvi-p-focal-x,50%) var(--nvi-p-focal-y,50%)}
.nvi-photo-gallery .nvi-photo-fixed-height .nvi-photo-link img{height:var(--nvi-p-height)!important;aspect-ratio:auto!important}
