.cfg-closures { width:100%; }
.cfg-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.cfg-gallery-item { border:0; padding:0; margin:0; background:none; cursor:pointer; display:block; overflow:hidden; border-radius:8px; }
.cfg-gallery-item img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; transition:transform .25s ease; }
.cfg-gallery-item:hover img { transform:scale(1.03); }
.cfg-empty { padding:30px 0; text-align:center; }
.cfg-lightbox[hidden] { display:none; }
.cfg-lightbox { position:fixed; inset:0; z-index:999999; background:rgba(0,0,0,.88); display:flex; align-items:center; justify-content:center; padding:30px; }
.cfg-lightbox-image { max-width:95vw; max-height:90vh; width:auto; height:auto; object-fit:contain; }
.cfg-lightbox-close { position:absolute; top:15px; right:20px; width:44px; height:44px; border:0; background:rgba(255,255,255,.15); color:#fff; border-radius:50%; font-size:30px; line-height:1; cursor:pointer; }
body.cfg-lightbox-open { overflow:hidden; }

@media (max-width: 900px) {
    .cfg-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
}
@media (max-width: 600px) {
    .cfg-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .cfg-lightbox { padding:15px; }
}
