/* Venue gallery grid + lightbox.
   Shared by every page under /venues/ — previously duplicated inline in all 8. */

.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:14px;}
.gitem{border-radius:1rem;overflow:hidden;cursor:pointer;aspect-ratio:4/3;background:rgba(255,255,255,.04);}
.gitem img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;display:block;}
@media (hover:hover) and (pointer:fine){.gitem:hover img{transform:scale(1.06);}}
.cat-label{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:32px 0 14px;font-family:"Poppins",sans-serif;}
.venue-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px;}
.back{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:9999px;font-size:.78rem;margin-bottom:24px;}

/* --- lightbox --- */
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.93);display:none;align-items:center;justify-content:center;flex-direction:column;overscroll-behavior:contain;}
.lightbox.open{display:flex;}
/* keep the page behind from scrolling under the finger while the lightbox is up */
html.lb-open,body.lb-open{overflow:hidden;}

.lightbox img{max-width:90vw;max-height:84vh;object-fit:contain;border-radius:.75rem;}

.lb-close,.lb-prev,.lb-next{position:absolute;display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;padding:0;border:none;border-radius:50%;cursor:pointer;
  color:#fff;background:rgba(255,255,255,.08);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  font-family:sans-serif;line-height:1;opacity:.8;
  user-select:none;-webkit-tap-highlight-color:transparent;transition:opacity .2s ease;}
.lb-close{top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));font-size:1.7rem;}
.lb-prev,.lb-next{top:50%;margin-top:-24px;font-size:2rem;}
.lb-prev{left:12px;}
.lb-next{right:12px;}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{opacity:1;}
.lb-close:focus-visible,.lb-prev:focus-visible,.lb-next:focus-visible{opacity:1;outline:2px solid rgba(255,255,255,.7);outline-offset:2px;}
.lb-counter{position:absolute;bottom:calc(22px + env(safe-area-inset-bottom));font-size:.75rem;letter-spacing:.15em;color:rgba(255,255,255,.5);font-family:"Poppins",sans-serif;}

/* On a phone, side arrows sit on top of the photo and are easy to mis-tap.
   Move them into a bottom bar and give the image the full width instead. */
@media (max-width:768px){
  .lightbox img{max-width:94vw;max-height:68vh;}
  .lb-prev,.lb-next{top:auto;margin-top:0;bottom:calc(16px + env(safe-area-inset-bottom));width:52px;height:52px;}
  .lb-prev{left:16px;}
  .lb-next{right:16px;}
  .lb-counter{bottom:calc(34px + env(safe-area-inset-bottom));}
  .lb-close{width:52px;height:52px;}
  .gallery-grid{gap:10px;}
  .cat-label{margin:24px 0 12px;}
  .venue-actions{margin-bottom:24px;}
}
