.proloco-gallery{--gallery-accent:#315b42;scroll-margin-top:110px}
.proloco-gallery-summary{text-align:center;color:#555;margin:0 0 24px;font-size:15px}
.proloco-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.proloco-gallery-item{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:#eee}
.proloco-gallery-item .proloco-gallery-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.proloco-gallery-item:hover img{transform:scale(1.035)}
.proloco-gallery-item:focus-visible,.proloco-gallery-pagination a:focus-visible{outline:3px solid var(--gallery-accent);outline-offset:4px}
.proloco-gallery-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:32px}
.proloco-gallery-pagination a,.proloco-gallery-pagination span{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #ddd;border-radius:6px;color:#333}
.proloco-gallery-pagination [aria-current]{background:var(--gallery-accent);border-color:var(--gallery-accent);color:#fff}
.proloco-gallery-dialog{width:min(1100px,96vw);max-width:96vw;max-height:94vh;padding:48px 52px 20px;border:0;border-radius:10px;background:#161616;color:#fff}
.proloco-gallery-dialog::backdrop{background:rgba(0,0,0,.88)}
.proloco-gallery-dialog figure{margin:0;text-align:center}
.proloco-gallery-dialog figure img{display:block;margin:auto;max-height:74vh;max-width:100%;width:auto;object-fit:contain}
.proloco-gallery-dialog button{position:absolute;border:0;background:transparent;color:#fff;cursor:pointer;width:44px;height:44px;font-size:36px;line-height:1}
.proloco-gallery-dialog button:focus-visible{outline:2px solid #fff}
.proloco-gallery-dialog button:disabled{opacity:.25;cursor:default}
.proloco-gallery-close{right:8px;top:4px}.proloco-gallery-prev{left:4px;top:45%}.proloco-gallery-next{right:4px;top:45%}
@media(max-width:980px){.proloco-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.proloco-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.proloco-gallery-dialog{padding:48px 36px 16px}}
@media(prefers-reduced-motion:reduce){.proloco-gallery-item img{transition:none}}
