/* =====================================================
   FINAL FIX GALERI BERANDA - SESUAIKAN FOTO
   Hilangkan ruang abu-abu atas bawah dan foto tampil utuh.
===================================================== */

/* Section Galeri tetap center */
section:has(.gallery-grid-soft),
section:has(.galeri-home-grid) {
    text-align: center !important;
}

/* Judul galeri center */
section:has(.gallery-grid-soft) .section-head-soft,
section:has(.galeri-home-grid) .galeri-home-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

section:has(.gallery-grid-soft) .home-title,
section:has(.gallery-grid-soft) .home-desc,
section:has(.galeri-home-grid) .galeri-home-head h2,
section:has(.galeri-home-grid) .galeri-home-head p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Grid galeri */
.gallery-grid-soft,
.galeri-home-grid {
    display: grid !important;
    justify-content: center !important;
    align-items: start !important;
    gap: 18px !important;
}

/* Kalau hanya 1 foto, ukuran pas dan di tengah */
.gallery-grid-soft:has(.gallery-card-soft:only-child),
.galeri-home-grid:has(.galeri-home-item:only-child) {
    grid-template-columns: minmax(320px, 680px) !important;
    justify-content: center !important;
}

/* Card foto tunggal jangan punya tinggi tetap */
.gallery-grid-soft .gallery-card-soft:only-child,
.galeri-home-grid .galeri-home-item:only-child {
    width: 100% !important;
    max-width: 680px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    padding: 0 !important;
    margin: 0 auto !important;
    border: none !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: transparent !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .12) !important;
    line-height: 0 !important;
}

/* Foto tampil sesuai rasio asli, tidak crop, tidak ada abu-abu */
.gallery-grid-soft .gallery-card-soft:only-child img,
.galeri-home-grid .galeri-home-item:only-child img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    border-radius: 18px !important;
}

/* Hilangkan efek tinggi/overlay yang bikin foto seperti masuk kotak */
.gallery-grid-soft .gallery-card-soft:only-child::before,
.gallery-grid-soft .gallery-card-soft:only-child::after,
.galeri-home-grid .galeri-home-item:only-child::before,
.galeri-home-grid .galeri-home-item:only-child::after {
    display: none !important;
}

/* Tombol lihat di tengah foto tetap rapi */
.gallery-grid-soft .gallery-card-soft:only-child .galeri-zoom-icon,
.galeri-home-grid .galeri-home-item:only-child .galeri-zoom-icon {
    line-height: normal !important;
}

/* Tombol Lihat Foto Lebih Banyak di tengah */
section:has(.gallery-grid-soft) .more-soft,
section:has(.galeri-home-grid) .galeri-home-more {
    justify-content: center !important;
    text-align: center !important;
    margin: 22px auto 0 !important;
}

/* Kalau nanti foto lebih dari 1, tetap rapi 3 kolom */
@media (min-width: 1024px) {
    .gallery-grid-soft:not(:has(.gallery-card-soft:only-child)),
    .galeri-home-grid:not(:has(.galeri-home-item:only-child)) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .gallery-grid-soft:not(:has(.gallery-card-soft:only-child)) .gallery-card-soft,
    .galeri-home-grid:not(:has(.galeri-home-item:only-child)) .galeri-home-item {
        height: 210px !important;
        border-radius: 16px !important;
        overflow: hidden !important;
    }

    .gallery-grid-soft:not(:has(.gallery-card-soft:only-child)) .gallery-card-soft img,
    .galeri-home-grid:not(:has(.galeri-home-item:only-child)) .galeri-home-item img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}

/* Mobile */
@media (max-width: 900px) {
    .gallery-grid-soft,
    .galeri-home-grid {
        grid-template-columns: 1fr !important;
    }

    .gallery-grid-soft .gallery-card-soft:only-child,
    .galeri-home-grid .galeri-home-item:only-child {
        max-width: 100% !important;
    }

    .gallery-grid-soft .gallery-card-soft:only-child img,
    .galeri-home-grid .galeri-home-item:only-child img {
        width: 100% !important;
        height: auto !important;
    }
}