/* Galeri Foto V3: album index + album detail. Scoped to .gal-*; the shell, tokens and background video come from V3. */
.gal-intro{margin:.9rem 0 0;max-width:68ch;font-size:clamp(1rem,2.4vw,1.15rem);line-height:1.65;color:rgba(255,255,255,.82);white-space:pre-line}
.gal-totals{margin:1rem 0 0;color:rgba(255,255,255,.8);font-size:.95rem}
.gal-totals strong{color:#fff}
.gal-meta{list-style:none;margin:1.1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.gal-meta li{padding:.35rem .9rem;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;font-size:.9rem}
.gal-note{margin:.9rem 0 0;max-width:68ch;font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.78)}
.gal-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.gal-albums{list-style:none;margin:0;padding:0;display:grid;gap:clamp(.9rem,2.2vw,1.5rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}
.gal-album{margin:0;min-width:0}
.gal-album__link{display:grid;height:100%;grid-template-rows:auto 1fr;border-radius:1.1rem;overflow:hidden;color:inherit;text-decoration:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 40px -26px rgba(8,12,20,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;outline-offset:3px}
.gal-album__link:hover,.gal-album__link:focus-visible{transform:translateY(-4px);border-color:rgba(255,255,255,.5);box-shadow:0 26px 48px -24px rgba(8,12,20,.8)}
.gal-album__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:rgba(255,255,255,.12)}
.gal-album__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.gal-album__link:hover .gal-album__media img,.gal-album__link:focus-visible .gal-album__media img{transform:scale(1.05)}
.gal-album__media.is-broken img{display:none}
.gal-album__media.is-broken::after{content:"Sampul tidak dapat dimuat";position:absolute;inset:0;display:grid;place-items:center;font-size:.85rem;color:rgba(255,255,255,.75);text-align:center;padding:.5rem}
.gal-album__count{position:absolute;left:.75rem;bottom:.75rem;padding:.3rem .75rem;border-radius:999px;background:rgba(8,12,20,.66);color:#fff;font-size:.8rem;font-weight:600;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.gal-album__body{display:grid;align-content:start;gap:.4rem;padding:1.1rem 1.25rem 1.3rem}
.gal-album__title{font-size:clamp(1.1rem,2.4vw,1.35rem);font-weight:700;line-height:1.25;color:#fff;overflow-wrap:anywhere}
.gal-album__date{font-size:.85rem;color:rgba(255,255,255,.72)}
.gal-album__text{font-size:.93rem;line-height:1.55;color:rgba(255,255,255,.82)}
.gal-album__body .v3-link{margin-top:.35rem;color:#fff}

.gal-grid{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))}
.gal-grid__item{margin:0;min-width:0}
.gal-grid__item a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:.85rem;background:rgba(255,255,255,.12);outline-offset:3px;box-shadow:0 14px 30px -22px rgba(8,12,20,.7)}
.gal-grid__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.gal-grid__item a:hover img,.gal-grid__item a:focus-visible img{transform:scale(1.06)}
.gal-grid__item.is-broken a{display:grid;place-items:center}
.gal-grid__item.is-broken a::after{content:"Foto tidak dapat dimuat";font-size:.85rem;color:rgba(255,255,255,.75);padding:.5rem;text-align:center}
.gal-grid__item.is-broken img{display:none}
.gal-grid__caption{margin:.4rem .1rem 0;font-size:.875rem;line-height:1.45;color:rgba(255,255,255,.8)}
@media (min-width:900px){.gal-grid__item:first-child{grid-column:span 2;grid-row:span 2}.gal-grid__item:first-child a{height:100%;aspect-ratio:auto;min-height:20rem}}
.gal-back{margin-top:clamp(1.5rem,4vw,2.5rem)}
@media (prefers-reduced-motion:reduce){.gal-album__link,.gal-album__media img,.gal-grid__item img{transition:none}.gal-album__link:hover,.gal-album__link:focus-visible{transform:none}}
