.sfgs-gallery-wrap{position:relative}
.sfgs-gallery{width:100%;max-width:var(--sfgs-max-width,1200px);margin:24px auto;color:var(--sfgs-text,#111)}
.sfgs-gallery .sfgs-item{margin:0}
.sfgs-gallery .sfgs-link{display:block;overflow:hidden;border-radius:var(--sfgs-radius,14px);outline:2px solid transparent}
.sfgs-gallery .sfgs-link:hover{outline-color:var(--sfgs-accent,#111)}
.sfgs-gallery img{width:100%;height:var(--sfgs-height,260px);display:block;object-fit:var(--sfgs-fit,cover);background:#f4f4f4;transition:transform .28s ease,filter .28s ease}
.sfgs-gallery.has-hover-zoom .sfgs-link:hover img{transform:scale(1.04)}
.sfgs-gallery.has-grayscale-hover .sfgs-link img{filter:grayscale(100%)}
.sfgs-gallery.has-grayscale-hover .sfgs-link:hover img{filter:grayscale(0%)}
.sfgs-gallery.has-shadow .sfgs-link{box-shadow:0 10px 28px rgba(0,0,0,.12)}
.sfgs-caption{margin-top:8px;font-size:14px;line-height:1.45}

.sfgs-layout-grid{display:grid;grid-template-columns:repeat(var(--sfgs-columns,3),minmax(0,1fr));gap:var(--sfgs-gap,16px)}
.sfgs-layout-masonry{column-count:var(--sfgs-columns,3);column-gap:var(--sfgs-gap,16px)}
.sfgs-layout-masonry .sfgs-item{break-inside:avoid;margin-bottom:var(--sfgs-gap,16px)}
.sfgs-layout-masonry img{height:auto}
.sfgs-layout-slider,.sfgs-layout-carousel,.sfgs-layout-rows{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:var(--sfgs-gap,16px);overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity;scrollbar-width:none}
.sfgs-layout-slider::-webkit-scrollbar,.sfgs-layout-carousel::-webkit-scrollbar,.sfgs-layout-rows::-webkit-scrollbar{display:none}
.sfgs-layout-slider .sfgs-item,.sfgs-layout-carousel .sfgs-item,.sfgs-layout-rows .sfgs-item{scroll-snap-align:start}
.sfgs-layout-slider img{height:min(70vh,calc(var(--sfgs-height,260px) + 120px))}
.sfgs-layout-carousel img,.sfgs-layout-rows img{height:var(--sfgs-height,260px)}
.sfgs-layout-highlight{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sfgs-gap,16px)}
.sfgs-layout-highlight .sfgs-item:first-child{grid-column:span 2;grid-row:span 2}
.sfgs-layout-highlight .sfgs-item:first-child img{height:calc(var(--sfgs-height,260px)*2 + var(--sfgs-gap,16px))}
.sfgs-layout-justified{display:flex;flex-wrap:wrap;gap:var(--sfgs-gap,16px)}
.sfgs-layout-justified .sfgs-item{flex:1 1 220px}
.sfgs-layout-stack{display:grid;gap:var(--sfgs-gap,16px)}
.sfgs-layout-stack .sfgs-item:nth-child(odd){margin-left:0}
.sfgs-layout-stack .sfgs-item:nth-child(even){margin-left:8%}
.sfgs-layout-rows{grid-auto-columns:minmax(180px,28%)}

.sfgs-slider-wrap{position:relative}
.sfgs-slider-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:0;border-radius:50%;width:42px;height:42px;background:rgba(17,17,17,.8);color:#fff;cursor:pointer}
.sfgs-slider-nav[data-dir="prev"]{left:10px}
.sfgs-slider-nav[data-dir="next"]{right:10px}

.sfgs-lightbox[hidden]{display:none}
.sfgs-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;padding:30px}
.sfgs-lightbox-image{max-width:92vw;max-height:88vh;border-radius:14px}
.sfgs-lightbox-close{position:absolute;top:18px;right:22px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.sfgs-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:34px;cursor:pointer}
.sfgs-lightbox-prev{left:20px}
.sfgs-lightbox-next{right:20px}
body.sfgs-lightbox-open{overflow:hidden}

.sfgs-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.sfgs-filter-btn,.sfgs-gallery-card-button{border:0;border-radius:999px;background:var(--sfgs-button-bg,#111);color:var(--sfgs-button-text,#fff);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;cursor:pointer}
.sfgs-filter-btn.is-active{outline:2px solid var(--sfgs-accent,#111);outline-offset:2px}
.sfgs-gallery-list{display:grid;gap:18px}
.sfgs-gallery-list-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sfgs-gallery-card{background:var(--sfgs-card-bg,#fff);color:var(--sfgs-text,#111);border-radius:var(--sfgs-radius,12px);overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.10);border-top:4px solid var(--sfgs-accent,#111)}
.sfgs-gallery-card-image img{width:100%;height:240px;object-fit:cover;display:block}
.sfgs-gallery-card-body{padding:18px}
.sfgs-gallery-card-title{margin:0 0 8px;font-size:22px;line-height:1.2}
.sfgs-gallery-card-title a{text-decoration:none;color:inherit}
.sfgs-gallery-card-terms{font-size:13px;opacity:.8;margin-bottom:10px}
.sfgs-list-results.is-loading{opacity:.55}

@media (max-width:900px){
.sfgs-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sfgs-layout-highlight{grid-template-columns:repeat(2,1fr)}
.sfgs-gallery-list-columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
.sfgs-layout-grid,.sfgs-layout-highlight,.sfgs-gallery-list-columns-3{grid-template-columns:1fr}
.sfgs-layout-highlight .sfgs-item:first-child{grid-column:auto;grid-row:auto}
.sfgs-layout-highlight .sfgs-item:first-child img{height:var(--sfgs-height,260px)}
.sfgs-lightbox-prev{left:10px}.sfgs-lightbox-next{right:10px}
}