/* ===== BACKGROUND & WARNA ===== */
body {
    background-color: #fffbe6;
}

/* ===== HERO ===== */
.hero {
    background-color: #f3e57c;
    color: #ffffff;
    padding: 100px 20px;
    text-align: center;
}

/* ===== NAVBAR ===== */
.nav-link {
    color: #666;
    font-weight: 500;
}

.navbar-box {
    background-color: #fffdf2;
    padding: 18px 0;
    margin-top: 30px;
    box-shadow: 0 4px 15px rgba(241, 196, 15, 0.25);
}

/* ===== NAVBAR HOVER & CLICK ===== */
.navbar-nav .nav-link {
    padding: 6px 14px;
    border-radius: 20px;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.12s ease;
}

.navbar-nav .nav-link:hover {
    background-color: rgba(241, 196, 15, 0.2);
    color: #f1c40f;
}

.navbar-nav .nav-link:active {
    transform: scale(1.06);
}

/* ===== GALERI NAV ===== */
.nav-pills .nav-link {
    color: #666;
    font-weight: 500;
    padding: 8px 18px;
    border-radius: 20px;
    background-color: transparent;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.12s ease;
}

.nav-pills .nav-link:hover {
    background-color: rgba(241, 196, 15, 0.2);
    color: #f1c40f;
}

.nav-pills .nav-link.active {
    background-color: rgba(241, 196, 15, 0.35);
    color: #f1c40f;
    box-shadow: 0 4px 12px rgba(241, 196, 15, 0.35);
}

.nav-pills .nav-link:active {
    transform: scale(1.06);
}

/* ===== CONTENT ===== */
.content {
    padding: 40px 20px;
}

.content-box {
    background-color: #ffffff;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 25px rgba(241, 196, 15, 0.3);
    animation: floatUp 0.4s ease-out both;
}

/* ===== HOVER CARD ===== */
.hover-card,
.karya-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
}

.hover-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 24px rgba(241, 196, 15, 0.35);
}

.hover-card {
    cursor: pointer;
    overflow: hidden;
}

.hover-card img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

.hover-card .card-body {
    padding: 8px;
    font-size: 14px;
    text-align: center;
}

.info-card {
    cursor: pointer;
    transition: 0.3s;
}

.info-card:hover {
    background-color: #f8f9fa;
    transform: translateY(-4px);
}

.karya-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 28px rgba(241, 196, 15, 0.4);
}

.modal.fade .modal-dialog {
    transition: opacity 0.15s ease, transform 0.15s ease;
    transform: scale(0.96);
}

.modal.show .modal-dialog {
    transform: scale(1);
}

.modal-backdrop {
    background-color: rgba(0,0,0,0.4);
}

.modal-backdrop.show {
    opacity: 0.35;
}

.modal img {
    max-height: 90vh;
    object-fit: contain;
}

body.modal-open .content-box {
    animation: none !important;
    transform: none !important;
}

/* ===== FOOTER ===== */
.footer {
    background-color: #fffdf2;
    padding: 25px 0;
    margin-top: 60px;
    box-shadow: 0 -4px 15px rgba(241, 196, 15, 0.2);
}

.footer p {
    color: #666;
}

/* ===== ANIMASI CONTENT BOX ===== */
@keyframes floatUp {
    from {
        transform: translateY(16px);
    }
    to {
        transform: translateY(0);
    }
}