/* ==========================================================================
   Galeri pabrik — Export & Whitelabel (27 Okt 2026)

   Berkas terpisah dari cau-home.css karena cau-home.css dimuat tanpa penanda
   versi dan disimpan peramban 7 hari: aturan baru di sana baru terlihat
   pengunjung lama seminggu kemudian, sementara markupnya sudah tayang.
   Ukuran huruf hanya memakai token --fs-* halaman kanal.
   ========================================================================== */
.galeri-pabrik { margin-top: 56px; }
.galeri-pabrik__judul { margin: 0 0 var(--jarak-judul); font: 400 var(--fs-h3)/1.25 var(--serif); letter-spacing: -.01em; color: var(--cau-cocoa); }
.galeri-pabrik__antar { max-width: 60ch; margin: 0 0 24px; color: var(--cau-green); }
.galeri-pabrik__daftar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 16px; margin: 0; padding: 0; list-style: none; }
.galeri-pabrik__daftar > li { min-width: 0; margin: 0; padding: 0; }
.galeri-pabrik__daftar figure { margin: 0; }
.galeri-pabrik__daftar a { display: block; overflow: hidden; border-radius: 6px; background: var(--cau-pale); }
.galeri-pabrik__daftar img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; transition: transform .5s ease; }
.galeri-pabrik__daftar a:hover img { transform: scale(1.03); }
.galeri-pabrik__daftar a:focus-visible { outline: 2px solid var(--cau-orange); outline-offset: 3px; }
.galeri-pabrik__daftar figcaption { margin-top: 10px; font-size: var(--fs-kecil); line-height: 1.5; color: var(--cau-green); }
.galeri-pabrik__tahap { display: block; margin-bottom: 2px; font-size: var(--fs-label); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cau-cocoa); }

@media (max-width: 820px) {
    .galeri-pabrik__daftar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .galeri-pabrik { margin-top: 40px; }
    /* Baris geser yang mengintip foto berikutnya: tanda bahwa daftar ini bisa digeser. */
    .galeri-pabrik__daftar { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: clamp(24px, 5vw, 80px); margin-inline: calc(-1 * clamp(24px, 5vw, 80px)); padding: 0 clamp(24px, 5vw, 80px) 8px; scrollbar-width: none; }
    .galeri-pabrik__daftar::-webkit-scrollbar { display: none; }
    .galeri-pabrik__daftar > li { flex: 0 0 78%; scroll-snap-align: start; }
}

/* Tampilan diperbesar */
.galeri-pabrik__dialog { width: min(1120px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); padding: 0; border: 0; border-radius: 8px; overflow: visible; background: #1f2618; color: #f9f5e4; }
.galeri-pabrik__dialog::backdrop { background: rgb(22 27 17 / 88%); }
.galeri-pabrik__dialog figure { margin: 0; }
.galeri-pabrik__dialog img { display: block; width: 100%; height: auto; max-height: calc(100vh - 130px); object-fit: contain; border-radius: 8px 8px 0 0; background: #1f2618; }
.galeri-pabrik__dialog figcaption { padding: 14px 20px 18px; font-size: var(--fs-kecil); line-height: 1.5; }
.galeri-pabrik__dialog .galeri-pabrik__tahap { display: inline; margin-right: 8px; color: #e5e8b1; }
.galeri-pabrik__tombol { position: absolute; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgb(249 245 228 / 92%); color: var(--cau-green); font: 600 var(--fs-lead)/1 var(--sans); cursor: pointer; }
.galeri-pabrik__tombol:focus-visible { outline: 2px solid var(--cau-orange); outline-offset: 2px; }
.galeri-pabrik__tombol--tutup { top: 12px; right: 12px; }
.galeri-pabrik__tombol--sebelum, .galeri-pabrik__tombol--berikut { top: calc(50% - 40px); }
.galeri-pabrik__tombol--sebelum { left: 12px; }
.galeri-pabrik__tombol--berikut { right: 12px; }

@media (prefers-reduced-motion: reduce) {
    .galeri-pabrik__daftar img { transition: none; }
    .galeri-pabrik__daftar a:hover img { transform: none; }
}
