.rg-gallery { --rg-width:330px; --rg-height:480px; --rg-gap:32px; --rg-radius:24px; --rg-tilt:4deg; --rg-padding:70px; background:#000; color:#fff; width:100%; min-width:0; overflow:hidden; }
.rg-gallery .rg-viewport { overflow-x:auto; overflow-y:hidden; padding:var(--rg-padding) 0; direction:ltr; touch-action:pan-y; }
.rg-gallery.rg-ready .rg-viewport { overflow:hidden; cursor:grab; }
.rg-gallery.rg-dragging .rg-viewport { cursor:grabbing; }
.rg-gallery .rg-track { display:flex; width:max-content; will-change:transform; }
.rg-gallery .rg-group { position:relative; display:flex; flex:none; gap:var(--rg-gap); padding-right:var(--rg-gap); }
.rg-gallery .rg-card { position:relative; display:block; flex:0 0 var(--rg-width); width:var(--rg-width); height:var(--rg-height); overflow:hidden; border-radius:var(--rg-radius); transform:rotate(var(--rg-tilt)); background:#000; color:inherit; text-decoration:none; user-select:none; -webkit-user-drag:none; }
.rg-gallery .rg-image { display:block; width:100%; height:100%; max-width:none; object-fit:cover; pointer-events:none; }
.rg-gallery .rg-placeholder { display:grid; height:100%; place-items:center; font:500 110px/1 sans-serif; letter-spacing:-.08em; color:transparent; background:#000; }
.rg-gallery .rg-caption { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:30px; background:linear-gradient(transparent 35%,rgba(0,0,0,.75)); opacity:1; transition:opacity .25s; }
.rg-gallery.rg-captions-hover .rg-caption { opacity:0; }
.rg-gallery.rg-captions-hover .rg-card:hover .rg-caption,.rg-gallery.rg-captions-hover .rg-card:focus-visible .rg-caption { opacity:1; }
.rg-gallery.rg-captions-none .rg-caption { display:none; }
.rg-gallery .rg-category { font:400 13px/1.5 sans-serif; margin-bottom:8px; }
.rg-gallery .rg-title { font:600 26px/1.15 sans-serif; letter-spacing:-.025em; overflow-wrap:anywhere; }
.rg-gallery .rg-controls { display:flex; align-items:center; justify-content:center; gap:12px; padding:0 20px 24px; }
.rg-gallery .rg-controls[hidden] { display:none; }
.rg-gallery .rg-controls button { appearance:none; width:auto; min-width:44px; min-height:44px; margin:0; padding:10px 16px; border:1px solid currentColor; border-radius:30px; background:transparent; color:inherit; font:400 12px/1.4 sans-serif; cursor:pointer; }
.rg-gallery .rg-controls button:hover { background:rgba(127,127,127,.25); }
.rg-gallery :focus-visible { outline:3px solid currentColor; outline-offset:-5px; }
@media(max-width:767px) { .rg-gallery { --rg-width:250px; --rg-height:360px; --rg-gap:24px; } }
@media(hover:none) { .rg-gallery.rg-captions-hover .rg-caption { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .rg-gallery .rg-caption { transition:none; } }
