/* ===== HALAMAN GALERI =====
   .page-hero / .cats / .empty / .pager / .crumb / .kick di-reuse dari berita.css.
   Variabel warna (--blue, --green, --red, --blue-soft, --r, --sh, --sh-lg) dari site.css. */

.galeri-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.3rem;
}
@media(max-width:900px){.galeri-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.galeri-grid{grid-template-columns:1fr}}

.gcard{
  position:relative;
  display:block;
  aspect-ratio:4/3;
  border-radius:var(--r);
  overflow:hidden;
  background:var(--blue-soft);
  box-shadow:var(--sh);
  transition:transform .22s, box-shadow .22s;
}
.gcard:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.gcard img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gcard:hover img{transform:scale(1.06)}

.gcard-ov{
  position:absolute;left:0;right:0;bottom:0;
  padding:1.6rem 1rem .9rem;
  display:flex;flex-direction:column;gap:.15rem;
  background:linear-gradient(to top, rgba(7,43,74,.88), rgba(7,43,74,0));
  color:#fff;
}
.gcard-cat{
  font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#9FD468;
}
.gcard-title{font-size:.95rem;font-weight:700;line-height:1.3}

.gcard-zoom{
  position:absolute;top:.7rem;right:.7rem;
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.18);backdrop-filter:blur(3px);
  color:#fff;opacity:0;transform:scale(.8);
  transition:opacity .2s, transform .2s;
}
.gcard:hover .gcard-zoom,.gcard:focus-visible .gcard-zoom{opacity:1;transform:scale(1)}
.gcard-zoom svg{width:19px;height:19px}

/* ===== LIGHTBOX ===== */
.glb{
  position:fixed;inset:0;z-index:1000;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(1rem,4vw,3rem);
  background:rgba(4,16,30,.93);
  animation:glbFade .2s ease;
}
@keyframes glbFade{from{opacity:0}to{opacity:1}}
.glb[hidden]{display:none}
.glb-fig{
  max-width:min(1100px,92vw);max-height:88vh;
  margin:0;display:flex;flex-direction:column;align-items:center;gap:.9rem;
}
.glb-fig img{
  max-width:100%;max-height:78vh;object-fit:contain;
  border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.5);background:#0b1b2c;
}
.glb-cap{
  color:#E8F0F8;text-align:center;
  display:flex;flex-direction:column;gap:.2rem;max-width:70ch;
}
.glb-cap b{font-size:1.05rem;font-weight:700}
.glb-cap span{color:#AEC4D8;font-size:.88rem}

.glb-close,.glb-nav{
  position:absolute;color:#fff;line-height:1;
  background:rgba(255,255,255,.1);
  display:grid;place-items:center;border-radius:50%;
  transition:background-color .2s;
}
.glb-close:hover,.glb-nav:hover{background:rgba(255,255,255,.22)}
.glb-close{top:1rem;right:1.2rem;width:46px;height:46px;font-size:2rem}
.glb-nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:2.2rem}
.glb-prev{left:1rem}
.glb-next{right:1rem}
@media(max-width:560px){
  .glb-nav{width:44px;height:44px;font-size:1.8rem}
  .glb-prev{left:.4rem}
  .glb-next{right:.4rem}
}
