/* ------------------------------------------------------
   GLOBAL
-------------------------------------------------------*/
html {
    font-size: 90%; /* 15px f8f9fb */
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
}

body {
    background: #ededed;
    color: #333;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* ------------------------------------------------------
   MAIN + BREADCRUMB
-------------------------------------------------------*/
.main-content {
    flex-grow: 1;
    position: relative;
}

.breadcrumb {
    position: absolute;
    top: 20px;
    left: 10%;
    transform: translateX(-50%);
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(8px);
    border-radius: 10px;
    font-size: 0.9em;
    font-weight: 500;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    z-index: 10;
    display: flex;
    gap: 4px;
}

.breadcrumb a {
    text-decoration: none;
    color: #2A3A56;
    font-weight: 600;
}

.breadcrumb p {
    font-weight: 600;
}

.breadcrumb span {
    font-weight: 600;
    color: #333;
}

/* Mobile */
@media (max-width: 480px) {
    .breadcrumb {
        font-size: 0.75em;
        padding: 7px 14px;
        top: 12px;
        left: 30%;

    }
}

/* ------------------------------------------------------
   HERO SECTION
-------------------------------------------------------*/
.hero-section {
    height: 420px;
    width: 100%;
    background: linear-gradient(to bottom, #757575, #6b6b6b);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.hero-section::after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.3);
    z-index: 1;
}

.hero-section .placeholder-image {
    position: relative;
    z-index: 2;
}

.placeholder-image {
    width: 170px;
    height: 170px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4.5em;
    color: white;
    opacity: 0.85;
}

/* ------------------------------------------------------
   HERO IMAGE (1440 x 400)
-------------------------------------------------------*/
.hero-image-wrapper {
    width: 100%;
    max-width: 1440px; /* Batas maksimal lebar */
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    height: auto; /* JANGAN dikunci 400px */
}

.hero-image {
    width: 100%;
    height: auto; /* Tinggi mengikuti lebar secara proporsional */
    display: block;
    /* Kita tidak butuh object-fit: cover lagi karena tingginya sudah auto */
}

/* Overlay hitam 30% tetap ada */
.hero-image-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.1);
    z-index: 1;
    pointer-events: none;
}


@media (max-width: 768px) {
    .hero-image-wrapper {
        height: 240px;
    }
}

/* Mobile */
@media (max-width: 480px) {
    .hero-section {
        height: 240px;
    }

    .placeholder-image {
        width: 110px;
        height: 110px;
        font-size: 3em;
    }
}

/* ------------------------------------------------------
   Facilities
-------------------------------------------------------*/
    /* Custom Styling untuk Pagination agar sesuai desain Anda */
    .facility-pagination {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 12px;
        margin-top: 48px !important;
        position: static !important; /* Agar berada di bawah konten, bukan melayang */
    }

    .facility-pagination .swiper-pagination-bullet {
        width: 16px !important;
        height: 16px !important;
        background: transparent !important;
        border: 2px solid #2A3A56 !important;
        opacity: 1 !important;
        margin: 0 !important;
        transition: all 0.3s ease;
    }

    .facility-pagination .swiper-pagination-bullet-active {
        background: #2A3A56 !important;
        /* Opsional: Titik aktif dibuat sedikit lebih lebar (pill style) */
        width: 32px !important;
        border-radius: 20px !important;
    }

    /* Memastikan gambar tetap proporsional */
    .facility-img-container {
        box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    }

@keyframes infinite-scroll {
    from {
        transform: translateX(0);
    }
    to {
        /* Geser sejauh setengah dari total lebar container (karena kita menduplikasi list) */
        transform: translateX(calc(-50% - 20px));
    }
}

.animate-infinite-scroll {
    display: flex;
    width: max-content;
    /* Kecepatan 30 detik, sesuaikan jika ingin lebih cepat/lambat */
    animation: infinite-scroll 40s linear infinite;
}

/* Berhenti bergerak saat kursor diarahkan ke logo (opsional, agar mudah diklik) */
.animate-infinite-scroll:hover {
    animation-play-state: paused;
}




