/* Card shell */
.galeri-card {
    border-radius: 16px;
    background: #fff;
}

/* Keep slides consistent with aspect-ratio to prevent layout jump */
#carouselPernyataan .carousel-item {
    position: relative;
}
.galeri-img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9; /* responsive height without hard-coding */
    object-fit: cover;
    object-position: center;
    transform: translateZ(0); /* GPU hint for smoother animation */
}

/* Subtle vignette for premium look */
#carouselPernyataan .carousel-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.04) 0%,
        rgba(0, 0, 0, 0.08) 50%,
        rgba(0, 0, 0, 0.18) 100%
    );
    pointer-events: none;
}

/* Smooth slide easing */
#carouselPernyataan .carousel-item {
    transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform;
}
#carouselPernyataan .active.carousel-item-start,
#carouselPernyataan .active.carousel-item-end {
    transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* Slight zoom on active image (tasteful) */
#carouselPernyataan .carousel-item.active .galeri-img {
    transform: scale(1.01);
    transition: transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* Indicators: visible on any image */
#carouselPernyataan .carousel-indicators [data-bs-target] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: rgba(17, 24, 39, 0.45); /* #111827 with transparency */
    border: 0;
}
#carouselPernyataan .carousel-indicators .active {
    background-color: #111827; /* brand solid */
}

/* Controls with better contrast & larger tap targets */
#carouselPernyataan .carousel-control-prev,
#carouselPernyataan .carousel-control-next {
    width: 3.25rem;
}
#carouselPernyataan .carousel-control-prev-icon,
#carouselPernyataan .carousel-control-next-icon {
    filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.5));
}

/* LightGallery overlay tuned darker for focus */
.lg-pernyataan .lg-backdrop {
    background-color: rgba(0, 0, 0, 0.9) !important;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    #carouselPernyataan .carousel-item,
    #carouselPernyataan .active.carousel-item-start,
    #carouselPernyataan .active.carousel-item-end {
        transition: none;
    }
}

/* Responsive refinements */
@media (max-width: 992px) {
    .galeri-card {
        border-radius: 12px;
    }
    .galeri-img {
        aspect-ratio: 16 / 10;
    }
}
@media (max-width: 576px) {
    .galeri-img {
        aspect-ratio: 4 / 3;
    }
}
