.pg-gallery *,
.pg-gallery *::before,
.pg-gallery *::after {
box-sizing: border-box;
}
.pg-gallery {
--pg-cols:         3;
--pg-gap:          12px;
--pg-radius:       4px;
--pg-overlay-bg:   rgba(0,0,0,.45);
--pg-caption-color:#fff;
--pg-caption-font: system-ui, sans-serif;
--pg-transition:   .25s ease;
--pg-shimmer-dark: #1a1a1a;
--pg-shimmer-mid:  #2a2a2a;
width: 100%;
} .pg-layout-grid .pg-item-wrap {
display: grid;
grid-template-columns: repeat(var(--pg-cols), 1fr);
gap: var(--pg-gap);
}
.pg-layout-grid .pg-item {
aspect-ratio: 3 / 2; }
.pg-layout-grid .pg-thumb {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
} .pg-layout-masonry .pg-item-wrap {
columns:    var(--pg-cols);
column-gap: var(--pg-gap);
}
.pg-layout-masonry .pg-item { break-inside: avoid; margin-bottom: var(--pg-gap); display: block;
}
.pg-layout-masonry .pg-thumb {
width:   100%;
height:  auto; display: block;
} .pg-layout-single .pg-item-wrap {
display: flex;
flex-direction: column;
gap: var(--pg-gap);
}
.pg-layout-single .pg-thumb {
width:   100%;
height:  auto;
display: block;
} .pg-item {
overflow:      hidden;
border-radius: var(--pg-radius);
background:    var(--pg-shimmer-dark);
position:      relative;
} .pg-thumb { aspect-ratio:  auto;
width:         100%; opacity:       0;
transition:    opacity .4s ease;
will-change:   opacity;
position:      relative;
z-index:       1;
}
.pg-thumb.pg-loaded {
opacity: 1;
} .pg-item::before {
content:    '';
position:   absolute;
inset:      0;
background: linear-gradient(
90deg,
var(--pg-shimmer-dark) 25%,
var(--pg-shimmer-mid)  50%,
var(--pg-shimmer-dark) 75%
);
background-size: 200% 100%;
animation:  pg-shimmer 1.4s infinite;
border-radius: inherit;
z-index:    0;
pointer-events: none;
}
.pg-item.pg-item-loaded::before {
display: none;
}
@keyframes pg-shimmer {
0%   { background-position:  200% 0; }
100% { background-position: -200% 0; }
} .pg-link {
display:  block;
position: relative;
overflow: hidden;
width:    100%; }
.pg-layout-grid .pg-link {
height: 100%;
}
.pg-link::after {
content:    '';
position:   absolute;
inset:      0;
background: var(--pg-overlay-bg);
opacity:    0;
transition: opacity var(--pg-transition);
}
.pg-link:hover::after,
.pg-link:focus-visible::after {
opacity: 1;
} .pg-link .pg-thumb {
transition: opacity .4s ease, transform .35s ease;
}
.pg-link:hover .pg-thumb.pg-loaded,
.pg-link:focus-visible .pg-thumb.pg-loaded {
transform: scale(1.04);
} .pg-caption {
display:    block;
position:   absolute;
bottom:     0;
left:       0;
right:      0;
padding:    10px 14px;
background: linear-gradient(transparent, rgba(0,0,0,.7));
color:      var(--pg-caption-color);
font:       400 .8rem/1.4 var(--pg-caption-font);
letter-spacing: .02em;
opacity:    0;
transform:  translateY(6px);
transition: opacity var(--pg-transition), transform var(--pg-transition);
z-index:    2;
}
.pg-link:hover .pg-caption,
.pg-link:focus-visible .pg-caption {
opacity:   1;
transform: translateY(0);
} .glightbox-mobile .gslide-description {
padding:    12px 16px 20px;
background: rgba(0,0,0,.85);
}
.glightbox-mobile .gdesc-inner {
max-height: 100px;
overflow-y: auto;
} .glightbox-open {
overflow: auto;
}
.gslide-image img {
opacity:    0;
transition: opacity .4s ease;
}
.gslide-image img.loaded {
opacity: 1;
} @media (max-width: 900px) {
.pg-layout-grid .pg-item-wrap {
grid-template-columns: repeat(min(var(--pg-cols), 2), 1fr);
}
.pg-layout-masonry .pg-item-wrap {
columns: min(var(--pg-cols), 2);
}
}
@media (max-width: 540px) {
.pg-layout-grid .pg-item-wrap {
grid-template-columns: 1fr;
}
.pg-layout-masonry .pg-item-wrap {
columns: 1;
}
}