/* Galéria rács – finomítások */
#gallery-grid .card { overflow: hidden; }
#gallery-grid .card-img-top {
  display: block; width: 100%; height: auto; transition: transform .2s ease;
}
#gallery-grid .card:hover .card-img-top { transform: scale(1.02); }

/* Fallback lightbox (ha nincs külső public_assets/lightbox) */
.glb-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.9);
  display:none; z-index:1055; color:#fff;
}
.glb-overlay.open{ display:flex; flex-direction:column; }

/* BEZÁRÓ – magas z-index, nagyobb kattintható terület */
.glb-close{
  position:absolute; top:12px; right:16px;
  font-size:32px; line-height:1;
  color:#fff; background:transparent; border:0; cursor:pointer;
  padding:8px;                     /* nagyobb hit area */
  z-index:2000;                    /* MINDEN fölé kerül */
  box-shadow:none;
}

/* Színpad */
.glb-stage{
  position:relative;               /* referenciakeret az abszolút elemekhez */
  flex:1; min-height:0;
  display:flex; align-items:center; justify-content:center;
  padding:3rem 4rem;
  z-index:1;                       /* close gomb fölé emelése miatt ez alacsonyabb */
}
.glb-stage img{ max-width:100%; max-height:80vh; object-fit:contain; }

/* NYILAK – abszolút, háttér nélkül, alacsonyabb z-index */
.glb-prev,.glb-next{
  position:absolute; top:50%; transform:translateY(-50%);
  background:transparent; border:0; color:#fff;
  font-size:42px; width:56px; height:56px; border-radius:999px;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:none; z-index:1000;   /* a close alatt marad */
}
.glb-prev{ left:16px; }
.glb-next{ right:16px; }
.glb-prev:hover,.glb-next:hover{ background:transparent; }

/* (opcionális) fókusz-jelölés */
.glb-prev:focus-visible,.glb-next:focus-visible,.glb-close:focus-visible{
  outline:2px solid rgba(255,255,255,.6); outline-offset:2px;
}

/* META – abszolút alul, nem ugrál képaránytól, a close alatt marad */
.glb-meta{
  position:absolute; left:0; right:0; bottom:0;
  padding:1rem 1.25rem; display:flex; justify-content:space-between; align-items:flex-start;
  gap:1rem; flex-wrap:wrap;
  background:linear-gradient(to top, rgba(0,0,0,.45), rgba(0,0,0,0));
  z-index:900;                      /* nyilak/close alatt */
}
.glb-counter{ opacity:.9; }
.glb-title{ font-weight:600; margin-bottom:.25rem; }
.glb-desc{ opacity:.9; max-width:75ch; }

/* Mobil finomhangolás */
@media (max-width:576px){
  .glb-stage{ padding:3rem 1rem; }
  .glb-prev,.glb-next{ width:44px; height:44px; font-size:32px; }
  .glb-meta{ padding:.75rem 1rem; }
}
