
.rgs-gallery{--rgs-accent:#e76e14; --rgs-bg:#363636; --rgs-fg:#fff; --rgs-gap:16px; position:relative; color:var(--rgs-fg)}
.rgs-gap-none{--rgs-gap:0}.rgs-gap-s{--rgs-gap:8px}.rgs-gap-m{--rgs-gap:16px}.rgs-gap-l{--rgs-gap:24px}
.rgs-radius-none{--rgs-radius:0}.rgs-radius-s{--rgs-radius:8px}.rgs-radius-m{--rgs-radius:14px}.rgs-radius-l{--rgs-radius:20px}.rgs-radius-xl{--rgs-radius:28px}
.rgs-grid{display:grid; gap:var(--rgs-gap)}
.rgs-layout-masonry .rgs-grid{columns:3 220px; display:block}
.rgs-layout-masonry .rgs-item{break-inside:avoid; margin:0 0 var(--rgs-gap)}
.rgs-layout-editorial .rgs-grid{grid-template-columns:2fr 1fr; grid-auto-rows:220px}
.rgs-layout-editorial .rgs-item:first-child{grid-row:span 2}
.rgs-layout-mosaic .rgs-grid{grid-template-columns:repeat(3,1fr); grid-auto-rows:180px}
.rgs-layout-mosaic .rgs-item:nth-child(5n+1){grid-column:span 2; grid-row:span 2}
.rgs-layout-polaroid .rgs-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.rgs-layout-polaroid .rgs-item{background:#fff; color:#111; padding:10px 10px 18px; box-shadow:0 12px 30px rgba(0,0,0,.16); transform:rotate(calc((var(--rgs-rot,0)) * 1deg))}
.rgs-layout-polaroid .rgs-item:nth-child(odd){--rgs-rot:-1.5}
.rgs-layout-polaroid .rgs-item:nth-child(even){--rgs-rot:1.2}
.rgs-item{position:relative}
.rgs-link{display:block; overflow:hidden; border-radius:var(--rgs-radius,14px); background:rgba(255,255,255,.06)}
.rgs-item img{display:block; width:100%; height:auto; transition:transform .28s ease, filter .28s ease}
.rgs-aspect-square .rgs-link{aspect-ratio:1/1}.rgs-aspect-landscape .rgs-link{aspect-ratio:3/2}.rgs-aspect-portrait .rgs-link{aspect-ratio:4/5}
.rgs-aspect-square .rgs-link img,.rgs-aspect-landscape .rgs-link img,.rgs-aspect-portrait .rgs-link img{width:100%; height:100%; object-fit:cover}
.rgs-hover-zoom .rgs-link:hover img{transform:scale(1.08)}
.rgs-hover-zoom-soft .rgs-link:hover img{transform:scale(1.04)}
.rgs-hover-lift .rgs-item{transition:transform .22s ease}.rgs-hover-lift .rgs-item:hover{transform:translateY(-5px)}
.rgs-hover-tilt .rgs-item{transition:transform .22s ease}.rgs-hover-tilt .rgs-item:hover{transform:rotate(-1deg) translateY(-4px)}
.rgs-hover-grayscale .rgs-link img{filter:grayscale(1)}.rgs-hover-grayscale .rgs-link:hover img{filter:none}
.rgs-anim-soft .rgs-item{animation:rgsFade .6s ease both}
.rgs-anim-stagger .rgs-item{animation:rgsFade .5s ease both}.rgs-anim-stagger .rgs-item:nth-child(n){animation-delay:calc(var(--n,0) * 60ms)}
.rgs-anim-float .rgs-item{animation:rgsFloat 5s ease-in-out infinite}
.rgs-anim-reveal .rgs-item{animation:rgsReveal .55s ease both}
.rgs-item figcaption{font-size:.92rem; opacity:.85; margin-top:.55rem}
@keyframes rgsFade{from{opacity:0; transform:translateY(12px)}to{opacity:1; transform:none}}
@keyframes rgsFloat{0%,100%{transform:none}50%{transform:translateY(-6px)}}
@keyframes rgsReveal{from{clip-path:inset(0 0 25% 0); opacity:0}to{clip-path:inset(0); opacity:1}}

.rgs-track-wrap{position:relative}
.rgs-track{display:flex; overflow:hidden; gap:var(--rgs-gap); scroll-behavior:smooth}
.rgs-layout-slider .rgs-track{gap:0}
.rgs-layout-slider .rgs-item{min-width:100%}
.rgs-layout-carousel .rgs-item{min-width:min(78%,420px)}
.rgs-nav{position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:42px; height:42px; border-radius:999px; border:1px solid rgba(255,255,255,.18); background:rgba(54,54,54,.82); color:#fff; cursor:pointer}
.rgs-prev{left:10px}.rgs-next{right:10px}
.rgs-nav:hover{background:var(--rgs-accent); color:#111}
.rgs-thumbs{display:flex; gap:8px; margin-top:10px; overflow:auto; padding-bottom:2px}
.rgs-thumb{border:1px solid rgba(255,255,255,.15); background:none; padding:0; border-radius:10px; overflow:hidden; cursor:pointer; opacity:.8}
.rgs-thumb.is-active{border-color:var(--rgs-accent); opacity:1}
.rgs-thumb img{display:block; width:72px; height:72px; object-fit:cover}

.rgs-lightbox{position:fixed; inset:0; z-index:999999; display:none}
.rgs-lightbox.is-open{display:block}
.rgs-lightbox__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.84)}
.rgs-lightbox__dialog{position:absolute; inset:4vw; display:flex; align-items:center; justify-content:center}
.rgs-lightbox__figure{max-width:min(92vw,1200px); max-height:88vh; margin:0; color:#fff; position:relative}
.rgs-lightbox__img{display:block; max-width:100%; max-height:78vh; border-radius:16px; background:#222; box-shadow:0 16px 44px rgba(0,0,0,.32); transform:translateX(0); transition:transform .22s ease, opacity .22s ease}
.rgs-lightbox.is-sliding-next .rgs-lightbox__img{transform:translateX(-18px); opacity:.88}
.rgs-lightbox.is-sliding-prev .rgs-lightbox__img{transform:translateX(18px); opacity:.88}
.rgs-lightbox__caption{margin-top:12px; font-size:15px; opacity:.88}
.rgs-lightbox__counter{position:absolute; top:16px; left:16px; background:rgba(54,54,54,.82); padding:6px 10px; border-radius:999px}
.rgs-lightbox__close,.rgs-lightbox__prev,.rgs-lightbox__next{position:absolute; border:1px solid rgba(255,255,255,.16); background:rgba(54,54,54,.82); color:#fff; cursor:pointer; border-radius:999px}
.rgs-lightbox__close{top:16px; right:16px; width:42px; height:42px}
.rgs-lightbox__prev,.rgs-lightbox__next{top:50%; transform:translateY(-50%); width:46px; height:46px}
.rgs-lightbox__prev{left:16px}.rgs-lightbox__next{right:16px}
.rgs-lightbox__close:hover,.rgs-lightbox__prev:hover,.rgs-lightbox__next:hover{background:var(--rgs-accent); color:#111}
@media (max-width: 782px){
 .rgs-layout-editorial .rgs-grid,.rgs-layout-mosaic .rgs-grid{grid-template-columns:1fr}
 .rgs-layout-editorial .rgs-item:first-child,.rgs-layout-mosaic .rgs-item:nth-child(5n+1){grid-column:auto; grid-row:auto}
 .rgs-layout-masonry .rgs-grid{columns:2 160px}
 .rgs-nav{width:38px; height:38px}
 .rgs-lightbox__dialog{inset:18px}
 .rgs-lightbox__prev{left:8px}.rgs-lightbox__next{right:8px}
}
