body { font-family: 'Plus Jakarta Sans', sans-serif; scroll-behavior: smooth; }
.text-kolaka { color: #e11d48; }
.bg-kolaka { background-color: #e11d48; }

/* Custom Hover Nav Underline */
.nav-link { position: relative; }
.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -4px;
    left: 0;
    background-color: #e11d48;
    transition: width 0.3s ease;
}
.nav-link:hover::after { width: 100%; }

/* Desktop Dropdown Hover */
@media (min-width: 1024px) {
    .dropdown:hover .dropdown-menu { 
        display: block !important; 
        animation: slideUp 0.3s ease-out;
    }
}

@keyframes slideUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Mobile Menu Logic */
@media (max-width: 1023px) {
    #main-menu {
        display: flex !important; /* Selalu flex agar animasi jalan */
        padding-top: 5rem; /* Beri ruang agar tidak tertutup header */
        overflow-y: auto;
    }

    .hidden-menu {
        transform: translateY(-100%); /* Muncul dari atas lebih keren */
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
    }
    
    .show-menu {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }

    /* Dropdown di mobile: Rapikan agar teks putih dan center */
    .dropdown.group .dropdown-menu {
        position: static !important;
        transform: none !important;
        background: rgba(255,255,255,0.05) !important;
        width: 90% !important;
        margin: 10px auto !important;
        box-shadow: none !important;
        border: 1px solid rgba(255,255,255,0.1) !important;
    }

    .dropdown.group .dropdown-menu a {
        color: #cbd5e1 !important; /* slate-300 */
        text-align: center;
        font-size: 16px;
    }

    .dropdown.group .dropdown-menu a:hover {
        background: rgba(255,255,255,0.05) !important;
    }
}

.no-scroll { overflow: hidden; }