/* ---------- Galeri foto & video (dua baris) ---------- */
.gal-row{margin-top:34px}
.gal-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.gal-head h3{font-size:1.15rem}
.gal-nav{display:flex;gap:8px}
.gal-nav button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--card);
  color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.gal-nav button:hover:not(:disabled){background:var(--leaf);border-color:var(--moss)}
.gal-nav button:disabled{opacity:.35;cursor:default}

.gal-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:14px;margin-top:14px;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:10px;scrollbar-width:thin}
.gal-track::-webkit-scrollbar{height:6px}
.gal-track::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
@media (prefers-reduced-motion: reduce){.gal-track{scroll-behavior:auto}}

/* Kalau isinya sedikit, kartu tidak melar memenuhi layar */
.gal-track.fits{grid-auto-columns:minmax(250px,300px);justify-content:start;overflow-x:visible}

.gal-item{scroll-snap-align:start;margin:0;min-width:0}
.gal-open{display:block;width:100%;padding:0;border:0;background:var(--leaf);border-radius:14px;
  overflow:hidden;cursor:pointer;position:relative;aspect-ratio:4/3}
/* Video memakai bingkai layar lebar sesuai bentuk asli YouTube */
.gal-item.is-video .gal-open{aspect-ratio:16/9}
.gal-open img{width:100%;height:100%;object-fit:cover;display:block}
.gal-item .play{position:absolute;inset:0;margin:auto;width:58px;height:58px;border-radius:50%;
  background:rgba(15,61,62,.82);color:#fff;display:grid;place-items:center;padding-left:3px}
.gal-open:hover .play{background:var(--moss)}
.gal-item figcaption{margin-top:10px;font-size:.92rem;color:var(--muted)}

/* Lightbox */
.gal-modal{position:fixed;inset:0;z-index:100;background:rgba(10,20,17,.92);display:grid;place-items:center;padding:20px}
.gal-modal-body{width:min(1000px,100%);max-height:86vh;display:grid;place-items:center}
.gal-modal img{max-width:100%;max-height:86vh;border-radius:10px;object-fit:contain}
.gal-modal iframe{width:min(1000px,100%);aspect-ratio:16/9;border:0;border-radius:10px}
.gal-close{position:absolute;top:14px;right:18px;width:46px;height:46px;border-radius:50%;border:0;
  background:rgba(255,255,255,.15);color:#fff;font-size:1.9rem;line-height:1;cursor:pointer}
.gal-close:hover{background:rgba(255,255,255,.3)}

@media (max-width:640px){
  .gal-track,.gal-track.fits{grid-auto-columns:82%;overflow-x:auto}
  .gal-nav{display:none}
}

/* Atribut hidden harus mengalahkan display di atas */
.gal-modal[hidden], .gal-nav[hidden] { display: none; }
